aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
authorschnetter <schnetter@80bd93c7-81bc-453a-9e3f-619c0b4f6fe4>2008-04-07 03:28:24 +0000
committerschnetter <schnetter@80bd93c7-81bc-453a-9e3f-619c0b4f6fe4>2008-04-07 03:28:24 +0000
commit03a581d1ccebd4b674816f12a86180c394f0041a (patch)
treebcfb6353299bd52ff881f80906ca53b924d72f48 /schedule.ccl
parent2ba2eed6221f8801f74b9e54628365e45ee81441 (diff)
Update thorn ADMAnalysis to make it work better with mesh refinement.
We applied similar changes to ADMConstraints some time ago. Set prolongation types of all grid functions. Allow the Ricci tensor to have 3 time levels, so that its boundaries can be interpolated. Add parameters ricci_persist, ricci_timelevels, and ricci_prolongation_type to specify how the boundaries are treated. The default is to do nothing on mesh refinement boundaries, keeping the old behaviour. Select Ricci tensor boundary conditions in level mode in a new routine. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/ADMAnalysis/trunk@52 80bd93c7-81bc-453a-9e3f-619c0b4f6fe4
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl63
1 files changed, 56 insertions, 7 deletions
diff --git a/schedule.ccl b/schedule.ccl
index abc354a..da09739 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -38,18 +38,67 @@ SCHEDULE ADMAnalysis_CurvCartToSphere AT CCTK_ANALYSIS
SYNC:spherical_curv
} "Calculate the spherical ex. curvature in r, theta(q), phi(p)"
-SCHEDULE GROUP RicciGroup at CCTK_ANALYSIS
+
+
+if (ricci_persist)
{
- STORAGE: ricci_tensor, ricci_scalar, detofg
- TRIGGERS: ricci_tensor, ricci_scalar
-} "Calculate Ricci tensor, with boundary conditions"
+ if (ricci_timelevels == 1)
+ {
+ STORAGE: ricci_tensor[1], ricci_scalar[1]
+ }
+ else if (ricci_timelevels == 2)
+ {
+ STORAGE: ricci_tensor[2], ricci_scalar[2]
+ }
+ else if (ricci_timelevels == 3)
+ {
+ STORAGE: ricci_tensor[3], ricci_scalar[3]
+ }
+
+ SCHEDULE GROUP RicciGroup at CCTK_POSTINITIAL after (MoL_PostStep MoL_PostInitial)
+ {
+ STORAGE: detofg
+ } "Calculate Ricci tensor, with boundary conditions"
+
+ SCHEDULE GROUP RicciGroup at CCTK_EVOL after MoL_Evolution
+ {
+ STORAGE: detofg
+ } "Calculate Ricci tensor, with boundary conditions"
+
+ SCHEDULE GROUP RicciBoundariesGroup at CCTK_POSTREGRID
+ {
+ STORAGE: detofg
+ } "Set Ricci tensor on the boundary"
+
+ SCHEDULE GROUP RicciBoundariesGroup at CCTK_POSTRESTRICT
+ {
+ } "Set Ricci tensor on the boundary"
+}
+else
+{
+ SCHEDULE GROUP RicciGroup at CCTK_ANALYSIS
+ {
+ STORAGE: ricci_tensor[1], ricci_scalar[1], detofg
+ TRIGGERS: ricci_tensor, ricci_scalar
+ } "Calculate Ricci tensor, with boundary conditions"
+}
SCHEDULE ADMAnalysis_Ricci in RicciGroup
{
LANG: C
+} "Calculate Ricci tensor, with boundary conditions"
+
+schedule GROUP RicciBoundariesGroup in RicciGroup after ADMAnalysis_Ricci
+{
+} "Set Ricci tensor on the boundary"
+
+SCHEDULE ADMAnalysis_Ricci_Boundaries in RicciBoundariesGroup
+{
+ LANG: C
+ OPTIONS: level
SYNC: ricci_tensor, ricci_scalar
-} "Calculation of the Ricci tensor"
+} "Select boundary conditions for the Ricci tensor"
-SCHEDULE GROUP ApplyBCs as ADMAnalysis_ApplyBCs in RicciGroup after ADMAnalysis_Ricci
+SCHEDULE GROUP ApplyBCs as ADMAnalysis_ApplyBCs in RicciBoundariesGroup after ADMAnalysis_Ricci
{
-} "Apply boundary conditions"
+} "Apply boundary conditions to the Ricci tensor"