diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-02-19 17:28:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-02-19 17:28:00 +0000 |
commit | 491775ecd8515e370b77fb270d5c342736127fe1 (patch) | |
tree | a2d1d078be9b582a1c74d5c4998ba03bfcf46a80 /Carpet | |
parent | cdb09d3b0b1073c7b68e0b42af8a40362cf14610 (diff) |
Carpet: Use MultiPatch_ConvertFromPhysicalBoundary, if available
Use MultiPatch_ConvertFromPhysicalBoundary instead of CoordBase's
ConvertFromPhysicalBoundary, if it is available.
darcs-hash:20080219172824-dae7b-a63ad0a3897917f703c5c65a0a05beb4bf690b24.gz
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/Carpet/interface.ccl | 13 | ||||
-rw-r--r-- | Carpet/Carpet/src/SetupGH.cc | 32 |
2 files changed, 37 insertions, 8 deletions
diff --git a/Carpet/Carpet/interface.ccl b/Carpet/Carpet/interface.ccl index f4310744d..06c159757 100644 --- a/Carpet/Carpet/interface.ccl +++ b/Carpet/Carpet/interface.ccl @@ -138,6 +138,19 @@ CCTK_INT FUNCTION MultiPatch_GetDomainSpecification \ 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 + # Access coordinate information (on the coarse level) diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc index 2a554e511..7fba6ae5e 100644 --- a/Carpet/Carpet/src/SetupGH.cc +++ b/Carpet/Carpet/src/SetupGH.cc @@ -1286,14 +1286,30 @@ namespace Carpet { spacing = base_spacing * baseconvfact; rvect interior_min, interior_max; - int const ierr = - ConvertFromPhysicalBoundary - (dim, - &physical_min[0], &physical_max[0], - &interior_min[0], &interior_max[0], - &exterior_min[0], &exterior_max[0], - &spacing[0]); - assert (not ierr); + + if (domain_from_multipatch and + CCTK_IsFunctionAliased ("MultiPatch_ConvertFromPhysicalBoundary")) + { + assert (not domain_from_coordbase); + int const ierr = + MultiPatch_ConvertFromPhysicalBoundary + (m, + dim, + &physical_min[0], &physical_max[0], + &interior_min[0], &interior_max[0], + &exterior_min[0], &exterior_max[0], + &spacing[0]); + assert (not ierr); + } else { + int const ierr = + ConvertFromPhysicalBoundary + (dim, + &physical_min[0], &physical_max[0], + &interior_min[0], &interior_max[0], + &exterior_min[0], &exterior_max[0], + &spacing[0]); + assert (not ierr); + } ostringstream buf; buf << "Adapted domain specification for map " << m << ":" << endl |