From c178d4707d65c1402b41289b70da72e8347dabc5 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Wed, 11 Sep 2013 17:12:46 +0200 Subject: Determine evolved groups using MoLEvolved group option rather than passing list --- Tools/CodeGen/MoL.m | 14 ++++++++++++-- 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]]; -- cgit v1.2.3