diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2009-11-10 14:51:43 -0600 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 16:45:14 +0000 |
commit | 702a60056d9913ebfa93119c6c29c11b868d003c (patch) | |
tree | 7de0b949000726d4f2205ee495211ff8aee48291 | |
parent | 61b583ab168d6fd425076ccf05a53ad8312e53ed (diff) |
Carpet: Allow multi-patch systems when outputting grid structure
Allow multi-patch systems when outputting the grid structure to file.
-rw-r--r-- | Carpet/Carpet/src/Recompose.cc | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc index 65485d61d..833c87f3c 100644 --- a/Carpet/Carpet/src/Recompose.cc +++ b/Carpet/Carpet/src/Recompose.cc @@ -781,28 +781,49 @@ namespace Carpet { #warning "TODO: check this (for Carpet, and maybe also for CartGrid3D)" #warning "TODO: (the check that these two are consistent should be in Carpet)" - typedef vect<vect<CCTK_INT,2>,3> jjvect; jjvect nboundaryzones; jjvect is_internal; jjvect is_staggered; jjvect shiftout; - check (not GetBoundarySpecification - (2*dim, - & nboundaryzones[0][0], - & is_internal[0][0], - & is_staggered[0][0], - & shiftout[0][0])); + if (domain_from_multipatch and + CCTK_IsFunctionAliased ("MultiPatch_GetBoundarySpecification")) + { + check (not MultiPatch_GetBoundarySpecification + (m, 2*dim, + & nboundaryzones[0][0], + & is_internal[0][0], + & is_staggered[0][0], + & shiftout[0][0])); + } else { + check (not GetBoundarySpecification + (2*dim, + & nboundaryzones[0][0], + & is_internal[0][0], + & is_staggered[0][0], + & shiftout[0][0])); + } rvect physical_lower, physical_upper; rvect interior_lower, interior_upper; rvect exterior_lower, exterior_upper; rvect spacing; - check (not GetDomainSpecification - (dim, - & physical_lower[0], & physical_upper[0], - & interior_lower[0], & interior_upper[0], - & exterior_lower[0], & exterior_upper[0], - & spacing[0])); + if (domain_from_multipatch and + CCTK_IsFunctionAliased ("MultiPatch_GetDomainSpecification")) + { + check (not MultiPatch_GetDomainSpecification + (m, dim, + & physical_lower[0], & physical_upper[0], + & interior_lower[0], & interior_upper[0], + & exterior_lower[0], & exterior_upper[0], + & spacing[0])); + } else { + check (not GetDomainSpecification + (dim, + & physical_lower[0], & physical_upper[0], + & interior_lower[0], & interior_upper[0], + & exterior_lower[0], & exterior_upper[0], + & spacing[0])); + } // Adapt spacing for convergence level #warning "TODO: take ml into account" |