aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
authordiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-08-20 19:02:20 +0000
committerdiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-08-20 19:02:20 +0000
commitf1cfca91b8d2e196c2c5d96ce9832446aed27aa4 (patch)
treec42eb169588b35f28151910db37ae1c700b51890 /schedule.ccl
parent61bd55cb591fab224f7d125bfc3d4ca9ba0b54ce (diff)
The beginning of adding Florin's isosurfacer to calculate triangulations
of the EH and calculate it's area. Don't use it yet. This is still in a development phase. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@183 2a26948c-0e4f-0410-aee8-f1d3e353619c
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl306
1 files changed, 162 insertions, 144 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 9707f63..1550011 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -118,154 +118,172 @@ schedule EHFinder_InitWeights at CCTK_POST_RECOVER_VARIABLES
LANG: Fortran
} "Setup weights for Simpson integration"
-schedule GROUP EHFinder_Level_Sets at CCTK_ANALYSIS
+if (CCTK_EQUALS(area_calculation_method,"standard"))
{
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Loop over the level set functions"
-
-schedule EHFinder_LevelSetLoopInit in EHFinder_Level_Sets
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Initialize the loop counter over the level set functions"
-
-schedule GROUP EHFinder_Surfaces in EHFinder_Level_Sets while ehfinder::more_levelsets
-{
- STORAGE: surface_integers
- STORAGE: surface_reals
- STORAGE: surface_index
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Count the number of surfaces and integrate over them"
-
-
-schedule EHFinder_CountSurfacesInit in EHFinder_Surfaces
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Initialize while loop control"
-
-schedule GROUP EHFinder_CountMarkSurfaces in EHFinder_Surfaces after EHFinder_CountSurfacesInit WHILE ehfinder::more_surfaces
-{
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Counting and mark surfaces"
-
-schedule EHFinder_CountSurfaces in EHFinder_CountMarkSurfaces
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
- SYNC: surface_index
-} "Check if there are more surfaces"
-
-schedule GROUP EHFinder_MarkPoints in EHFinder_CountMarkSurfaces after EHFinder_CountSurfaces WHILE ehfinder::more_points
-{
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Marking surfaces"
-
-schedule EHFinder_MarkSurfaces in EHFinder_MarkPoints
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
- SYNC: surface_index
-} "Mark points inside the current surface"
-
-schedule EHFinder_ApplySymSC in EHFinder_MarkPoints after EHFinder_MarkSurfaces
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Select the surface counter grid function for boundary conditions"
-
-schedule GROUP ApplyBCs as EHFinderSC_ApplyBSc in EHFinder_MarkPoints after EHFinder_ApplySymSC
-{
-} "Apply boundary conditions (symmetries)"
-
-schedule EHFinder_InfoSurfaces in EHFinder_Surfaces after EHFinder_CountMarkSurfaces
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Output info about found surfaces"
-
-schedule group EHFinder_Integration in EHFinder_Surfaces after EHFinder_InfoSurfaces while ehfinder::integrate_counter
-{
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Find and integrate over surfaces"
-
-schedule EHFinder_FindSurface in EHFinder_Integration
-{
- LANG: Fortran
- STORAGE: surface_tmp_arrays, surface_int_array
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
- SYNC: surface_arrays
-} "Find Surface"
-
-schedule EHFinder_FindSurfaceElement in EHFinder_Integration after EHFinder_FindSurface
-{
- LANG: Fortran
- STORAGE: surface_tmp_arrays, interp_metric_arrays
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Find Surface Area Element"
-
-schedule EHFinder_IntegrateArea in EHFinder_Integration after EHFinder_FindSurfaceElement
-{
- LANG: Fortran
- STORAGE: integrate_tmp_array
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Calculate area integrals"
-
-schedule EHFinder_IntegrateCentroid in EHFinder_Integration after EHFinder_IntegrateArea
-{
- LANG: Fortran
- STORAGE: surface_tmp_arrays, integrate_tmp_array
- TRIGGERS: eh_centroid_x, eh_centroid_y, eh_centroid_z
-} "Calculate centroid integrals"
-
-schedule EHFinder_IntegrateCircumference in EHFinder_Integration after EHFinder_IntegrateArea
-{
- LANG: Fortran
- STORAGE: surface_tmp_arrays, integrate_tmp_array
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Calculate circumferences"
-
-schedule EHFinder_UpdateCounter in EHFinder_Surfaces
-{
- LANG: Fortran
- TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Update the loop variables"
-
-schedule EHFinder_CopyArea at CCTK_ANALYSIS after EHFinder_Level_Sets
-{
- LANG: Fortran
- STORAGE: eh_area
- TRIGGERS: eh_area
-} "Copy areas to output variable"
+ schedule GROUP EHFinder_Level_Sets at CCTK_ANALYSIS
+ {
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Loop over the level set functions"
+
+ schedule EHFinder_LevelSetLoopInit in EHFinder_Level_Sets
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Initialize the loop counter over the level set functions"
+
+ schedule GROUP EHFinder_Surfaces in EHFinder_Level_Sets while ehfinder::more_levelsets
+ {
+ STORAGE: surface_integers
+ STORAGE: surface_reals
+ STORAGE: surface_index
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Count the number of surfaces and integrate over them"
+
+
+ schedule EHFinder_CountSurfacesInit in EHFinder_Surfaces
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Initialize while loop control"
+
+ schedule GROUP EHFinder_CountMarkSurfaces in EHFinder_Surfaces after EHFinder_CountSurfacesInit WHILE ehfinder::more_surfaces
+ {
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Counting and mark surfaces"
+
+ schedule EHFinder_CountSurfaces in EHFinder_CountMarkSurfaces
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ SYNC: surface_index
+ } "Check if there are more surfaces"
+
+ schedule GROUP EHFinder_MarkPoints in EHFinder_CountMarkSurfaces after EHFinder_CountSurfaces WHILE ehfinder::more_points
+ {
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Marking surfaces"
+
+ schedule EHFinder_MarkSurfaces in EHFinder_MarkPoints
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ SYNC: surface_index
+ } "Mark points inside the current surface"
+
+ schedule EHFinder_ApplySymSC in EHFinder_MarkPoints after EHFinder_MarkSurfaces
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Select the surface counter grid function for boundary conditions"
+
+ schedule GROUP ApplyBCs as EHFinderSC_ApplyBSc in EHFinder_MarkPoints after EHFinder_ApplySymSC
+ {
+ } "Apply boundary conditions (symmetries)"
+
+ schedule EHFinder_InfoSurfaces in EHFinder_Surfaces after EHFinder_CountMarkSurfaces
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Output info about found surfaces"
+
+ schedule group EHFinder_Integration in EHFinder_Surfaces after EHFinder_InfoSurfaces while ehfinder::integrate_counter
+ {
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Find and integrate over surfaces"
+
+ schedule EHFinder_FindSurface in EHFinder_Integration
+ {
+ LANG: Fortran
+ STORAGE: surface_tmp_arrays, surface_int_array
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ SYNC: surface_arrays
+ } "Find Surface"
+
+ schedule EHFinder_FindSurfaceElement in EHFinder_Integration after EHFinder_FindSurface
+ {
+ LANG: Fortran
+ STORAGE: surface_tmp_arrays, interp_metric_arrays
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Find Surface Area Element"
+
+ schedule EHFinder_IntegrateArea in EHFinder_Integration after EHFinder_FindSurfaceElement
+ {
+ LANG: Fortran
+ STORAGE: integrate_tmp_array
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Calculate area integrals"
+
+ schedule EHFinder_IntegrateCentroid in EHFinder_Integration after EHFinder_IntegrateArea
+ {
+ LANG: Fortran
+ STORAGE: surface_tmp_arrays, integrate_tmp_array
+ TRIGGERS: eh_centroid_x, eh_centroid_y, eh_centroid_z
+ } "Calculate centroid integrals"
+
+ schedule EHFinder_IntegrateCircumference in EHFinder_Integration after EHFinder_IntegrateArea
+ {
+ LANG: Fortran
+ STORAGE: surface_tmp_arrays, integrate_tmp_array
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Calculate circumferences"
+
+ schedule EHFinder_UpdateCounter in EHFinder_Surfaces
+ {
+ LANG: Fortran
+ TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Update the loop variables"
+
+ schedule EHFinder_CopyArea at CCTK_ANALYSIS after EHFinder_Level_Sets
+ {
+ LANG: Fortran
+ STORAGE: eh_area
+ TRIGGERS: eh_area
+ } "Copy areas to output variable"
+
+ schedule EHFinder_CopyCentroid at CCTK_ANALYSIS after EHFinder_Level_Sets
+ {
+ LANG: Fortran
+ STORAGE: eh_centroid_x, eh_centroid_y, eh_centroid_z
+ TRIGGERS: eh_centroid_x, eh_centroid_y, eh_centroid_z
+ } "Copy centroids to output variable"
+
+ schedule EHFinder_CopyCircumference at CCTK_ANALYSIS after EHFinder_Level_Sets
+ {
+ LANG: Fortran
+ STORAGE: eh_circ_eq, eh_circ_pol
+ TRIGGERS: eh_circ_eq, eh_circ_pol
+ } "Copy circumferences to output variable"
+}
-schedule EHFinder_CopyCentroid at CCTK_ANALYSIS after EHFinder_Level_Sets
+if (CCTK_EQUALS(area_calculation_method,"isosurface"))
{
- LANG: Fortran
- STORAGE: eh_centroid_x, eh_centroid_y, eh_centroid_z
- TRIGGERS: eh_centroid_x, eh_centroid_y, eh_centroid_z
-} "Copy centroids to output variable"
+ schedule GROUP EHFinder_IsoSurfaceArea at CCTK_ANALYSIS
+ {
+ TRIGGERS: eh_area
+ } "Find isosurfaces and calculate the area"
-schedule EHFinder_CopyCircumference at CCTK_ANALYSIS after EHFinder_Level_Sets
-{
- LANG: Fortran
- STORAGE: eh_circ_eq, eh_circ_pol
- TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Copy circumferences to output variable"
+ schedule EHFinder_IsoSurface in EHFinder_IsoSurfaceArea
+ {
+ LANG: Fortran
+ STORAGE: eh_area
+ TRIGGERS: eh_area
+ } "Find isosurfaces"
+}
# Read in the data used in reconstructing the 4-metric if necessary