aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/CactusBoundary.m
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/CodeGen/CactusBoundary.m')
-rw-r--r--Tools/CodeGen/CactusBoundary.m26
1 files changed, 15 insertions, 11 deletions
diff --git a/Tools/CodeGen/CactusBoundary.m b/Tools/CodeGen/CactusBoundary.m
index 090151c..610987b 100644
--- a/Tools/CodeGen/CactusBoundary.m
+++ b/Tools/CodeGen/CactusBoundary.m
@@ -69,7 +69,7 @@ GetScheduledGroups[thornName_] :=
{Name -> "ApplyBCs",
Language -> "None", (* groups do not have a language *)
SchedulePoint -> "as " <> thornName <> "_ApplyBCs in MoL_PostStep "
- <> " after " <> boundariesName[thornName],
+ <> "after " <> boundariesName[thornName],
Comment -> "Apply boundary conditions "
<> "controlled by thorn Boundary"
}
@@ -95,10 +95,10 @@ GetScheduledFunctions[thornName_, evolvedGroups_] :=
}
};
-createBoundTypeParam[groupOrGF_] := {
+createBoundTypeParam[groupOrGF_, def_] := {
Name -> ToString@groupOrGF <> "_bound",
Type -> "KEYWORD",
- Default -> "skip",
+ Default -> def,
Description -> "Boundary condition to implement",
Visibility -> "private",
AllowedValues -> {
@@ -108,8 +108,9 @@ createBoundTypeParam[groupOrGF_] := {
{Value -> "radiative", Description -> "Radiation boundary condition"},
{Value -> "scalar", Description -> "Dirichlet boundary condition"},
{Value -> "newrad", Description -> "Improved radiative boundary condition"},
- {Value -> "skip", Description -> "skip boundary condition code"}
-}};
+ {Value -> "skip", Description -> "skip boundary condition code"}},
+ Steerable -> Always
+};
createBoundSpeedParam[groupOrGF_] := {
@@ -119,7 +120,8 @@ createBoundSpeedParam[groupOrGF_] := {
Description -> "characteristic speed at boundary",
Visibility -> "private",
AllowedValues -> {{Value -> "0:*" ,
- Description -> "outgoing characteristic speed > 0"}}
+ Description -> "outgoing characteristic speed > 0"}},
+ Steerable -> Always
};
createBoundLimitParam[groupOrGF_] := {
@@ -129,7 +131,8 @@ createBoundLimitParam[groupOrGF_] := {
Description -> "limit value for r -> infinity",
Visibility -> "private",
AllowedValues -> {{Value -> "*:*" ,
- Description -> "value of limit value is unrestricted"}}
+ Description -> "value of limit value is unrestricted"}},
+ Steerable -> Always
};
createBoundScalarParam[groupOrGF_] := {
@@ -139,12 +142,13 @@ createBoundScalarParam[groupOrGF_] := {
Description -> "Dirichlet boundary value",
Visibility -> "private",
AllowedValues -> {{Value -> "*:*" ,
- Description -> "unrestricted"}}
+ Description -> "unrestricted"}},
+ Steerable -> Always
};
GetParameters[evolvedGFs_, evolvedGroups_] :=
- Join[Map[createBoundTypeParam, evolvedGFs],
- Map[createBoundTypeParam, Map[unqualifiedGroupName,evolvedGroups]],
+ Join[Map[createBoundTypeParam[#,"skip"] &, evolvedGFs],
+ Map[createBoundTypeParam[#,"none"] &, Map[unqualifiedGroupName,evolvedGroups]],
Map[createBoundSpeedParam, evolvedGFs],
Map[createBoundSpeedParam, Map[unqualifiedGroupName,evolvedGroups]],
@@ -169,7 +173,7 @@ GetSources[evolvedGroups_, groups_, implementation_, thornName_] :=
ExcisionGFs -> evolvedGFs
};
- Return[{{Filename -> "Boundaries.c",
+ Return[{{Filename -> "Boundaries.cc",
Contents -> CreateMoLBoundariesSource[boundarySpec]}}]];
End[];