aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 18:34:56 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 18:34:56 +0200
commitcf78f88818d86cb32cce6eabb7b0fb7fcb2414d5 (patch)
tree08fa86d52722e164fdce5589677fa567162b963d
parent32d0ab3bffed254af57e5842eebe8a264bce9421 (diff)
Move Jacobian checking call from KrancThorn.m to Jacobian.m
-rw-r--r--Tools/CodeGen/Jacobian.m13
-rw-r--r--Tools/CodeGen/KrancThorn.m4
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