aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetRegrid2/interface.ccl
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2008-03-19 16:43:33 -0500
committerErik Schnetter <schnetter@cct.lsu.edu>2008-03-19 16:43:33 -0500
commitc7bbd2f7401eeaece92daa48ef773e7388e8644b (patch)
tree7709237d0feae04e5571dda6a64dcb9b6b82955d /Carpet/CarpetRegrid2/interface.ccl
parent315da175d4fa2ac1143b99ea7d9ef912bc47c75d (diff)
Enhance support for multi-patch simulations
Carpet: Ensure that at most one of GetDomainSpecificatio or MultiPatch_GetDomainSpecification is defined. Allow the boundary case of having zero regions on a refinement level. CarpetLib: Allow the boundary case of having zero components on a patch, if there are still more than zero components overall. CarpetIOASCII: Loop over the components using explicit light-weight for loops instead of Carpet's looping macros. This is faster, since less state information needs to be updated. Correct an inconsistency in converting between integer indices and coordinates in multi-patch simulations. CarpetRegrid2: Take multi-patch systems into account.
Diffstat (limited to 'Carpet/CarpetRegrid2/interface.ccl')
-rw-r--r--Carpet/CarpetRegrid2/interface.ccl36
1 files changed, 36 insertions, 0 deletions
diff --git a/Carpet/CarpetRegrid2/interface.ccl b/Carpet/CarpetRegrid2/interface.ccl
index 7b55ed523..aa6f799da 100644
--- a/Carpet/CarpetRegrid2/interface.ccl
+++ b/Carpet/CarpetRegrid2/interface.ccl
@@ -47,6 +47,42 @@ CCTK_INT FUNCTION ConvertFromPhysicalBoundary \
CCTK_REAL IN ARRAY spacing)
USES FUNCTION ConvertFromPhysicalBoundary
+# The location of the boundary points
+CCTK_INT FUNCTION MultiPatch_GetBoundarySpecification \
+ (CCTK_INT IN map, \
+ CCTK_INT IN size, \
+ CCTK_INT OUT ARRAY nboundaryzones, \
+ CCTK_INT OUT ARRAY is_internal, \
+ CCTK_INT OUT ARRAY is_staggered, \
+ CCTK_INT OUT ARRAY shiftout)
+USES FUNCTION MultiPatch_GetBoundarySpecification
+
+# The overall size of the domain
+CCTK_INT FUNCTION MultiPatch_GetDomainSpecification \
+ (CCTK_INT IN map, \
+ CCTK_INT IN size, \
+ CCTK_REAL OUT ARRAY physical_min, \
+ CCTK_REAL OUT ARRAY physical_max, \
+ CCTK_REAL OUT ARRAY interior_min, \
+ CCTK_REAL OUT ARRAY interior_max, \
+ CCTK_REAL OUT ARRAY exterior_min, \
+ CCTK_REAL OUT ARRAY exterior_max, \
+ CCTK_REAL OUT ARRAY spacing)
+USES FUNCTION MultiPatch_GetDomainSpecification
+
+# Conversion between boundary types
+CCTK_INT FUNCTION MultiPatch_ConvertFromPhysicalBoundary \
+ (CCTK_INT IN map, \
+ CCTK_INT IN size, \
+ CCTK_REAL IN ARRAY physical_min, \
+ CCTK_REAL IN ARRAY physical_max, \
+ CCTK_REAL OUT ARRAY interior_min, \
+ CCTK_REAL OUT ARRAY interior_max, \
+ CCTK_REAL OUT ARRAY exterior_min, \
+ CCTK_REAL OUT ARRAY exterior_max, \
+ CCTK_REAL IN ARRAY spacing)
+USES FUNCTION MultiPatch_ConvertFromPhysicalBoundary
+
# The true prototype of the routine below: