aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@c78560ca-4b45-4335-b268-5f3340f3cb52>2008-02-20 00:26:48 +0000
committerschnetter <schnetter@c78560ca-4b45-4335-b268-5f3340f3cb52>2008-02-20 00:26:48 +0000
commit1d8c13a277d8632a0eccac4b3152696b33bad208 (patch)
tree0468c45e80c93afff0c90eea0830dc2ef2ee8757
parenta93464603129a2dc4bde0a4dd1c7a670077255ed (diff)
When type="multipatch", and when the aliased function
MultiPatch_ConvertFromPhysicalBoundary is available, then call this function instead of ConvertFromPhysicalBoundary. This is necessary to set up the coordinate extent correctly when different patches have different boundary sizes. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/CartGrid3D/trunk@236 c78560ca-4b45-4335-b268-5f3340f3cb52
-rw-r--r--interface.ccl21
-rw-r--r--src/CartGrid3D.c18
2 files changed, 30 insertions, 9 deletions
diff --git a/interface.ccl b/interface.ccl
index e19dcab..f494d3a 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -32,6 +32,11 @@ USES FUNCTION ConvertFromPhysicalBoundary
+CCTK_INT FUNCTION \
+ MultiPatch_GetMap \
+ (CCTK_POINTER_TO_CONST IN cctkGH)
+USES FUNCTION MultiPatch_GetMap
+
CCTK_INT FUNCTION \
MultiPatch_GetDomainSpecification \
(CCTK_INT IN map, \
@@ -45,10 +50,18 @@ CCTK_INT FUNCTION \
CCTK_REAL OUT ARRAY spacing)
USES FUNCTION MultiPatch_GetDomainSpecification
-CCTK_INT FUNCTION \
- MultiPatch_GetMap \
- (CCTK_POINTER_TO_CONST IN cctkGH)
-USES FUNCTION MultiPatch_GetMap
+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
diff --git a/src/CartGrid3D.c b/src/CartGrid3D.c
index d2da70f..1b6c967 100644
--- a/src/CartGrid3D.c
+++ b/src/CartGrid3D.c
@@ -284,11 +284,19 @@ void CartGrid3D_SetRanges(CCTK_ARGUMENTS)
spacing[d] *= pow(cctkGH->cctk_convfac, cctkGH->cctk_convlevel);
}
- ierr = ConvertFromPhysicalBoundary
- (3, physical_min, physical_max, interior_min, interior_max,
- exterior_min, exterior_max, spacing);
- if (ierr)
- CCTK_WARN (0, "error returned from function ConvertFromPhysicalBoundary");
+ if (CCTK_IsFunctionAliased ("MultiPatch_ConvertFromPhysicalBoundary")) {
+ ierr = MultiPatch_ConvertFromPhysicalBoundary
+ (map, 3, physical_min, physical_max, interior_min, interior_max,
+ exterior_min, exterior_max, spacing);
+ if (ierr)
+ CCTK_WARN (0, "error returned from function MultiPatch_ConvertFromPhysicalBoundary");
+ } else {
+ ierr = ConvertFromPhysicalBoundary
+ (3, physical_min, physical_max, interior_min, interior_max,
+ exterior_min, exterior_max, spacing);
+ if (ierr)
+ CCTK_WARN (0, "error returned from function ConvertFromPhysicalBoundary");
+ }
for (d=0; d<3; ++d) {
origin[d] = exterior_min[d];