diff options
-rw-r--r-- | Tools/CodeGen/Jacobian.m | 13 | ||||
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 4 |
2 files changed, 14 insertions, 3 deletions
diff --git a/Tools/CodeGen/Jacobian.m b/Tools/CodeGen/Jacobian.m index ea74e05..db787b6 100644 --- a/Tools/CodeGen/Jacobian.m +++ b/Tools/CodeGen/Jacobian.m @@ -19,7 +19,7 @@ *) BeginPackage["Jacobian`", {"Errors`", "Helpers`", "Kranc`", "Differencing`", "MapLookup`", - "CodeGen`", "CodeGenC`", "KrancGroups`"}]; + "CodeGen`", "CodeGenC`", "KrancGroups`", "Code`", "Object`"}]; JacobianQ; InsertJacobian; @@ -29,6 +29,7 @@ JacobianSymbols; JacobianGroups; JacobianCheckGroups; JacobianConditionalGridFunctions; +JacobianProcessCode; Begin["`Private`"]; @@ -194,6 +195,16 @@ JacobianConditionalGridFunctions[] := "use_jacobian", None}; +Options[JacobianProcessCode] = ThornOptions; + +DefFn[ + JacobianProcessCode[c_Code, opts:OptionsPattern[]] := + Module[ + {}, + If[OptionValue[UseJacobian], + JacobianCheckGroups[GetObjectField[c, "Groups"]]]; + c]]; + End[]; EndPackage[]; diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m index 5125290..0011e37 100644 --- a/Tools/CodeGen/KrancThorn.m +++ b/Tools/CodeGen/KrancThorn.m @@ -190,10 +190,10 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[ GetObjectField[c, "Calculations"]],1]]]]; (* ------------------------------------------------------------------------ - Check input parameters + Jacobian ------------------------------------------------------------------------ *) - If[OptionValue[UseJacobian], JacobianCheckGroups[GetObjectField[c, "Groups"]]]; + c = JacobianProcessCode[c, opts]; (* ------------------------------------------------------------------------ Conservation Calculations |