diff options
Diffstat (limited to 'Tools/CodeGen/KrancThorn.m')
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 54 |
1 files changed, 1 insertions, 53 deletions
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m index 963fdc7..8231a3a 100644 --- a/Tools/CodeGen/KrancThorn.m +++ b/Tools/CodeGen/KrancThorn.m @@ -235,59 +235,7 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[ MoL ------------------------------------------------------------------------ *) - Module[ - {evolvedGroups, nonevolvedGroups, evolvedODEGroups, - nonevolvedODEGroups, rhsGroupDefinitions, - rhsODEGroupDefinitions, rhsGroups, rhsODEGroups, - - groups, declaredGroups, calcs, odeGroups}, - - groups = GetObjectField[c, "Groups"]; - declaredGroups = GetObjectField[c, "DeclaredGroups"]; - calcs = GetObjectField[c, "Calculations"]; - odeGroups = GetObjectField[c, "ODEGroups"]; - - groups = MoLProcessGroups[declaredGroups, - calcs, groups, GetObjectField[c,"EvolutionTimelevels"]]; - - (* Get the different types of group *) - evolvedGroups = MoLEvolvedGroups[declaredGroups, calcs, groups]; - nonevolvedGroups = MoLNonevolvedGroups[declaredGroups, calcs, groups]; - - evolvedODEGroups = MoLEvolvedGroups[odeGroups, calcs, groups]; - nonevolvedODEGroups = MoLNonevolvedGroups[odeGroups, calcs, groups]; - - (* Replace the dots in the calculation *) - calcs = MoLReplaceDots[calcs]; - - rhsGroupDefinitions = MoLRHSGroupDefinitions[groups, evolvedGroups]; - rhsODEGroupDefinitions = MoLRHSODEGroupDefinitions[groups, evolvedODEGroups]; - - (* Add the RHS groups *) - groups = Join[groups, rhsGroupDefinitions, rhsODEGroupDefinitions]; - - rhsGroups = Map[groupName, rhsGroupDefinitions]; - rhsODEGroups = Map[groupName, rhsODEGroupDefinitions]; - - (* This possibly shouldn't be in MoL but under ODEs instead *) - calcs = Map[Append[#, ODEGroups -> Join[odeGroups, rhsODEGroups]] &, calcs]; - - declaredGroups = Join[declaredGroups, rhsGroups, odeGroups, rhsODEGroups]; - - InfoMessage[Terse, "Creating MoL registration file"]; - (* TODO: only do this for thorns with evolved variables *) - - c = SetObjectField[c, "Groups", groups]; - c = SetObjectField[c, "DeclaredGroups", declaredGroups]; - c = SetObjectField[c, "Calculations", calcs]; - c = AppendObjectField[ - c, "Sources", - {Filename -> "RegisterMoL.cc", - Contents -> CreateKrancMoLRegister[ - evolvedGroups, nonevolvedGroups, evolvedODEGroups, - nonevolvedODEGroups, - Sequence@@(GetObjectField[c,#]& /@ - {"Groups", "Implementation", "Name"})]}]]; + c = MoLProcessCode[c, opts]; (* ------------------------------------------------------------------------ Add options to calculations |