aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface.ccl50
-rw-r--r--schedule.ccl38
2 files changed, 68 insertions, 20 deletions
diff --git a/interface.ccl b/interface.ccl
index a677f75..5890c5e 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -60,13 +60,14 @@ CCTK_INT surface_integers TYPE=SCALAR
CCTK_REAL surface_reals TYPE=SCALAR
{
- sym_factor
+ sym_factor, theta_sym_factor, phi_sym_factor
} "Real variables used in surface integration"
CCTK_REAL surface_arrays TYPE=ARRAY DIM=2 TIMELEVELS=1 SIZE=ntheta,nphi GHOSTSIZE=n_array_ghosts,n_array_ghosts DISTRIB=DEFAULT
{
ctheta, cphi, rsurf, sintheta, costheta, sinphi, cosphi,
- drdtheta, drdphi, da, gtt, gtp, gpp, weights
+ drdtheta, drdphi, da, gtt, gtp, gpp, weights, dltheta, dlphi,
+ thetaweights, phiweights
} "Grid arrays for points on the surface"
CCTK_REAL surface_tmp_arrays TYPE=ARRAY DIM=2 TIMELEVELS=1 SIZE=ntheta,nphi GHOSTSIZE=n_array_ghosts,n_array_ghosts DISTRIB=DEFAULT
@@ -100,30 +101,63 @@ CCTK_INT rep_mask TYPE=GF TIMELEVELS=1
CCTK_INT re_param_control_pde TYPE=SCALAR
CCTK_INT re_param_control_approx TYPE=SCALAR
-#CCTK_REAL eh_area TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
+CCTK_REAL eh_area TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
-CCTK_REAL eh_area TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#CCTK_REAL eh_area TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
#CCTK_REAL eh_area[maximum_surface_number] TYPE=SCALAR
-#CCTK_REAL eh_area2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT #"The area of the event horizon(s)"
-CCTK_REAL eh_area2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT #"The area of the event horizon(s)"
+CCTK_REAL eh_area2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT #"The area of the event horizon(s)"
+
+#CCTK_REAL eh_area2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT #"The area of the event horizon(s)"
#CCTK_REAL eh_area2[maximum_surface_number] TYPE=SCALAR
#CCTK_REAL eh_area3 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
-CCTK_REAL eh_centroid TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#CCTK_REAL eh_centroid TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#{
+# eh_centroid_x, eh_centroid_y, eh_centroid_z
+#} "The centroid of the event horizon(s)"
+
+CCTK_REAL eh_centroid TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
{
eh_centroid_x, eh_centroid_y, eh_centroid_z
} "The centroid of the event horizon(s)"
-CCTK_REAL eh_centroid2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#CCTK_REAL eh_centroid2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#{
+# eh_centroid2_x, eh_centroid2_y, eh_centroid2_z
+#} "The centroid of the event horizon(s)"
+
+CCTK_REAL eh_centroid2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
{
eh_centroid2_x, eh_centroid2_y, eh_centroid2_z
} "The centroid of the event horizon(s)"
+#CCTK_REAL eh_circumference TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#{
+# eh_circ_eq, eh_circ_pol
+#} "The circumferences of the event horizon(s)"
+
+CCTK_REAL eh_circumference TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
+{
+ eh_circ_eq, eh_circ_pol
+} "The circumferences of the event horizon(s)"
+
+#CCTK_REAL eh_circumference2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
+#{
+# eh_circ_eq2, eh_circ_pol2
+#} "The circumferences of the event horizon(s)"
+
+CCTK_REAL eh_circumference2 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number GHOSTSIZE=0 DISTRIB=DEFAULT
+{
+ eh_circ_eq2, eh_circ_pol2
+} "The circumferences of the event horizon(s)"
+
#CCTK_REAL eh_centroid3 TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=maximum_surface_number DISTRIB=CONSTANT
#{
# eh_centroid3_x, eh_centroid3_y, eh_centroid3_z
#} "The centroid of the event horizon(s)"
+CCTK_REAL eh_group_test[maximum_surface_number] TYPE=SCALAR
+CCTK_REAL eh_group_array_test[maximum_surface_number] TYPE=ARRAY DIM=1 SIZE=100 GHOSTSIZE=0 DISTRIB=DEFAULT
diff --git a/schedule.ccl b/schedule.ccl
index e049e3f..ade0b15 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -18,7 +18,7 @@ else
STORAGE: surface_arrays
STORAGE: center_arrays
# STORAGE: eh_area, eh_centroid
- STORAGE: eh_area2, eh_centroid2
+ STORAGE: eh_area2, eh_centroid2, eh_circumference2
# STORAGE: surface_index
}
@@ -92,65 +92,65 @@ schedule GROUP EHFinder_Surfaces at CCTK_ANALYSIS
STORAGE: surface_reals
STORAGE: surface_index
# STORAGE: eh_area2, eh_centroid2
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Count the number of surfaces and integrate over them"
schedule EHFinder_CountSurfacesInit in EHFinder_Surfaces
{
LANG: Fortran
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Initialise while loop control"
schedule GROUP EHFinder_CountMarkSurfaces in EHFinder_Surfaces after EHFinder_CountSurfacesInit WHILE ehfinder::more_surfaces
{
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Counting and mark surfaces"
schedule EHFinder_CountSurfaces in EHFinder_CountMarkSurfaces
{
LANG: Fortran
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
SYNC: surface_index
} "Check if there are more surfaces"
schedule EHFinder_MarkSurfaces in EHFinder_CountMarkSurfaces after EHFinder_CountSurfaces WHILE ehfinder::more_points
{
LANG: Fortran
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
SYNC: surface_index
} "Mark points inside the current surface"
schedule EHFinder_InfoSurfaces in EHFinder_Surfaces after EHFinder_CountMarkSurfaces
{
LANG: Fortran
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Output info about found surfaces"
schedule group EHFinder_Integration in EHFinder_Surfaces after EHFinder_InfoSurfaces while ehfinder::integrate_counter
{
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "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
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "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
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Find Surface Area Element"
schedule EHFinder_IntegrateArea in EHFinder_Integration after EHFinder_FindSurfaceElement
{
LANG: Fortran
STORAGE: integrate_tmp_array
- TRIGGERS: eh_area, eh_centroid
+ TRIGGERS: eh_area, eh_centroid, eh_circumference
} "Calculate area integrals"
schedule EHFinder_IntegrateCentroid in EHFinder_Integration after EHFinder_IntegrateArea
@@ -160,6 +160,13 @@ schedule EHFinder_IntegrateCentroid in EHFinder_Integration after EHFinder_Integ
TRIGGERS: eh_centroid
} "Calculate centroid integrals"
+schedule EHFinder_IntegrateEquatorial in EHFinder_Integration after EHFinder_IntegrateArea
+{
+ LANG: Fortran
+ STORAGE: surface_tmp_arrays, integrate_tmp_array
+ TRIGGERS: eh_circumference
+} "Calculate circumferences"
+
schedule EHFinder_CopyArea at CCTK_ANALYSIS after EHFinder_Surfaces
{
LANG: Fortran
@@ -172,7 +179,14 @@ schedule EHFinder_CopyCentroid at CCTK_ANALYSIS after EHFinder_Surfaces
LANG: Fortran
STORAGE: eh_centroid
TRIGGERS: eh_centroid
-} "Copy areas to output variable"
+} "Copy centroids to output variable"
+
+schedule EHFinder_CopyCircumference at CCTK_ANALYSIS after EHFinder_Surfaces
+{
+ LANG: Fortran
+ STORAGE: eh_circumference
+ TRIGGERS: eh_circumference
+} "Copy circumferences to output variable"
#schedule EHFinder_Integrate at CCTK_ANALYSIS
#schedule EHFinder_Integrate at CCTK_ANALYSIS