diff options
-rw-r--r-- | Tools/CodeGen/MoL.m | 14 | ||||
-rw-r--r-- | Tools/CodeGen/Param.m | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/Tools/CodeGen/MoL.m b/Tools/CodeGen/MoL.m index 8632ca9..a71a185 100644 --- a/Tools/CodeGen/MoL.m +++ b/Tools/CodeGen/MoL.m @@ -618,10 +618,20 @@ DefFn[ groups2]]; DefFn[ - MoLParameterStructures[thornName_, declaredGroups_, evolvedGroups_, evolvedODEGroups_, groups_, evolutionTimelevels_, + MoLParameterStructures[thornName_, declaredGroups_, groups_, evolutionTimelevels_, defaultEvolutionTimelevels_] := Module[ - {nEvolved, nevolvedODE}, + {allEvolvedGroups, evolvedODEGroups, evolvedGroups, nEvolved, nevolvedODE}, + + allEvolvedGroups = + Select[declaredGroups, lookup[GroupExtras[groupFromName[#,groups]], MoLEvolved, False] &]; + + evolvedODEGroups = + Select[allEvolvedGroups, + (lookup[GroupExtras[groupFromName[#,groups]], GridType, "GF"] === "array") &]; + + evolvedGroups = Complement[allEvolvedGroups, evolvedODEGroups]; + nEvolved = Length[variablesFromGroups[evolvedGroups, groups]]; (* nPrimitive = Length[variablesFromGroups[nonevolvedGroups, groups]];*) (* nPrimitive = Length[getConstrainedVariables[evolvedGroups, groups]];*) diff --git a/Tools/CodeGen/Param.m b/Tools/CodeGen/Param.m index 57901d3..b21bff1 100644 --- a/Tools/CodeGen/Param.m +++ b/Tools/CodeGen/Param.m @@ -367,7 +367,7 @@ CreateKrancParam[declaredGroups_, evolvedGroups_, evolvedODEGroups_, groups_, params = Join[commonParameterStructures[evolutionTimelevels], userParameterStructs[parameters], MoLParameterStructures[ - thornName, declaredGroups, evolvedGroups, evolvedODEGroups, groups, + thornName, declaredGroups, groups, evolutionTimelevels, defaultEvolutionTimelevels], calculationParameterStructures[calcs], CactusBoundary`GetParameters[variablesFromGroups[evolvedGroups, groups], evolvedGroups]]; |