From 19fe552d0679b1c4b496168b17939780c47b6de5 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Mon, 27 Sep 2010 19:29:09 +0100 Subject: Add Euler equation (very preliminary) --- Examples/kranc.th | 1 + 1 file changed, 1 insertion(+) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 0a5a3ce..4f87e79 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -63,3 +63,4 @@ KrancNumericalTools/GenericFD KrancExamples/Wave KrancExamples/SimpleWave KrancExamples/EM +KrancExamples/Euler -- cgit v1.2.3 From 08191f916f4747620b2c056173c143ee83384322 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Tue, 28 Sep 2010 14:25:18 +0100 Subject: kranc.th: Add dissipation thorn and include only Euler example --- Examples/kranc.th | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 4f87e79..5b75a27 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -32,6 +32,9 @@ CactusBase/Time CactusNumerical/MoL CactusNumerical/Periodic CactusNumerical/Slab +CactusNumerical/Dissipation +CactusNumerical/SpaceMask +CactusNumerical/SphericalSurface CactusUtils/NaNChecker @@ -60,7 +63,4 @@ Carpet/LoopControl # Kranc support thorn KrancNumericalTools/GenericFD -KrancExamples/Wave -KrancExamples/SimpleWave -KrancExamples/EM -KrancExamples/Euler +KrancHydroExamples/Euler -- cgit v1.2.3 From 8ef294bcdc0cb258b6302457376cfaf1ddae6082 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Wed, 29 Sep 2010 00:53:51 +0100 Subject: kranc.th: Add Advect and Burgers --- Examples/kranc.th | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 5b75a27..706ef9a 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -64,3 +64,5 @@ Carpet/LoopControl # Kranc support thorn KrancNumericalTools/GenericFD KrancHydroExamples/Euler +KrancHydroExamples/Advect +KrancHydroExamples/Burgers -- cgit v1.2.3 From 402afd2804f6e21d71299e658f9020c5d031f4ba Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Thu, 30 Sep 2010 00:58:57 +0100 Subject: kranc.th: Use KrancHydroNumericalTools to pick up the right branch --- Examples/kranc.th | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 706ef9a..059a6f4 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -62,7 +62,7 @@ Carpet/CarpetSlab Carpet/LoopControl # Kranc support thorn -KrancNumericalTools/GenericFD +KrancHydroNumericalTools/GenericFD KrancHydroExamples/Euler KrancHydroExamples/Advect KrancHydroExamples/Burgers -- cgit v1.2.3 From df3be60ba02f2fda4404a98841d9a6ab90d42802 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Fri, 1 Oct 2010 10:02:33 +0200 Subject: kranc.th: Add EulerAuto example --- Examples/kranc.th | 1 + 1 file changed, 1 insertion(+) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 059a6f4..aa6905a 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -64,5 +64,6 @@ Carpet/LoopControl # Kranc support thorn KrancHydroNumericalTools/GenericFD KrancHydroExamples/Euler +KrancHydroExamples/EulerAuto KrancHydroExamples/Advect KrancHydroExamples/Burgers -- cgit v1.2.3 From 763e38daee0f8808d1497e78e75a91fe8dfd3fc7 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Fri, 3 Jun 2011 18:11:41 +0200 Subject: Temporary commit --- .../GenericFD/src/MathematicaCompat.h | 2 +- Examples/EulerSR.m | 8 +++-- Examples/kranc.th | 18 ++++++---- Tools/CodeGen/ConservationCalculation.m | 39 +++++++++++++--------- Tools/CodeGen/Kranc.m | 2 +- Tools/CodeGen/KrancThorn.m | 5 ++- 6 files changed, 46 insertions(+), 28 deletions(-) (limited to 'Examples/kranc.th') diff --git a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h index bf5936d..86b70eb 100644 --- a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h +++ b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h @@ -49,4 +49,4 @@ #define Pi 3.14159265358979323846264d0 #endif -#define UnitStep(x) ( (x) > 0 ? 1 : 0 ) +#define StepFunction(x) ( (x) > 0 ? 1 : 0 ) diff --git a/Examples/EulerSR.m b/Examples/EulerSR.m index 2c58c96..e868742 100644 --- a/Examples/EulerSR.m +++ b/Examples/EulerSR.m @@ -109,7 +109,10 @@ eulerCons = pBar -> p, (* from previous timestep *) (* Start loop *) - Sequence@@Join@@Table[ + f -> 10, + + Sequence@@Map[#[[1]] -> IfThen[f > 10.^-12, #[[2]], #[[1]]] &, + {Z -> tau + Den + pBar, Ssq -> S[li] S[lj] Euc[ui,uj], vsq -> Ssq/Z^2, @@ -121,8 +124,7 @@ eulerCons = f -> pEOS - pBar, cs -> Sqrt[gamma (gamma-1) epsi/h], df -> vsq cs^2 - 1, - pBar -> pBar - f/df}, - {i, 1, 5}], + pBar -> pBar - f/df}], (* end of loop *) diff --git a/Examples/kranc.th b/Examples/kranc.th index aa6905a..05eff76 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -22,10 +22,10 @@ CactusBase/Boundary CactusBase/CartGrid3D CactusBase/CoordBase CactusBase/Fortran -CactusBase/IOBasic +# CactusBase/IOBasic CactusBase/IOUtil CactusBase/InitBase -CactusBase/LocalInterp +#CactusBase/LocalInterp CactusBase/SymBase CactusBase/Time @@ -63,7 +63,13 @@ Carpet/LoopControl # Kranc support thorn KrancHydroNumericalTools/GenericFD -KrancHydroExamples/Euler -KrancHydroExamples/EulerAuto -KrancHydroExamples/Advect -KrancHydroExamples/Burgers +# KrancHydroExamples/Euler +# KrancHydroExamples/EulerAuto +KrancHydroExamples/EulerSR +# KrancHydroExamples/Advect +# KrancHydroExamples/Burgers + +Carpet/CarpetIOHDF5 +ExternalLibraries/HDF5 +ExternalLibraries/zlib +CactusUtils/TimerReport diff --git a/Tools/CodeGen/ConservationCalculation.m b/Tools/CodeGen/ConservationCalculation.m index fc7af04..9e5ac3f 100644 --- a/Tools/CodeGen/ConservationCalculation.m +++ b/Tools/CodeGen/ConservationCalculation.m @@ -89,23 +89,27 @@ consVars[calc_] := (* Return the list of variables to reconstruct in a calculation *) primitiveVars[calc_] := - Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, - allGFs = allGroupVariables[lookup[calc, Groups]]; - calcSyms = calculationSymbols[calc]; - gfsUsed = Intersection[allGFs, calcSyms]; - conserved = consVars[calc]; - primitive = Complement[gfsUsed, conserved]; - primitive]; + lookup[calc, Primitives]; + + (* Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, *) + (* allGFs = allGroupVariables[lookup[calc, Groups]]; *) + (* calcSyms = calculationSymbols[calc]; *) + (* gfsUsed = Intersection[allGFs, calcSyms]; *) + (* conserved = consVars[calc]; *) + (* primitive = Complement[gfsUsed, conserved]; *) + (* primitive]; *) (* Return the variables for which Left and Right GFs need to be created *) lrGFs[calc_] := - Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, - allGFs = allGroupVariables[lookup[calc, Groups]]; - calcSyms = calculationSymbols[calc]; - gfsUsed = Intersection[allGFs, calcSyms]; - conserved = consVars[calc]; - primitive = Complement[gfsUsed, conserved]; - Join[primitive, conserved]]; + Join[primitiveVars[calc], consVars[calc]]; + + (* Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, *) + (* allGFs = allGroupVariables[lookup[calc, Groups]]; *) + (* calcSyms = calculationSymbols[calc]; *) + (* gfsUsed = Intersection[allGFs, calcSyms]; *) + (* conserved = consVars[calc]; *) + (* primitive = Complement[gfsUsed, conserved]; *) + (* Join[primitive, conserved]]; *) reconstructCalc[calc_, i_] := { @@ -162,14 +166,16 @@ primitivesCalc[calc_, thornName_] := { Name -> lookup[calc, Name] <> "_primitives", Schedule -> {"in MoL_PostStep after " <> thornName <>"_ApplyBCs"}, - Equations -> lookup[calc, PrimitiveEquations] + Equations -> lookup[calc, PrimitiveEquations], + Shorthands -> lookup[calc, Shorthands] }; conservedCalc[calc_] := { Name -> lookup[calc, Name] <> "_conserved", Schedule -> {"at POSTINITIAL"}, - Equations -> lookup[calc, ConservedEquations] + Equations -> lookup[calc, ConservedEquations], + Shorthands -> lookup[calc, Shorthands] }; conservedIntercellCalc[calc_, i_] := @@ -177,6 +183,7 @@ conservedIntercellCalc[calc_, i_] := Name -> lookup[calc, Name] <> "_intercell_conserved_" <> ToString[i], Schedule -> {"in MoL_CalcRHS after " <> lookup[calc, Name] <> "_reconstruct_" <> ToString[i]}, + Shorthands -> lookup[calc, Shorthands], Equations -> Module[{vars = Join[primitiveVars[calc], consVars[calc]]}, Join[lookup[calc, ConservedEquations] /. (Map[# -> leftSymbol[#] &, vars]), diff --git a/Tools/CodeGen/Kranc.m b/Tools/CodeGen/Kranc.m index d09031d..2224d18 100644 --- a/Tools/CodeGen/Kranc.m +++ b/Tools/CodeGen/Kranc.m @@ -85,7 +85,7 @@ Contents, ThornName, BaseImplementation, EvolvedGFs, PrimitiveGFs, Groups, Calculation, GridFunctions, Shorthands, Equations, Parameter, Value, UsesFunctions, ArgString, Conditional, Conditionals, D1, D2, D3, D11, D22, D33, D21, D31, D32, Textual, TriggerGroups, Include, RHSGroups, Tags, -Steerable, Never, Always, Recover}; +Steerable, Never, Always, Recover, Primitives}; {ExcisionGFs}; diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m index c2e1289..d41fb51 100644 --- a/Tools/CodeGen/KrancThorn.m +++ b/Tools/CodeGen/KrancThorn.m @@ -343,6 +343,8 @@ CreateKrancThornTT[groups_, parentDirectory_, thornName_, opts___] := expCalcs = Map[makeCalculationExplicit, calcs]; expConsCalcs = Map[makeCalculationExplicit, consCalcs]; + Print[expConsCalcs]; + InfoMessage[Info, "Group definitions:", groups]; expDerivs = Flatten[Map[MakeExplicit,derivs],1]; @@ -378,7 +380,8 @@ makeCalculationExplicit[calc_] := CollectList -> MakeExplicit, Equations -> MakeExplicit, PrimitiveEquations -> MakeExplicit, - ConservedEquations -> MakeExplicit}]; + ConservedEquations -> MakeExplicit, + Primitives -> MakeExplicit}]; makeGroupExplicit[g_] := Module[{variables, newVariables, newGroup}, -- cgit v1.2.3 From ba85f68deadbbf48808cb0c6b7ecd04b34eefcef Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Thu, 15 Dec 2011 19:04:09 +0100 Subject: kranc.th: Add Vectors thorn needed by latest Carpet --- Examples/kranc.th | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 05eff76..57a6808 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -61,6 +61,8 @@ Carpet/CarpetReduce Carpet/CarpetSlab Carpet/LoopControl +LSUThorns/Vectors + # Kranc support thorn KrancHydroNumericalTools/GenericFD # KrancHydroExamples/Euler -- cgit v1.2.3 From 6a6f018025b91e9d018e16bd250b261afdb869a4 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Thu, 15 Dec 2011 19:04:22 +0100 Subject: kranc.th: Re-enable all hydro thorns --- Examples/kranc.th | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Examples/kranc.th') diff --git a/Examples/kranc.th b/Examples/kranc.th index 57a6808..7576345 100644 --- a/Examples/kranc.th +++ b/Examples/kranc.th @@ -65,11 +65,11 @@ LSUThorns/Vectors # Kranc support thorn KrancHydroNumericalTools/GenericFD -# KrancHydroExamples/Euler -# KrancHydroExamples/EulerAuto +KrancHydroExamples/Euler +KrancHydroExamples/EulerAuto KrancHydroExamples/EulerSR -# KrancHydroExamples/Advect -# KrancHydroExamples/Burgers +KrancHydroExamples/Advect +KrancHydroExamples/Burgers Carpet/CarpetIOHDF5 ExternalLibraries/HDF5 -- cgit v1.2.3