diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2009-12-02 14:43:06 -0800 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 16:45:20 +0000 |
commit | 56c106d5ddc2c62937a8e56cfccbdcc97ac100fb (patch) | |
tree | 3d3b0aa16b4305c5d68ee210b32c7db649c4ccca /Carpet/CarpetIOHDF5/src/OutputSlice.cc | |
parent | b02b147eb4702b219d4cf3e2c09e0cec7aec6fa7 (diff) |
CarpetIOHDF5: Allow different numbers of ghost zones on different levels
Allow different numbers of ghost zones and different spatial
prolongation orders on different refinement levels.
This causes incompatible changes to the checkpoint file format.
Diffstat (limited to 'Carpet/CarpetIOHDF5/src/OutputSlice.cc')
-rw-r--r-- | Carpet/CarpetIOHDF5/src/OutputSlice.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Carpet/CarpetIOHDF5/src/OutputSlice.cc b/Carpet/CarpetIOHDF5/src/OutputSlice.cc index b1698b2a1..712844b3e 100644 --- a/Carpet/CarpetIOHDF5/src/OutputSlice.cc +++ b/Carpet/CarpetIOHDF5/src/OutputSlice.cc @@ -39,7 +39,7 @@ namespace CarpetIOHDF5 { // routines which are independent of the output dimension static ibbox GetOutputBBox (const cGH* cctkGH, int group, - int m, int c, + int rl, int m, int c, const ibbox& ext); static void GetCoordinates (const cGH* cctkGH, int m, @@ -548,7 +548,7 @@ namespace CarpetIOHDF5 { if (dist::rank() == proc or dist::rank() == ioproc) { const ibbox& data_ext = dd->boxes.at(ml).at(rl).at(c).exterior; - const ibbox ext = GetOutputBBox (cctkGH, group, m, c, data_ext); + const ibbox ext = GetOutputBBox (cctkGH, group, rl, m, c, data_ext); CCTK_REAL coord_time; rvect coord_lower, coord_upper; @@ -950,7 +950,7 @@ namespace CarpetIOHDF5 { // Omit symmetry and ghost zones if requested ibbox GetOutputBBox (const cGH* const cctkGH, const int group, - const int m, const int c, + const int rl, const int m, const int c, const ibbox& ext) { DECLARE_CCTK_PARAMETERS; @@ -984,8 +984,8 @@ namespace CarpetIOHDF5 { ivect hi = ext.upper(); const ivect str = ext.stride(); - const b2vect obnds = vhh.at(m)->outer_boundaries(reflevel,c); - const i2vect ghost_width = arrdata.at(group).at(m).dd->ghost_width; + const b2vect obnds = vhh.at(m)->outer_boundaries(rl,c); + const i2vect ghost_width = arrdata.at(group).at(m).dd->ghost_widths.AT(rl); for (int d=0; d<groupdim; ++d) { bool const output_lower_ghosts = |