aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--param.ccl22
-rw-r--r--schedule.ccl40
2 files changed, 53 insertions, 9 deletions
diff --git a/param.ccl b/param.ccl
index 7a0e27e..7e08c53 100644
--- a/param.ccl
+++ b/param.ccl
@@ -35,28 +35,38 @@ KEYWORD initial_dtshift "Initial dtshift value"
KEYWORD evolution_method "The metric an extrinsic curvature evolution method"
{
- "none" :: "The metric and extrinsic curvature are not evolved"
- "static" :: "The metric and extrinsic curvature are not evolved"
+ "none" :: "The metric and extrinsic curvature are not evolved"
+ "static" :: "The metric and extrinsic curvature are not evolved"
+ "ID-apply-regrid" :: "The metric and extrinsic curvature are not evolved and initial data is used to fill in new grid points after regridding"
+ "ID-apply-always" :: "The metric and extrinsic curvature are not evolved and initial data is used to fill in new grid points before each step and after grid changes"
} "static"
KEYWORD lapse_evolution_method "The lapse evolution method"
{
- "static" :: "lapse is not evolved"
+ "static" :: "lapse is not evolved"
+ "ID-apply-regrid" :: "lapse is not evolved and initial data is used to fill in new grid points after regridding"
+ "ID-apply-always" :: "lapse is not evolved and initial data is used to fill in new grid points before each step and after grid changes"
} "static"
KEYWORD shift_evolution_method "The shift evolution method"
{
- "static" :: "shift is not evolved"
+ "static" :: "shift is not evolved"
+ "ID-apply-regrid" :: "shift is not evolved and initial data is used to fill in new grid points after regridding"
+ "ID-apply-always" :: "shift is not evolved and initial data is used to fill in new grid points before each step and after grid changes"
} "static"
KEYWORD dtlapse_evolution_method "The dtlapse evolution method"
{
- "static" :: "dtlapse is not evolved"
+ "static" :: "dtlapse is not evolved"
+ "ID-apply-regrid" :: "dtlapse is not evolved and initial data is used to fill in new grid points after regridding"
+ "ID-apply-always" :: "dtlapse is not evolved and initial data is used to fill in new grid points before each step and after grid changes"
} "static"
KEYWORD dtshift_evolution_method "The dtshift evolution method"
{
- "static" :: "shift is not evolved"
+ "static" :: "shift is not evolved"
+ "ID-apply-regrid" :: "dtshift is not evolved and initial data is used to fill in new grid points after regridding"
+ "ID-apply-always" :: "dtshift is not evolved and initial data is used to fill in new grid points before each step and after grid changes"
} "static"
diff --git a/schedule.ccl b/schedule.ccl
index 3570aff..ae1c1b8 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -196,7 +196,8 @@ if (CCTK_Equals(initial_dtshift, "zero"))
-if (CCTK_Equals(lapse_evolution_method, "static"))
+if (CCTK_Equals(lapse_evolution_method, "static") ||
+ CCTK_Equals(lapse_evolution_method, "ID-apply-always"))
{
SCHEDULE ADMBase_LapseStatic in CCTK_PRESTEP
{
@@ -204,7 +205,8 @@ if (CCTK_Equals(lapse_evolution_method, "static"))
} "Copy the lapse to the current time level"
}
-if (CCTK_Equals(shift_evolution_method, "static"))
+if (CCTK_Equals(shift_evolution_method, "static") ||
+ CCTK_Equals(shift_evolution_method, "ID-apply-always"))
{
SCHEDULE ADMBase_ShiftStatic in CCTK_PRESTEP
{
@@ -212,7 +214,9 @@ if (CCTK_Equals(shift_evolution_method, "static"))
} "Copy the shift to the current time level"
}
-if (CCTK_Equals(evolution_method, "static") || CCTK_Equals(evolution_method, "none"))
+if (CCTK_Equals(evolution_method, "static") ||
+ CCTK_Equals(evolution_method, "none") ||
+ CCTK_Equals(evolution_method, "ID-apply-always"))
{
SCHEDULE ADMBase_Static in CCTK_PRESTEP
{
@@ -248,6 +252,36 @@ if (CCTK_Equals(evolution_method, "static") || CCTK_Equals(evolution_method, "no
}
+if (CCTK_Equals(evolution_method, "ID-apply-regrid") ||
+ CCTK_Equals(evolution_method, "ID-apply-always"))
+{
+ SCHEDULE group ADMBase_InitialData at CCTK_POSTREGRID
+ {
+ } "Schedule group for calculating ADM initial data"
+
+ SCHEDULE group ADMBase_InitialData at CCTK_POSTREGRIDINITIAL
+ {
+ } "Schedule group for calculating ADM initial data"
+}
+
+if (CCTK_Equals(lapse_evolution_method, "ID-apply-regrid") ||
+ CCTK_Equals(shift_evolution_method, "ID-apply-regrid") ||
+ CCTK_Equals(dtlapse_evolution_method, "ID-apply-regrid") ||
+ CCTK_Equals(dtshift_evolution_method, "ID-apply-regrid") ||
+ CCTK_Equals(lapse_evolution_method, "ID-apply-always") ||
+ CCTK_Equals(shift_evolution_method, "ID-apply-always") ||
+ CCTK_Equals(dtlapse_evolution_method, "ID-apply-always") ||
+ CCTK_Equals(dtshift_evolution_method, "ID-apply-always"))
+{
+ SCHEDULE group ADMBase_InitialGauge at CCTK_POSTREGRID after ADMBase_InitialData BEFORE MoL_PostStep
+ {
+ } "Schedule group for the ADM initial gauge condition"
+
+ SCHEDULE group ADMBase_InitialGauge at CCTK_POSTREGRIDINITIAL after ADMBase_InitialData BEFORE MoL_PostStep
+ {
+ } "Schedule group for the ADM initial gauge condition"
+}
+
# TODO: Rename this group to "ADMBase_HaveBeenSet"?
SCHEDULE GROUP ADMBase_SetADMVars IN MoL_PostStep
{