diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-11 14:59:32 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-11 14:59:32 +0200 |
commit | 686470eddf04222f46b33b26d5fe2a0a2569e2aa (patch) | |
tree | 093b315b1051d01ec450dccb51a2cca268e7ad17 | |
parent | 5c0496c72c9942a05cc0d69faa7320cdc73734a2 (diff) |
Param.m: Move user parameter structure generation into a separate function
-rw-r--r-- | Tools/CodeGen/Param.m | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/Tools/CodeGen/Param.m b/Tools/CodeGen/Param.m index db44b61..d3f3152 100644 --- a/Tools/CodeGen/Param.m +++ b/Tools/CodeGen/Param.m @@ -322,6 +322,16 @@ DefFn[ Join[userImplementations, userImplementations2, {genericfdStruct, MoLUsedParameters[]}]]]; +DefFn[ + userParameterStructs[parameters_] := + Join[ + Map[krancParamStruct[#, "CCTK_REAL", False] &, + realParameterDefinitions[parameters]], + Map[krancParamStruct[#, "CCTK_INT", False] &, + integerParameterDefinitions[parameters]], + Map[krancKeywordParamStruct, keywordParameterDefinitions[parameters]]]]; + + Options[CreateKrancParam] = ThornOptions; CreateKrancParam[evolvedGroups_, nonevolvedGroups_, evolvedODEGroups_, nonevolvedODEGroups_, groups_, thornName_, @@ -329,8 +339,7 @@ CreateKrancParam[evolvedGroups_, nonevolvedGroups_, evolutionTimelevels_, defaultEvolutionTimelevels_, calcs_, opts:OptionsPattern[]] := Module[ - {evolvedGFs, otherTimelevelsParam, genericfdStruct, realStructs, - intStructs, keywordStructs, verboseStruct, calcEveryStructs, calcOffsetStructs, + {evolvedGFs, otherTimelevelsParam, genericfdStruct, verboseStruct, calcEveryStructs, calcOffsetStructs, allInherited, allExtended, implementationNames, userImplementations, userImplementations2, implementations, params, paramspec, param}, @@ -352,20 +361,12 @@ CreateKrancParam[evolvedGroups_, nonevolvedGroups_, Steerable -> Recover }; - realStructs = Map[krancParamStruct[#, "CCTK_REAL", False] &, - realParameterDefinitions[parameters]]; - intStructs = Map[krancParamStruct[#, "CCTK_INT", False] &, - integerParameterDefinitions[parameters]]; - keywordStructs = Map[krancKeywordParamStruct, keywordParameterDefinitions[parameters]]; - - userStructs = Join[realStructs, intStructs, keywordStructs]; - verboseStruct = krancParamStruct[{Name -> "verbose", Default -> 0, Steerable -> Always}, "CCTK_INT", False]; calcEveryStructs = Map[krancParamStruct[{Name -> lookup[#, Name] <> "_calc_every", Default -> 1, Steerable -> Always}, "CCTK_INT", False] &, calcs]; calcOffsetStructs = Map[krancParamStruct[{Name -> lookup[#, Name] <> "_calc_offset", Default -> 0, Steerable -> Always}, "CCTK_INT", False] &, calcs]; params = Join[{verboseStruct}, - userStructs, + userParameterStructs[parameters], MoLParameterStructures[ thornName, evolvedGroups, evolvedODEGroups, groups, evolutionTimelevels, defaultEvolutionTimelevels], |