diff options
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/Carpet/src/Checksum.cc | 42 | ||||
-rw-r--r-- | Carpet/Carpet/src/Cycle.cc | 30 | ||||
-rw-r--r-- | Carpet/Carpet/src/Evolve.cc | 4 | ||||
-rw-r--r-- | Carpet/Carpet/src/Initialise.cc | 30 | ||||
-rw-r--r-- | Carpet/Carpet/src/Recompose.cc | 156 | ||||
-rw-r--r-- | Carpet/Carpet/src/Restrict.cc | 22 | ||||
-rw-r--r-- | Carpet/Carpet/src/SetupGH.cc | 90 | ||||
-rw-r--r-- | Carpet/Carpet/src/modes.cc | 146 | ||||
-rw-r--r-- | Carpet/CarpetIOASCII/src/ioascii.cc | 8 | ||||
-rw-r--r-- | Carpet/CarpetIOHDF5/src/iohdf5.cc | 14 | ||||
-rw-r--r-- | Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc | 10 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/gdata.cc | 36 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/gf.cc | 6 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/ggf.cc | 132 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/gh.cc | 52 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/gh.hh | 17 | ||||
-rw-r--r-- | Carpet/CarpetSlab/src/slab.cc | 52 |
17 files changed, 420 insertions, 427 deletions
diff --git a/Carpet/Carpet/src/Checksum.cc b/Carpet/Carpet/src/Checksum.cc index 13981d7ae..438ee9737 100644 --- a/Carpet/Carpet/src/Checksum.cc +++ b/Carpet/Carpet/src/Checksum.cc @@ -9,7 +9,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Checksum.cc,v 1.13 2004/01/25 14:57:27 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Checksum.cc,v 1.14 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Checksum_cc); } @@ -30,18 +30,18 @@ namespace Carpet { Checkpoint ("CalculateChecksums"); checksums.resize(maxreflevels); - checksums[reflevel].resize(mglevels); - checksums[reflevel][mglevel].resize(CCTK_NumGroups()); + checksums.at(reflevel).resize(mglevels); + checksums.at(reflevel).at(mglevel).resize(CCTK_NumGroups()); for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_QueryGroupStorageI(cgh, group)) { const int grouptype = CCTK_GroupTypeI(group); if (reflevel == 0 || grouptype == CCTK_GF) { - checksums[reflevel][mglevel][group].resize(arrdata[group].size()); + checksums.at(reflevel).at(mglevel).at(group).resize(arrdata.at(group).size()); BEGIN_MAP_LOOP(cgh, grouptype) { - checksums[reflevel][mglevel][group][map].resize(arrdata[group][map].hh->components(reflevel)); + checksums.at(reflevel).at(mglevel).at(group).at(map).resize(arrdata.at(group).at(map).hh->components(reflevel)); BEGIN_LOCAL_COMPONENT_LOOP(cgh, grouptype) { const int nvars = CCTK_NumVarsInGroupI(group); - checksums[reflevel][mglevel][group][map][component].resize(nvars); + checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).resize(nvars); if (nvars > 0) { const int n0 = CCTK_FirstVarIndexI(group); @@ -49,9 +49,9 @@ namespace Carpet { assert (sz>0); ivect size(1); - const int gpdim = groupdata[group].info.dim; + const int gpdim = groupdata.at(group).info.dim; for (int d=0; d<gpdim; ++d) { - size[d] = groupdata[group].info.lsh[d]; + size[d] = groupdata.at(group).info.lsh[d]; } const int np = prod(size); @@ -61,7 +61,7 @@ namespace Carpet { const int max_tl = maxtl(where, num_tl); for (int var=0; var<nvars; ++var) { - checksums[reflevel][mglevel][group][map][component][var].resize(num_tl); + checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).resize(num_tl); for (int tl=min_tl; tl<=max_tl; ++tl) { const int n = n0 + var; @@ -71,8 +71,8 @@ namespace Carpet { chk += ((const unsigned int*)data)[i]; } - checksums[reflevel][mglevel][group][map][component][var][tl].sum = chk; - checksums[reflevel][mglevel][group][map][component][var][tl].valid = true; + checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).at(tl).sum = chk; + checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).at(tl).valid = true; } // for tl } // for var @@ -96,18 +96,18 @@ namespace Carpet { Checkpoint ("CheckChecksums"); assert ((int)checksums.size()==maxreflevels); - assert ((int)checksums[reflevel].size()==mglevels); - assert ((int)checksums[reflevel][mglevel].size()==CCTK_NumGroups()); + assert ((int)checksums.at(reflevel).size()==mglevels); + assert ((int)checksums.at(reflevel).at(mglevel).size()==CCTK_NumGroups()); for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_QueryGroupStorageI(cgh, group)) { const int grouptype = CCTK_GroupTypeI(group); if (reflevel == 0 || grouptype == CCTK_GF) { - assert (checksums[reflevel][mglevel][group].size()==arrdata[group].size()); + assert (checksums.at(reflevel).at(mglevel).at(group).size()==arrdata.at(group).size()); BEGIN_MAP_LOOP(cgh, grouptype) { - assert ((int)checksums[reflevel][mglevel][group][map].size()==arrdata[group][map].hh->components(reflevel)); + assert ((int)checksums.at(reflevel).at(mglevel).at(group).at(map).size()==arrdata.at(group).at(map).hh->components(reflevel)); BEGIN_LOCAL_COMPONENT_LOOP(cgh, grouptype) { const int nvars = CCTK_NumVarsInGroupI(group); - assert ((int)checksums[reflevel][mglevel][group][map][component].size()==nvars); + assert ((int)checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).size()==nvars); if (nvars > 0) { const int n0 = CCTK_FirstVarIndexI(group); @@ -115,9 +115,9 @@ namespace Carpet { assert (sz>0); ivect size(1); - const int gpdim = groupdata[group].info.dim; + const int gpdim = groupdata.at(group).info.dim; for (int d=0; d<gpdim; ++d) { - size[d] = groupdata[group].info.lsh[d]; + size[d] = groupdata.at(group).info.lsh[d]; } const int np = prod(size); @@ -127,9 +127,9 @@ namespace Carpet { const int max_tl = maxtl(where, num_tl); for (int var=0; var<nvars; ++var) { - assert ((int)checksums[reflevel][mglevel][group][map][component][var].size()==num_tl); + assert ((int)checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).size()==num_tl); for (int tl=min_tl; tl<=max_tl; ++tl) { - if (checksums[reflevel][mglevel][group][map][component][var][tl].valid) { + if (checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).at(tl).valid) { const int n = n0 + var; const void* data = cgh->data[n][tl]; @@ -138,7 +138,7 @@ namespace Carpet { chk += ((const unsigned int*)data)[i]; } const bool unexpected_change = - chk != checksums[reflevel][mglevel][group][map][component][var][tl].sum; + chk != checksums.at(reflevel).at(mglevel).at(group).at(map).at(component).at(var).at(tl).sum; if (unexpected_change) { char* fullname = CCTK_FullName(n); diff --git a/Carpet/Carpet/src/Cycle.cc b/Carpet/Carpet/src/Cycle.cc index 4d14d5a60..8a3d18665 100644 --- a/Carpet/Carpet/src/Cycle.cc +++ b/Carpet/Carpet/src/Cycle.cc @@ -9,7 +9,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Cycle.cc,v 1.16 2004/01/25 14:57:27 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Cycle.cc,v 1.17 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Cycle_cc); } @@ -35,10 +35,10 @@ namespace Carpet { assert (reflevel>=0 && reflevel<reflevels); for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { for (int m=0; m<maps; ++m) { - assert (m<(int)arrdata[group].size()); - assert (var<(int)arrdata[group][m].data.size()); - for (int c=0; c<arrdata[group][m].hh->components(reflevel); ++c) { - arrdata[group][m].data[var]->cycle (reflevel, c, mglevel); + assert (m<(int)arrdata.at(group).size()); + assert (var<(int)arrdata.at(group).at(m).data.size()); + for (int c=0; c<arrdata.at(group).at(m).hh->components(reflevel); ++c) { + arrdata.at(group).at(m).data.at(var)->cycle (reflevel, c, mglevel); } } } @@ -48,9 +48,9 @@ namespace Carpet { case CCTK_ARRAY: if (do_global_mode) { for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { - assert (var<(int)arrdata[group][0].data.size()); - for (int c=0; c<arrdata[group][0].hh->components(0); ++c) { - arrdata[group][0].data[var]->cycle (0, c, mglevel); + assert (var<(int)arrdata.at(group).at(0).data.size()); + for (int c=0; c<arrdata.at(group).at(0).hh->components(0); ++c) { + arrdata.at(group).at(0).data.at(var)->cycle (0, c, mglevel); } } } @@ -87,11 +87,11 @@ namespace Carpet { switch (CCTK_GroupTypeI(group)) { case CCTK_GF: - for (int m=0; m<(int)arrdata[group].size(); ++m) { + for (int m=0; m<(int)arrdata.at(group).size(); ++m) { for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { - assert (var<(int)arrdata[group][m].data.size()); - for (int c=0; c<arrdata[group][m].hh->components(reflevel); ++c) { - arrdata[group][m].data[var]->flip (reflevel, c, mglevel); + assert (var<(int)arrdata.at(group).at(m).data.size()); + for (int c=0; c<arrdata.at(group).at(m).hh->components(reflevel); ++c) { + arrdata.at(group).at(m).data.at(var)->flip (reflevel, c, mglevel); } } } @@ -101,9 +101,9 @@ namespace Carpet { case CCTK_ARRAY: if (do_global_mode) { for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { - assert (var<(int)arrdata[group][0].data.size()); - for (int c=0; c<arrdata[group][0].hh->components(0); ++c) { - arrdata[group][0].data[var]->flip (0, c, mglevel); + assert (var<(int)arrdata.at(group).at(0).data.size()); + for (int c=0; c<arrdata.at(group).at(0).hh->components(0); ++c) { + arrdata.at(group).at(0).data.at(var)->flip (0, c, mglevel); } } } diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc index bdc5274be..15a192ad8 100644 --- a/Carpet/Carpet/src/Evolve.cc +++ b/Carpet/Carpet/src/Evolve.cc @@ -31,7 +31,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.40 2004/03/23 14:10:05 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.41 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Evolve_cc); } @@ -176,7 +176,7 @@ namespace Carpet { // Advance times for (int m=0; m<maps; ++m) { - vtt[m]->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); } cgh->cctk_time = (global_time - delta_time / maxreflevelfact diff --git a/Carpet/Carpet/src/Initialise.cc b/Carpet/Carpet/src/Initialise.cc index 7d1a101bc..92ddc9600 100644 --- a/Carpet/Carpet/src/Initialise.cc +++ b/Carpet/Carpet/src/Initialise.cc @@ -12,7 +12,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Initialise.cc,v 1.41 2004/03/23 14:10:05 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Initialise.cc,v 1.42 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Initialise_cc); } @@ -162,15 +162,15 @@ namespace Carpet { // Rewind for (int m=0; m<maps; ++m) { - vtt[m]->set_delta - (reflevel, mglevel, - vtt[m]->get_delta (reflevel, mglevel)); + vtt.at(m)->set_delta + (reflevel, mglevel, - vtt.at(m)->get_delta (reflevel, mglevel)); FlipTimeLevels (cgh); for (int tl=0; tl<num_tl; ++tl) { - vtt[m]->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); CycleTimeLevels (cgh); } - vtt[m]->set_delta - (reflevel, mglevel, - vtt[m]->get_delta (reflevel, mglevel)); + vtt.at(m)->set_delta + (reflevel, mglevel, - vtt.at(m)->get_delta (reflevel, mglevel)); FlipTimeLevels (cgh); } @@ -180,7 +180,7 @@ namespace Carpet { // Advance times for (int m=0; m<maps; ++m) { - vtt[m]->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); } cgh->cctk_time = global_time - tl * delta_time * mglevelfact / reflevelfact; @@ -266,7 +266,7 @@ namespace Carpet { // Advance times for (int m=0; m<maps; ++m) { - vtt[m]->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); } cgh->cctk_time = global_time + delta_time * mglevelfact / reflevelfact; @@ -370,7 +370,7 @@ namespace Carpet { // Advance times for (int m=0; m<maps; ++m) { - vtt[m]->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); } cgh->cctk_time = global_time + 2 * delta_time * mglevelfact / reflevelfact; @@ -413,12 +413,12 @@ namespace Carpet { // Invert level times back for (int m=0; m<maps; ++m) { - vtt[m]->set_delta - (reflevel, mglevel, - vtt[m]->get_delta (reflevel, mglevel)); - vtt[m]->advance_time (reflevel, mglevel); - vtt[m]->advance_time (reflevel, mglevel); - vtt[m]->set_delta - (reflevel, mglevel, - vtt[m]->get_delta (reflevel, mglevel)); + vtt.at(m)->set_delta + (reflevel, mglevel, - vtt.at(m)->get_delta (reflevel, mglevel)); + vtt.at(m)->advance_time (reflevel, mglevel); + vtt.at(m)->advance_time (reflevel, mglevel); + vtt.at(m)->set_delta + (reflevel, mglevel, - vtt.at(m)->get_delta (reflevel, mglevel)); } cgh->cctk_time = global_time; diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc index d6618014f..71a4f7844 100644 --- a/Carpet/Carpet/src/Recompose.cc +++ b/Carpet/Carpet/src/Recompose.cc @@ -27,7 +27,7 @@ #include "modes.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Recompose.cc,v 1.56 2004/03/23 18:38:29 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Recompose.cc,v 1.57 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Recompose_cc); } @@ -90,20 +90,20 @@ namespace Carpet { assert ((int)bbsss.size() <= maxreflevels); for (int rl=0; rl<(int)bbsss.size(); ++rl) { // No empty levels - assert (bbsss[rl].size() > 0); - for (int c=0; c<(int)bbsss[rl].size(); ++c) { + assert (bbsss.at(rl).size() > 0); + for (int c=0; c<(int)bbsss.at(rl).size(); ++c) { // At least one multigrid level - assert (bbsss[rl][c].size() > 0); - for (int ml=0; ml<(int)bbsss[rl][c].size(); ++ml) { + assert (bbsss.at(rl).at(c).size() > 0); + for (int ml=0; ml<(int)bbsss.at(rl).at(c).size(); ++ml) { // Check sizes // Do allow processors with zero grid points -// assert (all(bbsss[rl][c][ml].lower() <= bbsssi[rl][c][ml].upper())); +// assert (all(bbsss.at(rl).at(c).at(ml).lower() <= bbsssi.at(rl).at(c).at(ml).upper())); // Check strides const int str = ipow(reffact, maxreflevels-rl-1) * ipow(mgfact, ml); - assert (all(bbsss[rl][c][ml].stride() == str)); + assert (all(bbsss.at(rl).at(c).at(ml).stride() == str)); // Check alignments - assert (all(bbsss[rl][c][ml].lower() % str == 0)); - assert (all(bbsss[rl][c][ml].upper() % str == 0)); + assert (all(bbsss.at(rl).at(c).at(ml).lower() % str == 0)); + assert (all(bbsss.at(rl).at(c).at(ml).upper() % str == 0)); } } } @@ -111,8 +111,8 @@ namespace Carpet { assert (pss.size() == bbsss.size()); assert (obss.size() == bbsss.size()); for (int rl=0; rl<(int)bbsss.size(); ++rl) { - assert (obss[rl].size() == bbsss[rl].size()); - assert (pss[rl].size() == bbsss[rl].size()); + assert (obss.at(rl).size() == bbsss.at(rl).size()); + assert (pss.at(rl).size() == bbsss.at(rl).size()); } } @@ -141,9 +141,9 @@ namespace Carpet { &is_staggered[0][0], &shiftout[0][0]); assert (!ierr); - gh<dim>::rexts bbsss = vhh[m]->extents; - gh<dim>::rbnds obss = vhh[m]->outer_boundaries; - gh<dim>::rprocs pss = vhh[m]->processors; + gh<dim>::rexts bbsss = vhh.at(m)->extents; + gh<dim>::rbnds obss = vhh.at(m)->outer_boundaries; + gh<dim>::rprocs pss = vhh.at(m)->processors; // Check whether to recompose CCTK_INT const do_recompose = Carpet_Regrid @@ -164,19 +164,19 @@ namespace Carpet { OutputGridStructure (cgh, m, bbsss, obss, pss); // Recompose - vhh[m]->recompose (bbsss, obss, pss, + vhh.at(m)->recompose (bbsss, obss, pss, initialise_from, do_prolongate); - OutputGrids (cgh, m, *vhh[m]); + OutputGrids (cgh, m, *vhh.at(m)); } } // for m // Calculate new number of levels - reflevels = vhh[0]->reflevels(); + reflevels = vhh.at(0)->reflevels(); for (int m=0; m<maps; ++m) { - assert (vhh[0]->reflevels() == reflevels); + assert (vhh.at(0)->reflevels() == reflevels); } // One cannot switch off the current level @@ -196,7 +196,7 @@ namespace Carpet { for (int ml=0; ml<hh.mglevels(rl,c); ++ml) { cout << " m " << m << " rl " << rl << " c " << c << " ml " << ml - << " bbox " << hh.extents[rl][c][ml] + << " bbox " << hh.extents.at(rl).at(c).at(ml) << endl; } } @@ -205,7 +205,7 @@ namespace Carpet { for (int rl=0; rl<hh.reflevels(); ++rl) { for (int c=0; c<hh.components(rl); ++c) { cout << " m " << m << " rl " << rl << " c " << c - << " processor " << hh.processors[rl][c] << endl; + << " processor " << hh.processors.at(rl).at(c) << endl; } } cout << endl; @@ -315,11 +315,11 @@ namespace Carpet { file << "maps " << maps << endl; file << m << " reflevels " << bbsss.size() << endl; for (size_t rl=0; rl<bbsss.size(); ++rl) { - file << m << " " << rl << " components " << bbsss[rl].size() << endl; - for (size_t c=0; c<bbsss[rl].size(); ++c) { - file << m << " " << rl << " " << c << " mglevels " << bbsss[rl][c].size() << endl; - for (size_t ml=0; ml<bbsss[rl][c].size(); ++ml) { - file << m << " " << rl << " " << c << " " << ml << " " << pss[rl][c] << " " << bbsss[rl][c][ml] << obss[rl][c] << endl; + file << m << " " << rl << " components " << bbsss.at(rl).size() << endl; + for (size_t c=0; c<bbsss.at(rl).size(); ++c) { + file << m << " " << rl << " " << c << " mglevels " << bbsss.at(rl).at(c).size() << endl; + for (size_t ml=0; ml<bbsss.at(rl).at(c).size(); ++ml) { + file << m << " " << rl << " " << c << " " << ml << " " << pss.at(rl).at(c) << " " << bbsss.at(rl).at(c).at(ml) << obss.at(rl).at(c) << endl; } } } @@ -375,7 +375,7 @@ namespace Carpet { if (nprocs==1) { ps.resize(1); - ps[0] = 0; + ps.at(0) = 0; return; } @@ -383,10 +383,10 @@ namespace Carpet { assert (dir>=0 && dir<dim); - const ivect rstr = bbs[0].stride(); - const ivect rlb = bbs[0].lower(); - const ivect rub = bbs[0].upper() + rstr; - const bbvect obnd = obs[0]; + const ivect rstr = bbs.at(0).stride(); + const ivect rlb = bbs.at(0).lower(); + const ivect rub = bbs.at(0).upper() + rstr; + const bbvect obnd = obs.at(0); bbs.resize(nprocs); obs.resize(nprocs); @@ -404,15 +404,15 @@ namespace Carpet { if (cub[dir] > rub[dir]) cub[dir] = rub[dir]; assert (clb[dir] <= cub[dir]); assert (cub[dir] <= rub[dir]); - bbs[c] = ibbox(clb, cub-cstr, cstr); - obs[c] = obnd; - ps[c] = c; - if (c>0) obs[c][dir][0] = false; - if (c<nprocs-1) obs[c][dir][1] = false; + bbs.at(c) = ibbox(clb, cub-cstr, cstr); + obs.at(c) = obnd; + ps.at(c) = c; + if (c>0) obs.at(c)[dir][0] = false; + if (c<nprocs-1) obs.at(c)[dir][1] = false; } for (size_t n=0; n<ps.size(); ++n) { - assert (ps[n] == n); + assert (ps.at(n) == n); } } @@ -518,11 +518,11 @@ namespace Carpet { int const mynprocs_base = nprocs / nslices; int const mynprocs_left = nprocs - nslices * mynprocs_base; for (int n=0; n<nslices; ++n) { - mynprocs[n] = n < mynprocs_left ? mynprocs_base+1 : mynprocs_base; + mynprocs.at(n) = n < mynprocs_left ? mynprocs_base+1 : mynprocs_base; } int sum_mynprocs = 0; for (int n=0; n<nslices; ++n) { - sum_mynprocs += mynprocs[n]; + sum_mynprocs += mynprocs.at(n); } assert (sum_mynprocs == nprocs); if (DEBUG) cout << "SRAR " << mydim << " mynprocs " << mynprocs << endl; @@ -533,13 +533,13 @@ namespace Carpet { int nprocs_left = nprocs; for (int n=0; n<nslices; ++n) { if (n == nslices-1) { - myslice[n] = slice_left; + myslice.at(n) = slice_left; } else { - myslice[n] = (int)floor(1.0 * slice_left * mynprocs[n] / nprocs_left + 0.5); + myslice.at(n) = (int)floor(1.0 * slice_left * mynprocs.at(n) / nprocs_left + 0.5); } - assert (myslice[n] >= 0); - slice_left -= myslice[n]; - nprocs_left -= mynprocs[n]; + assert (myslice.at(n) >= 0); + slice_left -= myslice.at(n); + nprocs_left -= mynprocs.at(n); } assert (slice_left == 0); assert (nprocs_left == 0); @@ -567,7 +567,7 @@ namespace Carpet { newob[mydim][0] = false; } if (n < nslices-1) { - up[mydim] = lo[mydim] + (myslice[n]-1) * str[mydim]; + up[mydim] = lo[mydim] + (myslice.at(n)-1) * str[mydim]; newob[mydim][1] = false; last_up = up; } @@ -582,16 +582,16 @@ namespace Carpet { vector<bbvect> newobs; vector<int> newps; SplitRegions_Automatic_Recursively - (newdims, mynprocs[n], rshape, + (newdims, mynprocs.at(n), rshape, newbb, newob, newp, newbbs, newobs, newps); if (DEBUG) cout << "SRAR " << mydim << " newbbs " << newbbs << endl; if (DEBUG) cout << "SRAR " << mydim << " newobs " << newobs << endl; if (DEBUG) cout << "SRAR " << mydim << " newps " << newps << endl; // store - assert (newbbs.size() == mynprocs[n]); - assert (newobs.size() == mynprocs[n]); - assert (newps.size() == mynprocs[n]); + assert (newbbs.size() == mynprocs.at(n)); + assert (newobs.size() == mynprocs.at(n)); + assert (newps.size() == mynprocs.at(n)); bbs.insert (bbs.end(), newbbs.begin(), newbbs.end()); obs.insert (obs.end(), newobs.begin(), newobs.end()); ps.insert (ps.end(), newps.begin(), newps.end()); @@ -602,7 +602,7 @@ namespace Carpet { assert (obs.size() == nprocs); assert (ps.size() == nprocs); for (size_t n=0; n<ps.size(); ++n) { - assert (ps[n] == p+n); + assert (ps.at(n) == p+n); } if (DEBUG) cout << "SRAR exit" << endl; } @@ -634,14 +634,14 @@ namespace Carpet { assert (ncomps > 0); vector<int> mysize(nslices); for (int c=0; c<nslices; ++c) { - mysize[c] = bbs[c].size(); + mysize[c] = bbs.at(c).size(); } vector<int> mynprocs(nslices); { if (DEBUG) cout << "SRA: distributing processors to slices" << endl; int ncomps_left = nprocs * ncomps; for (int c=0; c<nslices; ++c) { - mynprocs[c] = 1; + mynprocs.at(c) = 1; -- ncomps_left; } while (ncomps_left > 0) { @@ -649,13 +649,13 @@ namespace Carpet { int maxc = -1; CCTK_REAL maxratio = -1; for (int c=0; c<nslices; ++c) { - CCTK_REAL const ratio = (CCTK_REAL)mysize[c] / mynprocs[c]; + CCTK_REAL const ratio = (CCTK_REAL)mysize.at(c) / mynprocs.at(c); if (ratio > maxratio) { maxc=c; maxratio=ratio; } } assert (maxc>=0 && maxc<nslices); - ++ mynprocs[maxc]; + ++ mynprocs.at(maxc); if (DEBUG) cout << "SRA maxc " << maxc << endl; - if (DEBUG) cout << "SRA mynprocs[maxc] " << mynprocs[maxc] << endl; + if (DEBUG) cout << "SRA mynprocs[maxc] " << mynprocs.at(maxc) << endl; -- ncomps_left; } assert (ncomps_left == 0); @@ -669,11 +669,11 @@ namespace Carpet { if (DEBUG) cout << "SRA: splitting regions" << endl; for (int c=0; c<nslices; ++c) { - const ibbox bb = bbs[c]; - const bbvect ob = obs[c]; + const ibbox bb = bbs.at(c); + const bbvect ob = obs.at(c); int p = 0; for (int cc=0; cc<c; ++cc) { - p += mynprocs[cc]; + p += mynprocs.at(cc); } assert (p>=0 && p<=nprocs); if (DEBUG) cout << "SRA c " << c << endl; @@ -706,7 +706,7 @@ namespace Carpet { vector<int> theps; SplitRegions_Automatic_Recursively - (dims, mynprocs[c], rshape, bb, ob, p, thebbs, theobs, theps); + (dims, mynprocs.at(c), rshape, bb, ob, p, thebbs, theobs, theps); if (DEBUG) cout << "SRA thebbs " << thebbs << endl; if (DEBUG) cout << "SRA theobs " << theobs << endl; if (DEBUG) cout << "SRA theps " << theps << endl; @@ -721,7 +721,7 @@ namespace Carpet { obs = allobs; ps = allps; for (size_t n=0; n<ps.size(); ++n) { - assert (ps[n] == n); + assert (ps.at(n) == n); } if (DEBUG) cout << "SRA exit" << endl; @@ -746,10 +746,10 @@ namespace Carpet { assert (bbs.size() == 1); - const ivect rstr = bbs[0].stride(); - const ivect rlb = bbs[0].lower(); - const ivect rub = bbs[0].upper() + rstr; - const bbvect obnd = obs[0]; + const ivect rstr = bbs.at(0).stride(); + const ivect rlb = bbs.at(0).lower(); + const ivect rub = bbs.at(0).upper() + rstr; + const bbvect obnd = obs.at(0); const ivect nprocs_dir (processor_topology_3d_x, processor_topology_3d_y, @@ -794,21 +794,21 @@ namespace Carpet { assert (all (cub <= rub)); assert (all (! (ipos==0) || clb==rlb)); assert (all (! (ipos==nprocs_dir-1) || cub==rub)); - bbs[c] = ibbox(clb, cub-cstr, cstr); - obs[c] = obnd; - ps[c] = c; - if (i>0) obs[c][0][0] = false; - if (j>0) obs[c][1][0] = false; - if (k>0) obs[c][2][0] = false; - if (i<nprocs_dir[0]-1) obs[c][0][1] = false; - if (j<nprocs_dir[1]-1) obs[c][1][1] = false; - if (k<nprocs_dir[2]-1) obs[c][2][1] = false; + bbs.at(c) = ibbox(clb, cub-cstr, cstr); + obs.at(c) = obnd; + ps.at(c) = c; + if (i>0) obs.at(c)[0][0] = false; + if (j>0) obs.at(c)[1][0] = false; + if (k>0) obs.at(c)[2][0] = false; + if (i<nprocs_dir[0]-1) obs.at(c)[0][1] = false; + if (j<nprocs_dir[1]-1) obs.at(c)[1][1] = false; + if (k<nprocs_dir[2]-1) obs.at(c)[2][1] = false; } } } for (size_t n=0; n<ps.size(); ++n) { - assert (ps[n] == n); + assert (ps.at(n) == n); } } @@ -825,7 +825,7 @@ namespace Carpet { vector<ibbox>& bbs) { bbs.resize (mglevels); - bbs[0] = bb; + bbs.at(0) = bb; // boundary offsets assert (size==2*dim); // (distance in grid points between the exterior and the physical boundary) @@ -839,9 +839,9 @@ namespace Carpet { } for (int ml=1; ml<mglevels; ++ml) { // next finer grid - ivect const flo = bbs[ml-1].lower(); - ivect const fhi = bbs[ml-1].upper(); - ivect const fstr = bbs[ml-1].stride(); + ivect const flo = bbs.at(ml-1).lower(); + ivect const fhi = bbs.at(ml-1).upper(); + ivect const fstr = bbs.at(ml-1).stride(); // this grid ivect const str = fstr * mgfact; ivect const modoffset = (xpose(offset)[0] - ivect(mgfact) * xpose(offset)[0] + ivect(mgfact) * xpose(offset)[0] * str) % str; @@ -867,7 +867,7 @@ namespace Carpet { MakeMultigridBoxes (cgh, size, nboundaryzones, is_internal, is_staggered, shiftout, - bbs[c], obs[c], bbss[c]); + bbs.at(c), obs.at(c), bbss.at(c)); } } diff --git a/Carpet/Carpet/src/Restrict.cc b/Carpet/Carpet/src/Restrict.cc index 8f38503e4..2d48d9481 100644 --- a/Carpet/Carpet/src/Restrict.cc +++ b/Carpet/Carpet/src/Restrict.cc @@ -11,7 +11,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Restrict.cc,v 1.25 2004/03/23 13:54:59 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Restrict.cc,v 1.26 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Restrict_cc); } @@ -46,21 +46,21 @@ namespace Carpet { const int tl = 0; for (int m=0; m<maps; ++m) { - assert (m<(int)arrdata[group].size()); + assert (m<(int)arrdata.at(group).size()); // use background time here (which may not be modified // by the user) - const CCTK_REAL time = vtt[m]->time (tl, reflevel, mglevel); + const CCTK_REAL time = vtt.at(m)->time (tl, reflevel, mglevel); - const CCTK_REAL time1 = vtt[m]->time (0, reflevel, mglevel); + const CCTK_REAL time1 = vtt.at(m)->time (0, reflevel, mglevel); const CCTK_REAL time2 = (cgh->cctk_time - cctk_initial_time) / delta_time; assert (fabs(time1 - time2) / (fabs(time1) + fabs(time2) + fabs(cgh->cctk_delta_time)) < 1e-12); for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { - assert (var<(int)arrdata[group][m].data.size()); - for (int c=0; c<vhh[m]->components(reflevel); ++c) { - arrdata[group][m].data[var]->ref_restrict + assert (var<(int)arrdata.at(group).at(m).data.size()); + for (int c=0; c<vhh.at(m)->components(reflevel); ++c) { + arrdata.at(group).at(m).data.at(var)->ref_restrict (state, tl, reflevel, c, mglevel, time); } } @@ -84,11 +84,11 @@ namespace Carpet { const int tl = 0; for (int m=0; m<maps; ++m) { - assert (m<(int)arrdata[group].size()); + assert (m<(int)arrdata.at(group).size()); for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) { - assert (var<(int)arrdata[group][m].data.size()); - for (int c=0; c<vhh[m]->components(reflevel); ++c) { - arrdata[group][m].data[var]->sync + assert (var<(int)arrdata.at(group).at(m).data.size()); + for (int c=0; c<vhh.at(m)->components(reflevel); ++c) { + arrdata.at(group).at(m).data.at(var)->sync (state, tl, reflevel, c, mglevel); } } diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc index 627059cf6..41ffca119 100644 --- a/Carpet/Carpet/src/SetupGH.cc +++ b/Carpet/Carpet/src/SetupGH.cc @@ -24,7 +24,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.69 2004/03/23 18:38:29 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.70 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_SetupGH_cc); } @@ -401,19 +401,19 @@ namespace Carpet { const ibbox baseext(lb, ub, str); // Allocate grid hierarchy - vhh[m] = new gh<dim>(refinement_factor, vertex_centered, + vhh.at(m) = new gh<dim>(refinement_factor, vertex_centered, convergence_factor, vertex_centered, baseext); // Allocate data hierarchy - vdd[m] = new dh<dim>(*vhh[m], lghosts, ughosts, + vdd.at(m) = new dh<dim>(*vhh.at(m), lghosts, ughosts, prolongation_order_space, buffer_width); // Allocate time hierarchy - vtt[m] = new th<dim>(*vhh[m], 1.0); + vtt.at(m) = new th<dim>(*vhh.at(m), 1.0); if (max_refinement_levels > 1) { const int prolongation_stencil_size - = vdd[m]->prolongation_stencil_size(); + = vdd.at(m)->prolongation_stencil_size(); const int min_nghosts = ((prolongation_stencil_size + refinement_factor - 1) / (refinement_factor-1)); @@ -434,7 +434,7 @@ namespace Carpet { if (strcmp(base_extents, "") == 0) { // default: one grid component covering everything - bbs.push_back (vhh[m]->baseextent); + bbs.push_back (vhh.at(m)->baseextent); obs.push_back (bbvect(true)); } else { @@ -478,9 +478,9 @@ namespace Carpet { vector<vector<vector<ibbox> > > bbsss(1); vector<vector<bbvect> > obss(1); vector<vector<int> > pss(1); - bbsss[0] = bbss; - obss[0] = obs; - pss[0] = ps; + bbsss.at(0) = bbss; + obss.at(0) = obs; + pss.at(0) = ps; // Check the regions CheckRegions (bbsss, obss, pss); @@ -489,7 +489,7 @@ namespace Carpet { OutputGridStructure (cgh, m, bbsss, obss, pss); // Recompose grid hierarchy - vhh[m]->recompose (bbsss, obss, pss, maxreflevels, false); + vhh.at(m)->recompose (bbsss, obss, pss, maxreflevels, false); CCTK_INFO ("Grid structure (grid points):"); const int rl = 0; @@ -513,7 +513,7 @@ namespace Carpet { reflevels = 1; for (int m=0; m<maps; ++m) { - assert (vhh[m]->reflevels() == reflevels); + assert (vhh.at(m)->reflevels() == reflevels); } @@ -530,11 +530,11 @@ namespace Carpet { case CCTK_GF: { assert (gp.dim == dim); - arrdata[group].resize(maps); + arrdata.at(group).resize(maps); for (int m=0; m<maps; ++m) { - arrdata[group][m].hh = vhh[m]; - arrdata[group][m].dd = vdd[m]; - arrdata[group][m].tt = vtt[m]; + arrdata.at(group).at(m).hh = vhh.at(m); + arrdata.at(group).at(m).dd = vdd.at(m); + arrdata.at(group).at(m).tt = vtt.at(m); } break; } @@ -542,7 +542,7 @@ namespace Carpet { case CCTK_SCALAR: case CCTK_ARRAY: { - arrdata[group].resize(1); + arrdata.at(group).resize(1); ivect sizes(1), ghostsizes(0); @@ -673,15 +673,15 @@ namespace Carpet { assert (all(convpowers == convpowers[0])); const int amgfact1 = ipow(mgfact, convpowers[0]); - arrdata[group][0].hh + arrdata.at(group).at(0).hh = new gh<dim>(refinement_factor, vertex_centered, amgfact1, vertex_centered, abaseext); - arrdata[group][0].dd - = new dh<dim>(*arrdata[group][0].hh, alghosts, aughosts, 0, 0); + arrdata.at(group).at(0).dd + = new dh<dim>(*arrdata.at(group).at(0).hh, alghosts, aughosts, 0, 0); - arrdata[group][0].tt = new th<dim>(*arrdata[group][0].hh, 1.0); + arrdata.at(group).at(0).tt = new th<dim>(*arrdata.at(group).at(0).hh, 1.0); @@ -709,19 +709,19 @@ namespace Carpet { aoffset[d][1] = convoffsets[d]; } for (size_t c=0; c<bbs.size(); ++c) { - bbss[c].resize (mglevels); - bbss[c][0] = bbs[c]; + bbss.at(c).resize (mglevels); + bbss.at(c).at(0) = bbs.at(c); for (int ml=1; ml<mglevels; ++ml) { // next finer grid - ivect const flo = bbss[c][ml-1].lower(); - ivect const fhi = bbss[c][ml-1].upper(); - ivect const fstr = bbss[c][ml-1].stride(); + ivect const flo = bbss.at(c).at(ml-1).lower(); + ivect const fhi = bbss.at(c).at(ml-1).upper(); + ivect const fstr = bbss.at(c).at(ml-1).stride(); // this grid ivect const str = fstr * amgfact; ivect const modoffset = (xpose(aoffset)[0] - amgfact * xpose(aoffset)[0] + amgfact * xpose(aoffset)[0] * str) % str; - ivect const lo = flo + xpose(obs[c])[0].ifthen ( xpose(aoffset)[0] - amgfact * xpose(aoffset)[0] , modoffset); - ivect const hi = fhi + xpose(obs[c])[1].ifthen ( - (xpose(aoffset)[1] - amgfact * xpose(aoffset)[1]), modoffset + fstr - str); - bbss[c][ml] = ibbox(lo,hi,str); + ivect const lo = flo + xpose(obs.at(c))[0].ifthen ( xpose(aoffset)[0] - amgfact * xpose(aoffset)[0] , modoffset); + ivect const hi = fhi + xpose(obs.at(c))[1].ifthen ( - (xpose(aoffset)[1] - amgfact * xpose(aoffset)[1]), modoffset + fstr - str); + bbss.at(c).at(ml) = ibbox(lo,hi,str); } } @@ -729,16 +729,16 @@ namespace Carpet { vector<vector<vector<ibbox> > > bbsss(1); vector<vector<bbvect> > obss(1); vector<vector<int> > pss(1); - bbsss[0] = bbss; - obss[0] = obs; - pss[0] = ps; + bbsss.at(0) = bbss; + obss.at(0) = obs; + pss.at(0) = ps; // Recompose for this map char * const groupname = CCTK_GroupName (group); assert (groupname); Checkpoint ("Recomposing grid array group \"%s\"", groupname); free (groupname); - arrdata[group][0].hh->recompose (bbsss, obss, pss, 1, false); + arrdata.at(group).at(0).hh->recompose (bbsss, obss, pss, 1, false); break; } @@ -748,22 +748,22 @@ namespace Carpet { } // Initialise group information - groupdata[group].info.dim = gp.dim; - groupdata[group].info.gsh = new int [dim]; - groupdata[group].info.lsh = new int [dim]; - groupdata[group].info.lbnd = new int [dim]; - groupdata[group].info.ubnd = new int [dim]; - groupdata[group].info.bbox = new int [2*dim]; - groupdata[group].info.nghostzones = new int [dim]; + groupdata.at(group).info.dim = gp.dim; + groupdata.at(group).info.gsh = new int [dim]; + groupdata.at(group).info.lsh = new int [dim]; + groupdata.at(group).info.lbnd = new int [dim]; + groupdata.at(group).info.ubnd = new int [dim]; + groupdata.at(group).info.bbox = new int [2*dim]; + groupdata.at(group).info.nghostzones = new int [dim]; - groupdata[group].transport_operator = GetTransportOperator (cgh, group); + groupdata.at(group).transport_operator = GetTransportOperator (cgh, group); // Initialise group variables - for (int m=0; m<arrdata[group].size(); ++m) { + for (int m=0; m<arrdata.at(group).size(); ++m) { - arrdata[group][m].data.resize(CCTK_NumVarsInGroupI(group)); - for (int var=0; var<(int)arrdata[group][m].data.size(); ++var) { - arrdata[group][m].data[var] = 0; + arrdata.at(group).at(m).data.resize(CCTK_NumVarsInGroupI(group)); + for (int var=0; var<(int)arrdata.at(group).at(m).data.size(); ++var) { + arrdata.at(group).at(m).data.at(var) = 0; } } @@ -775,7 +775,7 @@ namespace Carpet { // Allocate level times leveltimes.resize (mglevels); for (int ml=0; ml<mglevels; ++ml) { - leveltimes[ml].resize (maxreflevels); + leveltimes.at(ml).resize (maxreflevels); } origin_space.resize (mglevels); diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc index 873cd2238..3ce0461a0 100644 --- a/Carpet/Carpet/src/modes.cc +++ b/Carpet/Carpet/src/modes.cc @@ -12,7 +12,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/modes.cc,v 1.2 2004/03/23 18:38:29 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/modes.cc,v 1.3 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_modes_cc); } @@ -57,7 +57,7 @@ namespace Carpet { // assert (mglevel>=0 && mglevel<mglevels); // assert (reflevel>=0 && reflevel<reflevels); // assert (map>=0 && map<maps); -// assert (vhh[map]->local_components(reflevel)==1 || component==-1); +// assert (vhh.at(map)->local_components(reflevel)==1 || component==-1); } @@ -94,37 +94,37 @@ namespace Carpet { const int m = 0; const int c = CCTK_MyProc(cgh); - const ibbox& base = arrdata[group][m].hh->bases[rl][ml]; - const bbvect& obnds = arrdata[group][m].hh->outer_boundaries[rl][c]; - const ibbox& ext = arrdata[group][m].dd->boxes[rl][c][ml].exterior; + const ibbox& base = arrdata.at(group).at(m).hh->bases.at(rl).at(ml); + const bbvect& obnds = arrdata.at(group).at(m).hh->outer_boundaries.at(rl).at(c); + const ibbox& ext = arrdata.at(group).at(m).dd->boxes.at(rl).at(c).at(ml).exterior; - ivect::ref(const_cast<int*>(groupdata[group].info.nghostzones)) - = arrdata[group][m].dd->lghosts; - ivect::ref(const_cast<int*>(groupdata[group].info.gsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.nghostzones)) + = arrdata.at(group).at(m).dd->lghosts; + ivect::ref(const_cast<int*>(groupdata.at(group).info.gsh)) = base.shape() / base.stride(); - ivect::ref(const_cast<int*>(groupdata[group].info.lsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lsh)) = ext.shape() / ext.stride(); - ivect::ref(const_cast<int*>(groupdata[group].info.lbnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lbnd)) = (ext.lower() - base.lower()) / ext.stride(); - ivect::ref(const_cast<int*>(groupdata[group].info.ubnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.ubnd)) = (ext.upper() - base.lower()) / ext.stride(); for (int d=0; d<dim; ++d) { - const_cast<int*>(groupdata[group].info.bbox)[2*d ] = obnds[d][0]; - const_cast<int*>(groupdata[group].info.bbox)[2*d+1] = obnds[d][1]; + const_cast<int*>(groupdata.at(group).info.bbox)[2*d ] = obnds[d][0]; + const_cast<int*>(groupdata.at(group).info.bbox)[2*d+1] = obnds[d][1]; } for (int d=0; d<dim; ++d) { - assert (groupdata[group].info.lsh[d]>=0); - assert (groupdata[group].info.lsh[d]<=groupdata[group].info.gsh[d]); - if (d>=groupdata[group].info.dim) { - assert (groupdata[group].info.lsh[d]==1); + assert (groupdata.at(group).info.lsh[d]>=0); + assert (groupdata.at(group).info.lsh[d]<=groupdata.at(group).info.gsh[d]); + if (d>=groupdata.at(group).info.dim) { + assert (groupdata.at(group).info.lsh[d]==1); } - assert (groupdata[group].info.lbnd[d]>=0); - assert (groupdata[group].info.lbnd[d]<=groupdata[group].info.ubnd[d]+1); - assert (groupdata[group].info.ubnd[d]<groupdata[group].info.gsh[d]); - assert (groupdata[group].info.lbnd[d] + groupdata[group].info.lsh[d] - 1 - == groupdata[group].info.ubnd[d]); - assert (groupdata[group].info.lbnd[d]<=groupdata[group].info.ubnd[d]+1); + assert (groupdata.at(group).info.lbnd[d]>=0); + assert (groupdata.at(group).info.lbnd[d]<=groupdata.at(group).info.ubnd[d]+1); + assert (groupdata.at(group).info.ubnd[d]<groupdata.at(group).info.gsh[d]); + assert (groupdata.at(group).info.lbnd[d] + groupdata.at(group).info.lsh[d] - 1 + == groupdata.at(group).info.ubnd[d]); + assert (groupdata.at(group).info.lbnd[d]<=groupdata.at(group).info.ubnd[d]+1); } const int numvars = CCTK_NumVarsInGroupI (group); @@ -133,16 +133,16 @@ namespace Carpet { assert (firstvar>=0); const int num_tl = CCTK_NumTimeLevelsFromVarI (firstvar); - assert (rl>=0 && rl<(int)arrdata[group][m].dd->boxes.size()); - assert (c>=0 && c<(int)arrdata[group][m].dd->boxes[rl].size()); - assert (ml>=0 && ml<(int)arrdata[group][m].dd->boxes[rl][c].size()); - assert (arrdata[group][m].hh->is_local(rl,c)); + assert (rl>=0 && rl<(int)arrdata.at(group).at(m).dd->boxes.size()); + assert (c>=0 && c<(int)arrdata.at(group).at(m).dd->boxes.at(rl).size()); + assert (ml>=0 && ml<(int)arrdata.at(group).at(m).dd->boxes.at(rl).at(c).size()); + assert (arrdata.at(group).at(m).hh->is_local(rl,c)); assert (group<(int)arrdata.size()); for (int var=0; var<numvars; ++var) { - assert (var<(int)arrdata[group][m].data.size()); + assert (var<(int)arrdata.at(group).at(m).data.size()); for (int tl=0; tl<num_tl; ++tl) { - ggf<dim> * const ff = arrdata[group][m].data[var]; + ggf<dim> * const ff = arrdata.at(group).at(m).data.at(var); if (ff) { gdata<dim> * const data = (*ff) (-tl, rl, c, ml); assert (data); @@ -184,21 +184,21 @@ namespace Carpet { const int m = 0; -// ivect::ref(const_cast<int*>(groupdata[group].info.nghostzones)) +// ivect::ref(const_cast<int*>(groupdata.at(group).info.nghostzones)) // = 0xdead; - ivect::ref(const_cast<int*>(groupdata[group].info.nghostzones)) - = arrdata[group][m].dd->lghosts; - ivect::ref(const_cast<int*>(groupdata[group].info.gsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.nghostzones)) + = arrdata.at(group).at(m).dd->lghosts; + ivect::ref(const_cast<int*>(groupdata.at(group).info.gsh)) = 0xdead; - ivect::ref(const_cast<int*>(groupdata[group].info.lsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lsh)) = 0xdead; - ivect::ref(const_cast<int*>(groupdata[group].info.lbnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lbnd)) = -0xdead; - ivect::ref(const_cast<int*>(groupdata[group].info.ubnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.ubnd)) = 0xdead; for (int d=0; d<dim; ++d) { - const_cast<int*>(groupdata[group].info.bbox)[2*d ] = 0xdead; - const_cast<int*>(groupdata[group].info.bbox)[2*d+1] = 0xdead; + const_cast<int*>(groupdata.at(group).info.bbox)[2*d ] = 0xdead; + const_cast<int*>(groupdata.at(group).info.bbox)[2*d+1] = 0xdead; } const int numvars = CCTK_NumVarsInGroupI (group); @@ -209,7 +209,7 @@ namespace Carpet { assert (group<(int)arrdata.size()); for (int var=0; var<numvars; ++var) { - assert (var<(int)arrdata[group][m].data.size()); + assert (var<(int)arrdata.at(group).at(m).data.size()); for (int tl=0; tl<num_tl; ++tl) { cgh->data[firstvar+var][tl] = 0; } @@ -243,8 +243,8 @@ namespace Carpet { // Set current time assert (mglevel>=0 && mglevel<leveltimes.size()); - assert (reflevel>=0 && reflevel<leveltimes[mglevel].size()); - cgh->cctk_time = leveltimes[mglevel][reflevel]; + assert (reflevel>=0 && reflevel<leveltimes.at(mglevel).size()); + cgh->cctk_time = leveltimes.at(mglevel).at(reflevel); assert (is_level_mode()); } @@ -258,8 +258,8 @@ namespace Carpet { // Save and unset current time assert (mglevel>=0 && mglevel<leveltimes.size()); - assert (reflevel>=0 && reflevel<leveltimes[mglevel].size()); - leveltimes[mglevel][reflevel] = cgh->cctk_time; + assert (reflevel>=0 && reflevel<leveltimes.at(mglevel).size()); + leveltimes.at(mglevel).at(reflevel) = cgh->cctk_time; cgh->cctk_time = global_time; reflevel = -1; @@ -286,21 +286,21 @@ namespace Carpet { assert (map==0); // Set grid shape - const ibbox& coarseext = vdd[map]->bases[0 ][mglevel].exterior; - const ibbox& baseext = vdd[map]->bases[reflevel][mglevel].exterior; + const ibbox& coarseext = vdd.at(map)->bases.at(0 ).at(mglevel).exterior; + const ibbox& baseext = vdd.at(map)->bases.at(reflevel).at(mglevel).exterior; assert (all (baseext.lower() % baseext.stride() == 0)); assert (all ((baseext.lower() - coarseext.lower()) % baseext.stride() == 0)); ivect::ref(cgh->cctk_levoff) = (baseext.lower() - coarseext.lower()) / baseext.stride(); ivect::ref(cgh->cctk_levoffdenom) = 1; ivect::ref(cgh->cctk_gsh) = baseext.shape() / baseext.stride(); - assert (all (vdd[map]->lghosts == vdd[map]->ughosts)); - ivect::ref(cgh->cctk_nghostzones) = vdd[map]->lghosts; + assert (all (vdd.at(map)->lghosts == vdd.at(map)->ughosts)); + ivect::ref(cgh->cctk_nghostzones) = vdd.at(map)->lghosts; for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_GroupTypeI(group) == CCTK_GF) { - ivect::ref(const_cast<int*>(groupdata[group].info.gsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.gsh)) = ivect::ref(cgh->cctk_gsh); - ivect::ref(const_cast<int*>(groupdata[group].info.nghostzones)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.nghostzones)) = ivect::ref(cgh->cctk_nghostzones); } } @@ -320,13 +320,13 @@ namespace Carpet { ivect::ref(cgh->cctk_levoffdenom) = 0; ivect::ref(cgh->cctk_gsh) = 0xdead; // ivect::ref(cgh->cctk_nghostzones) = 0xdead; - ivect::ref(cgh->cctk_nghostzones) = vdd[map]->lghosts; + ivect::ref(cgh->cctk_nghostzones) = vdd.at(map)->lghosts; for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_GroupTypeI(group) == CCTK_GF) { - ivect::ref(const_cast<int*>(groupdata[group].info.gsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.gsh)) = ivect::ref(cgh->cctk_gsh); - ivect::ref(const_cast<int*>(groupdata[group].info.nghostzones)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.nghostzones)) = ivect::ref(cgh->cctk_nghostzones); } } @@ -345,15 +345,15 @@ namespace Carpet { void enter_local_mode (cGH * const cgh, int const c) { assert (is_singlemap_mode()); - assert (c>=0 && c<vhh[map]->components(reflevel)); + assert (c>=0 && c<vhh.at(map)->components(reflevel)); Checkpoint ("Entering local mode"); component = c; // Set cGH fields - const ibbox& baseext = vdd[map]->bases[reflevel][mglevel].exterior; - const bbvect& obnds = vhh[map]->outer_boundaries[reflevel][component]; - const ibbox& ext = vdd[map]->boxes[reflevel][component][mglevel].exterior; + const ibbox& baseext = vdd.at(map)->bases.at(reflevel).at(mglevel).exterior; + const bbvect& obnds = vhh.at(map)->outer_boundaries.at(reflevel).at(component); + const ibbox& ext = vdd.at(map)->boxes.at(reflevel).at(component).at(mglevel).exterior; ivect::ref(cgh->cctk_lsh) = ext.shape() / ext.stride(); ivect::ref(cgh->cctk_lbnd) @@ -386,17 +386,17 @@ namespace Carpet { for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_GroupTypeI(group) == CCTK_GF) { - ivect::ref(const_cast<int*>(groupdata[group].info.lsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lsh)) = ivect::ref(cgh->cctk_lsh); - ivect::ref(const_cast<int*>(groupdata[group].info.lbnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lbnd)) = ivect::ref(cgh->cctk_lbnd); - ivect::ref(const_cast<int*>(groupdata[group].info.ubnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.ubnd)) = ivect::ref(cgh->cctk_ubnd); for (int d=0; d<dim; ++d) { - const_cast<int*>(groupdata[group].info.bbox)[2*d ] + const_cast<int*>(groupdata.at(group).info.bbox)[2*d ] = cgh->cctk_bbox[2*d ]; - const_cast<int*>(groupdata[group].info.bbox)[2*d+1] + const_cast<int*>(groupdata.at(group).info.bbox)[2*d+1] = cgh->cctk_bbox[2*d+1]; } @@ -406,13 +406,13 @@ namespace Carpet { assert (firstvar>=0); const int num_tl = CCTK_NumTimeLevelsFromVarI (firstvar); -// assert (vhh[map]->is_local(reflevel,component)); +// assert (vhh.at(map)->is_local(reflevel,component)); assert (group<(int)arrdata.size()); for (int var=0; var<numvars; ++var) { - assert (var<(int)arrdata[group][map].data.size()); + assert (var<(int)arrdata.at(group).at(map).data.size()); for (int tl=0; tl<num_tl; ++tl) { - ggf<dim> * const ff = arrdata[group][map].data[var]; + ggf<dim> * const ff = arrdata.at(group).at(map).data.at(var); if (ff) { cgh->data[firstvar+var][tl] = (*ff) (-tl, reflevel, component, mglevel)->storage(); @@ -456,17 +456,17 @@ namespace Carpet { for (int group=0; group<CCTK_NumGroups(); ++group) { if (CCTK_GroupTypeI(group) == CCTK_GF) { - ivect::ref(const_cast<int*>(groupdata[group].info.lsh)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lsh)) = ivect::ref(cgh->cctk_lsh); - ivect::ref(const_cast<int*>(groupdata[group].info.lbnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.lbnd)) = ivect::ref(cgh->cctk_lbnd); - ivect::ref(const_cast<int*>(groupdata[group].info.ubnd)) + ivect::ref(const_cast<int*>(groupdata.at(group).info.ubnd)) = ivect::ref(cgh->cctk_ubnd); for (int d=0; d<dim; ++d) { - const_cast<int*>(groupdata[group].info.bbox)[2*d ] + const_cast<int*>(groupdata.at(group).info.bbox)[2*d ] = cgh->cctk_bbox[2*d ]; - const_cast<int*>(groupdata[group].info.bbox)[2*d+1] + const_cast<int*>(groupdata.at(group).info.bbox)[2*d+1] = cgh->cctk_bbox[2*d+1]; } @@ -478,7 +478,7 @@ namespace Carpet { assert (group<(int)arrdata.size()); for (int var=0; var<numvars; ++var) { - assert (var<(int)arrdata[group][map].data.size()); + assert (var<(int)arrdata.at(group).at(map).data.size()); for (int tl=0; tl<num_tl; ++tl) { cgh->data[firstvar+var][tl] = 0; } @@ -666,7 +666,7 @@ namespace Carpet { bool component_iterator::done () const { return (grouptype == CCTK_GF - ? c >= vhh[map]->components(reflevel) + ? c >= vhh.at(map)->components(reflevel) : c >= CCTK_nProcs(cgh)); } @@ -701,7 +701,7 @@ namespace Carpet { bool local_component_iterator::done () const { return c >= (grouptype == CCTK_GF - ? vhh[map]->components(reflevel) + ? vhh.at(map)->components(reflevel) : CCTK_nProcs(cgh)); } @@ -710,7 +710,7 @@ namespace Carpet { do { ++ c; } while (! done() && ! (grouptype == CCTK_GF - ? vhh[map]->is_local(reflevel, c) + ? vhh.at(map)->is_local(reflevel, c) : c == CCTK_MyProc(cgh))); if (! done()) { leave_local_mode (cgh); diff --git a/Carpet/CarpetIOASCII/src/ioascii.cc b/Carpet/CarpetIOASCII/src/ioascii.cc index 61d26cb08..a65f64cb0 100644 --- a/Carpet/CarpetIOASCII/src/ioascii.cc +++ b/Carpet/CarpetIOASCII/src/ioascii.cc @@ -31,7 +31,7 @@ #include "ioascii.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOASCII/src/ioascii.cc,v 1.65 2004/03/23 16:13:03 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOASCII/src/ioascii.cc,v 1.66 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetIOASCII_ioascii_cc); } @@ -491,8 +491,8 @@ namespace CarpetIOASCII { const ggf<dim>* ff = 0; - assert (var < (int)arrdata[group][Carpet::map].data.size()); - ff = (ggf<dim>*)arrdata[group][Carpet::map].data[var]; + assert (var < (int)arrdata.at(group).at(Carpet::map).data.size()); + ff = (ggf<dim>*)arrdata.at(group).at(Carpet::map).data.at(var); const int mintl = output_all_timelevels ? 1-num_tl : 0; const int maxtl = 0; @@ -936,7 +936,7 @@ namespace CarpetIOASCII { void SetFlag (int index, const char* optstring, void* arg) { vector<bool>& flags = *(vector<bool>*)arg; - flags[index] = true; + flags.at(index) = true; } diff --git a/Carpet/CarpetIOHDF5/src/iohdf5.cc b/Carpet/CarpetIOHDF5/src/iohdf5.cc index d0978bc0b..b7291a2c0 100644 --- a/Carpet/CarpetIOHDF5/src/iohdf5.cc +++ b/Carpet/CarpetIOHDF5/src/iohdf5.cc @@ -17,7 +17,7 @@ #include "cctk_Parameters.h" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOHDF5/src/iohdf5.cc,v 1.21 2004/03/22 11:54:02 cott Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOHDF5/src/iohdf5.cc,v 1.22 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetIOHDF5_iohdf5_cc); } @@ -313,7 +313,7 @@ namespace CarpetIOHDF5 { tmp->allocate (ext, 0); if ( !((cgdata.disttype == CCTK_DISTRIB_CONSTANT) && - (arrdata[group][Carpet::map].hh->processors[reflevel][component]!=0))) { + (arrdata.at(group).at(Carpet::map).hh->processors.at(reflevel).at(component)!=0))) { if (cgdata.disttype == CCTK_DISTRIB_CONSTANT) { assert(grouptype == CCTK_ARRAY || grouptype == CCTK_SCALAR); @@ -757,8 +757,8 @@ namespace CarpetIOHDF5 { if (h5verbose) cout << "CCTK_DISTRIB_CONSTANT: " << varname << endl; assert(grouptype == CCTK_ARRAY || grouptype == CCTK_SCALAR); if (grouptype == CCTK_SCALAR) { - lb[0] = arrdata[group][Carpet::map].hh->processors.at(rl).at(component); - ub[0] = arrdata[group][Carpet::map].hh->processors.at(rl).at(component); + lb[0] = arrdata.at(group).at(Carpet::map).hh->processors.at(rl).at(component); + ub[0] = arrdata.at(group).at(Carpet::map).hh->processors.at(rl).at(component); for(int i=1;i<dim;i++) { lb[i]=0; ub[i]=0; @@ -766,10 +766,10 @@ namespace CarpetIOHDF5 { } else { const int newlb = lb[gpdim-1] + (ub[gpdim-1]-lb[gpdim-1]+1)* - (arrdata[group][Carpet::map].hh->processors.at(rl).at(component)); + (arrdata.at(group).at(Carpet::map).hh->processors.at(rl).at(component)); const int newub = ub[gpdim-1] + (ub[gpdim-1]-lb[gpdim-1]+1)* - (arrdata[group][Carpet::map].hh->processors.at(rl).at(component)); + (arrdata.at(group).at(Carpet::map).hh->processors.at(rl).at(component)); lb[gpdim-1] = newlb; ub[gpdim-1] = newub; } @@ -813,7 +813,7 @@ namespace CarpetIOHDF5 { } END_COMPONENT_LOOP; if (called_from_recovery) { - arrdata[group][Carpet::map].tt->set_time(reflevel,mglevel, + arrdata.at(group).at(Carpet::map).tt->set_time(reflevel,mglevel, (CCTK_REAL) ((cctkGH->cctk_time - cctk_initial_time) / (delta_time * mglevelfact)) ); } diff --git a/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc b/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc index 35aa8dd6b..6a3a1e9af 100644 --- a/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc +++ b/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc @@ -18,7 +18,7 @@ #include "cctk_Version.h" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc,v 1.17 2004/03/23 10:13:30 cott Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetIOHDF5/src/iohdf5chckpt_recover.cc,v 1.18 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetIOHDF5_iohdf5chckpt_recover_cc); } @@ -189,7 +189,7 @@ namespace CarpetIOHDF5 { assert (attr>=0); atype = H5Aget_type (attr); assert (atype>=0); - herr = H5Aread (attr, atype, &leveltimes[lcv][0]); + herr = H5Aread (attr, atype, &leveltimes.at(lcv).at(0)); assert(!herr); herr = H5Aclose(attr); assert(!herr); @@ -212,13 +212,13 @@ namespace CarpetIOHDF5 { for(int i=0;i<numberofmgtimes;i++) { - mpierr = MPI_Bcast (&(leveltimes[i][0]), reflevels, CARPET_MPI_REAL, 0, MPI_COMM_WORLD); + mpierr = MPI_Bcast (&(leveltimes.at(i).at(0)), reflevels, CARPET_MPI_REAL, 0, MPI_COMM_WORLD); assert(!mpierr); } if (h5verbose) cout << "leveltimes: " << leveltimes << endl; - cctkGH->cctk_time = leveltimes[mglevel][reflevel]; + cctkGH->cctk_time = leveltimes.at(mglevel).at(reflevel); result += RecoverGHextensions(cctkGH,reader); @@ -803,7 +803,7 @@ namespace CarpetIOHDF5 { for(int i=0;i < numberofmgtimes;i++) { char buffer[100]; sprintf(buffer,"mgleveltimes %d",i); - WriteAttribute(dataset,buffer,(double *) &leveltimes[i][0], reflevels); + WriteAttribute(dataset,buffer,(double *) &leveltimes.at(i).at(0), reflevels); } herr = H5Dclose (dataset); diff --git a/Carpet/CarpetLib/src/gdata.cc b/Carpet/CarpetLib/src/gdata.cc index 97f39972c..142f900be 100644 --- a/Carpet/CarpetLib/src/gdata.cc +++ b/Carpet/CarpetLib/src/gdata.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gdata.cc,v 1.27 2004/03/23 12:14:29 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gdata.cc,v 1.28 2004/03/23 19:30:14 schnetter Exp $ #include <assert.h> #include <stdlib.h> @@ -273,15 +273,15 @@ void gdata<D> assert (all((box.lower()-extent().lower())%box.stride() == 0)); assert (srcs.size() == times.size() && srcs.size()>0); for (int t=0; t<(int)srcs.size(); ++t) { - assert (srcs[t]->has_storage()); - assert (all(box.lower()>=srcs[t]->extent().lower())); - assert (all(box.upper()<=srcs[t]->extent().upper())); + assert (srcs.at(t)->has_storage()); + assert (all(box.lower()>=srcs.at(t)->extent().lower())); + assert (all(box.upper()<=srcs.at(t)->extent().upper())); } assert (! box.empty()); if (box.empty()) return; - assert (proc() == srcs[0]->proc()); + assert (proc() == srcs.at(0)->proc()); assert (transport_operator != op_error); assert (transport_operator != op_none); @@ -313,15 +313,15 @@ void gdata<D> assert (all((box.lower()-extent().lower())%box.stride() == 0)); assert (srcs.size() == times.size() && srcs.size()>0); for (int t=0; t<(int)srcs.size(); ++t) { - assert (srcs[t]->has_storage()); - assert (all(box.lower()>=srcs[t]->extent().lower())); - assert (all(box.upper()<=srcs[t]->extent().upper())); + assert (srcs.at(t)->has_storage()); + assert (all(box.lower()>=srcs.at(t)->extent().lower())); + assert (all(box.upper()<=srcs.at(t)->extent().upper())); } assert (! box.empty()); if (box.empty()) return; - if (proc() == srcs[0]->proc()) { + if (proc() == srcs.at(0)->proc()) { // interpolate on same processor } else { @@ -331,7 +331,7 @@ void gdata<D> // TODO: is this efficient? state.tmps.push_back (tmp); ++state.current; - tmp->allocate (box, srcs[0]->proc()); + tmp->allocate (box, srcs.at(0)->proc()); tmp->change_processor_recv (proc()); } @@ -355,15 +355,15 @@ void gdata<D> assert (all((box.lower()-extent().lower())%box.stride() == 0)); assert (srcs.size() == times.size() && srcs.size()>0); for (int t=0; t<(int)srcs.size(); ++t) { - assert (srcs[t]->has_storage()); - assert (all(box.lower()>=srcs[t]->extent().lower())); - assert (all(box.upper()<=srcs[t]->extent().upper())); + assert (srcs.at(t)->has_storage()); + assert (all(box.lower()>=srcs.at(t)->extent().lower())); + assert (all(box.upper()<=srcs.at(t)->extent().upper())); } assert (! box.empty()); if (box.empty()) return; - if (proc() == srcs[0]->proc()) { + if (proc() == srcs.at(0)->proc()) { // interpolate on same processor interpolate_from_nocomm (srcs, times, box, time, order_space, order_time); @@ -397,15 +397,15 @@ void gdata<D> assert (all((box.lower()-extent().lower())%box.stride() == 0)); assert (srcs.size() == times.size() && srcs.size()>0); for (int t=0; t<(int)srcs.size(); ++t) { - assert (srcs[t]->has_storage()); - assert (all(box.lower()>=srcs[t]->extent().lower())); - assert (all(box.upper()<=srcs[t]->extent().upper())); + assert (srcs.at(t)->has_storage()); + assert (all(box.lower()>=srcs.at(t)->extent().lower())); + assert (all(box.upper()<=srcs.at(t)->extent().upper())); } assert (! box.empty()); if (box.empty()) return; - if (proc() == srcs[0]->proc()) { + if (proc() == srcs.at(0)->proc()) { // interpolate on same processor } else { diff --git a/Carpet/CarpetLib/src/gf.cc b/Carpet/CarpetLib/src/gf.cc index b2b5198d4..462c179b8 100644 --- a/Carpet/CarpetLib/src/gf.cc +++ b/Carpet/CarpetLib/src/gf.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gf.cc,v 1.16 2004/03/23 12:40:27 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gf.cc,v 1.17 2004/03/23 19:30:14 schnetter Exp $ #include <assert.h> @@ -39,7 +39,7 @@ const data<T,D>* gf<T,D>::operator() (int tl, int rl, int c, int ml) const { assert (rl>=0 && rl<this->h.reflevels()); assert (c>=0 && c<this->h.components(rl)); assert (ml>=0 && ml<this->h.mglevels(rl,c)); - return (const data<T,D>*)this->storage[tl-this->tmin][rl][c][ml]; + return (const data<T,D>*)this->storage.at(tl-this->tmin).at(rl).at(c).at(ml); } template<class T,int D> @@ -48,7 +48,7 @@ data<T,D>* gf<T,D>::operator() (int tl, int rl, int c, int ml) { assert (rl>=0 && rl<this->h.reflevels()); assert (c>=0 && c<this->h.components(rl)); assert (ml>=0 && ml<this->h.mglevels(rl,c)); - return (data<T,D>*)this->storage[tl-this->tmin][rl][c][ml]; + return (data<T,D>*)this->storage.at(tl-this->tmin).at(rl).at(c).at(ml); } diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc index 877308389..38657d367 100644 --- a/Carpet/CarpetLib/src/ggf.cc +++ b/Carpet/CarpetLib/src/ggf.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.35 2004/03/23 12:40:27 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.36 2004/03/23 19:30:14 schnetter Exp $ #include <assert.h> #include <stdlib.h> @@ -65,13 +65,13 @@ void ggf<D>::recompose (const int initialise_from, const bool do_prolongate) { // Resize structure storage.resize(tmax-tmin+1); for (int tl=tmin; tl<=tmax; ++tl) { - storage[tl-tmin].resize(h.reflevels()); + storage.at(tl-tmin).resize(h.reflevels()); for (int rl=initialise_from; rl<h.reflevels(); ++rl) { - storage[tl-tmin][rl].resize(h.components(rl)); + storage.at(tl-tmin).at(rl).resize(h.components(rl)); for (int c=0; c<h.components(rl); ++c) { - storage[tl-tmin][rl][c].resize(h.mglevels(rl,c)); + storage.at(tl-tmin).at(rl).at(c).resize(h.mglevels(rl,c)); for (int ml=0; ml<h.mglevels(rl,c); ++ml) { - storage[tl-tmin][rl][c][ml] = NULL; + storage.at(tl-tmin).at(rl).at(c).at(ml) = NULL; } // for ml } // for c } // for rl @@ -83,11 +83,11 @@ void ggf<D>::recompose (const int initialise_from, const bool do_prolongate) { for (int c=0; c<h.components(rl); ++c) { for (int ml=0; ml<h.mglevels(rl,c); ++ml) { - storage[tl-tmin][rl][c][ml] = typed_data(tl,rl,c,ml); + storage.at(tl-tmin).at(rl).at(c).at(ml) = typed_data(tl,rl,c,ml); // Allocate storage - storage[tl-tmin][rl][c][ml]->allocate - (d.boxes[rl][c][ml].exterior, h.proc(rl,c)); + storage.at(tl-tmin).at(rl).at(c).at(ml)->allocate + (d.boxes.at(rl).at(c).at(ml).exterior, h.proc(rl,c)); if (do_prolongate) { // Initialise from coarser level, if possible @@ -102,15 +102,15 @@ void ggf<D>::recompose (const int initialise_from, const bool do_prolongate) { // Copy from old storage, if possible // todo: copy only from interior regions? - if (rl<(int)oldstorage[tl-tmin].size()) { + if (rl<(int)oldstorage.at(tl-tmin).size()) { for (comm_state<D> state; !state.done(); state.step()) { - for (int cc=0; cc<(int)oldstorage[tl-tmin][rl].size(); ++cc) { - if (ml<(int)oldstorage[tl-tmin][rl][cc].size()) { + for (int cc=0; cc<(int)oldstorage.at(tl-tmin).at(rl).size(); ++cc) { + if (ml<(int)oldstorage.at(tl-tmin).at(rl).at(cc).size()) { const ibbox ovlp = - (d.boxes[rl][c][ml].exterior - & oldstorage[tl-tmin][rl][cc][ml]->extent()); - storage[tl-tmin][rl][c][ml]->copy_from - (state, oldstorage[tl-tmin][rl][cc][ml], ovlp); + (d.boxes.at(rl).at(c).at(ml).exterior + & oldstorage.at(tl-tmin).at(rl).at(cc).at(ml)->extent()); + storage.at(tl-tmin).at(rl).at(c).at(ml)->copy_from + (state, oldstorage.at(tl-tmin).at(rl).at(cc).at(ml), ovlp); } // if ml } // for cc } // for step @@ -124,10 +124,10 @@ void ggf<D>::recompose (const int initialise_from, const bool do_prolongate) { // Delete old storage for (int tl=tmin; tl<=tmax; ++tl) { - for (int rl=initialise_from; rl<(int)oldstorage[tl-tmin].size(); ++rl) { - for (int c=0; c<(int)oldstorage[tl-tmin][rl].size(); ++c) { - for (int ml=0; ml<(int)oldstorage[tl-tmin][rl][c].size(); ++ml) { - delete oldstorage[tl-tmin][rl][c][ml]; + for (int rl=initialise_from; rl<(int)oldstorage.at(tl-tmin).size(); ++rl) { + for (int c=0; c<(int)oldstorage.at(tl-tmin).at(rl).size(); ++c) { + for (int ml=0; ml<(int)oldstorage.at(tl-tmin).at(rl).at(c).size(); ++ml) { + delete oldstorage.at(tl-tmin).at(rl).at(c).at(ml); } // for ml } // for c } // for rl @@ -167,11 +167,11 @@ void ggf<D>::cycle (int rl, int c, int ml) { assert (rl>=0 && rl<h.reflevels()); assert (c>=0 && c<h.components(rl)); assert (ml>=0 && ml<h.mglevels(rl,c)); - gdata<D>* tmpdata = storage[tmin-tmin][rl][c][ml]; + gdata<D>* tmpdata = storage.at(tmin-tmin).at(rl).at(c).at(ml); for (int tl=tmin; tl<=tmax-1; ++tl) { - storage[tl-tmin][rl][c][ml] = storage[tl+1-tmin][rl][c][ml]; + storage.at(tl-tmin).at(rl).at(c).at(ml) = storage.at(tl+1-tmin).at(rl).at(c).at(ml); } - storage[tmax-tmin][rl][c][ml] = tmpdata; + storage.at(tmax-tmin).at(rl).at(c).at(ml) = tmpdata; } // Flip the time levels by exchanging the data sets @@ -184,9 +184,9 @@ void ggf<D>::flip (int rl, int c, int ml) { const int tl1 = tmin + t; const int tl2 = tmax - t; assert (tl1 < tl2); - gdata<D>* tmpdata = storage[tl1-tmin][rl][c][ml]; - storage[tl1-tmin][rl][c][ml] = storage[tl2-tmin][rl][c][ml]; - storage[tl2-tmin][rl][c][ml] = tmpdata; + gdata<D>* tmpdata = storage.at(tl1-tmin).at(rl).at(c).at(ml); + storage.at(tl1-tmin).at(rl).at(c).at(ml) = storage.at(tl2-tmin).at(rl).at(c).at(ml); + storage.at(tl2-tmin).at(rl).at(c).at(ml) = tmpdata; } } @@ -210,13 +210,13 @@ void ggf<D>::copycat (comm_state<D>& state, assert (rl2>=0 && rl2<h.reflevels()); const int c2=c1; assert (ml2<h.mglevels(rl2,c2)); - const ibbox recv = d.boxes[rl1][c1][ml1].*recv_list; - const ibbox send = d.boxes[rl2][c2][ml2].*send_list; + const ibbox recv = d.boxes.at(rl1).at(c1).at(ml1).*recv_list; + const ibbox send = d.boxes.at(rl2).at(c2).at(ml2).*send_list; assert (all(recv.shape()==send.shape())); // copy the content assert (recv==send); - storage[tl1-tmin][rl1][c1][ml1]->copy_from - (state, storage[tl2-tmin][rl2][c2][ml2], recv); + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->copy_from + (state, storage.at(tl2-tmin).at(rl2).at(c2).at(ml2), recv); } // Copy regions @@ -235,16 +235,16 @@ void ggf<D>::copycat (comm_state<D>& state, assert (rl2>=0 && rl2<h.reflevels()); const int c2=c1; assert (ml2<h.mglevels(rl2,c2)); - const iblist recv = d.boxes[rl1][c1][ml1].*recv_list; - const iblist send = d.boxes[rl2][c2][ml2].*send_list; + const iblist recv = d.boxes.at(rl1).at(c1).at(ml1).*recv_list; + const iblist send = d.boxes.at(rl2).at(c2).at(ml2).*send_list; assert (recv.size()==send.size()); // walk all boxes for (typename iblist::const_iterator r=recv.begin(), s=send.begin(); r!=recv.end(); ++r, ++s) { // (use the send boxes for communication) // copy the content - storage[tl1-tmin][rl1][c1][ml1]->copy_from - (state, storage[tl2-tmin][rl2][c2][ml2], *r); + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->copy_from + (state, storage.at(tl2-tmin).at(rl2).at(c2).at(ml2), *r); } } @@ -265,16 +265,16 @@ void ggf<D>::copycat (comm_state<D>& state, // walk all components for (int c2=0; c2<h.components(rl2); ++c2) { assert (ml2<h.mglevels(rl2,c2)); - const iblist recv = (d.boxes[rl1][c1][ml1].*recv_listvect)[c2]; - const iblist send = (d.boxes[rl2][c2][ml2].*send_listvect)[c1]; + const iblist recv = (d.boxes.at(rl1).at(c1).at(ml1).*recv_listvect).at(c2); + const iblist send = (d.boxes.at(rl2).at(c2).at(ml2).*send_listvect).at(c1); assert (recv.size()==send.size()); // walk all boxes for (typename iblist::const_iterator r=recv.begin(), s=send.begin(); r!=recv.end(); ++r, ++s) { // (use the send boxes for communication) // copy the content - storage[tl1-tmin][rl1][c1][ml1]->copy_from - (state, storage[tl2-tmin][rl2][c2][ml2], *r); + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->copy_from + (state, storage.at(tl2-tmin).at(rl2).at(c2).at(ml2), *r); } } } @@ -293,7 +293,7 @@ void ggf<D>::intercat (comm_state<D>& state, assert (c1>=0 && c1<h.components(rl1)); assert (ml1>=0 && ml1<h.mglevels(rl1,c1)); for (int i=0; i<(int)tl2s.size(); ++i) { - assert (tl2s[i]>=tmin && tl2s[i]<=tmax); + assert (tl2s.at(i)>=tmin && tl2s.at(i)<=tmax); } assert (rl2>=0 && rl2<h.reflevels()); const int c2=c1; @@ -302,19 +302,19 @@ void ggf<D>::intercat (comm_state<D>& state, vector<const gdata<D>*> gsrcs(tl2s.size()); vector<CCTK_REAL> times(tl2s.size()); for (int i=0; i<(int)gsrcs.size(); ++i) { - assert (rl2<(int)storage[tl2s[i]-tmin].size()); - assert (c2<(int)storage[tl2s[i]-tmin][rl2].size()); - assert (ml2<(int)storage[tl2s[i]-tmin][rl2][c2].size()); - gsrcs[i] = storage[tl2s[i]-tmin][rl2][c2][ml2]; - times[i] = t.time(tl2s[i],rl2,ml2); + assert (rl2<(int)storage.at(tl2s.at(i)-tmin).size()); + assert (c2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).size()); + assert (ml2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).size()); + gsrcs.at(i) = storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).at(ml2); + times.at(i) = t.time(tl2s.at(i),rl2,ml2); } - const ibbox recv = d.boxes[rl1][c1][ml1].*recv_list; - const ibbox send = d.boxes[rl2][c2][ml2].*send_list; + const ibbox recv = d.boxes.at(rl1).at(c1).at(ml1).*recv_list; + const ibbox send = d.boxes.at(rl2).at(c2).at(ml2).*send_list; assert (all(recv.shape()==send.shape())); // interpolate the content assert (recv==send); - storage[tl1-tmin][rl1][c1][ml1]->interpolate_from + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->interpolate_from (state, gsrcs, times, recv, time, d.prolongation_order_space, prolongation_order_time); } @@ -333,7 +333,7 @@ void ggf<D>::intercat (comm_state<D>& state, assert (c1>=0 && c1<h.components(rl1)); assert (ml1>=0 && ml1<h.mglevels(rl1,c1)); for (int i=0; i<(int)tl2s.size(); ++i) { - assert (tl2s[i]>=tmin && tl2s[i]<=tmax); + assert (tl2s.at(i)>=tmin && tl2s.at(i)<=tmax); } assert (rl2>=0 && rl2<h.reflevels()); const int c2=c1; @@ -342,22 +342,22 @@ void ggf<D>::intercat (comm_state<D>& state, vector<const gdata<D>*> gsrcs(tl2s.size()); vector<CCTK_REAL> times(tl2s.size()); for (int i=0; i<(int)gsrcs.size(); ++i) { - assert (rl2<(int)storage[tl2s[i]-tmin].size()); - assert (c2<(int)storage[tl2s[i]-tmin][rl2].size()); - assert (ml2<(int)storage[tl2s[i]-tmin][rl2][c2].size()); - gsrcs[i] = storage[tl2s[i]-tmin][rl2][c2][ml2]; - times[i] = t.time(tl2s[i],rl2,ml2); + assert (rl2<(int)storage.at(tl2s.at(i)-tmin).size()); + assert (c2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).size()); + assert (ml2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).size()); + gsrcs.at(i) = storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).at(ml2); + times.at(i) = t.time(tl2s.at(i),rl2,ml2); } - const iblist recv = d.boxes[rl1][c1][ml1].*recv_list; - const iblist send = d.boxes[rl2][c2][ml2].*send_list; + const iblist recv = d.boxes.at(rl1).at(c1).at(ml1).*recv_list; + const iblist send = d.boxes.at(rl2).at(c2).at(ml2).*send_list; assert (recv.size()==send.size()); // walk all boxes for (typename iblist::const_iterator r=recv.begin(), s=send.begin(); r!=recv.end(); ++r, ++s) { // (use the send boxes for communication) // interpolate the content - storage[tl1-tmin][rl1][c1][ml1]->interpolate_from + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->interpolate_from (state, gsrcs, times, *r, time, d.prolongation_order_space, prolongation_order_time); } @@ -377,7 +377,7 @@ void ggf<D>::intercat (comm_state<D>& state, assert (c1>=0 && c1<h.components(rl1)); assert (ml1>=0 && ml1<h.mglevels(rl1,c1)); for (int i=0; i<(int)tl2s.size(); ++i) { - assert (tl2s[i]>=tmin && tl2s[i]<=tmax); + assert (tl2s.at(i)>=tmin && tl2s.at(i)<=tmax); } assert (rl2>=0 && rl2<h.reflevels()); // walk all components @@ -387,22 +387,22 @@ void ggf<D>::intercat (comm_state<D>& state, vector<const gdata<D>*> gsrcs(tl2s.size()); vector<CCTK_REAL> times(tl2s.size()); for (int i=0; i<(int)gsrcs.size(); ++i) { - assert (rl2<(int)storage[tl2s[i]-tmin].size()); - assert (c2<(int)storage[tl2s[i]-tmin][rl2].size()); - assert (ml2<(int)storage[tl2s[i]-tmin][rl2][c2].size()); - gsrcs[i] = storage[tl2s[i]-tmin][rl2][c2][ml2]; - times[i] = t.time(tl2s[i],rl2,ml2); + assert (rl2<(int)storage.at(tl2s.at(i)-tmin).size()); + assert (c2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).size()); + assert (ml2<(int)storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).size()); + gsrcs.at(i) = storage.at(tl2s.at(i)-tmin).at(rl2).at(c2).at(ml2); + times.at(i) = t.time(tl2s.at(i),rl2,ml2); } - const iblist recv = (d.boxes[rl1][c1][ml1].*recv_listvect)[c2]; - const iblist send = (d.boxes[rl2][c2][ml2].*send_listvect)[c1]; + const iblist recv = (d.boxes.at(rl1).at(c1).at(ml1).*recv_listvect).at(c2); + const iblist send = (d.boxes.at(rl2).at(c2).at(ml2).*send_listvect).at(c1); assert (recv.size()==send.size()); // walk all boxes for (typename iblist::const_iterator r=recv.begin(), s=send.begin(); r!=recv.end(); ++r, ++s) { // (use the send boxes for communication) // interpolate the content - storage[tl1-tmin][rl1][c1][ml1]->interpolate_from + storage.at(tl1-tmin).at(rl1).at(c1).at(ml1)->interpolate_from (state, gsrcs, times, *r, time, d.prolongation_order_space, prolongation_order_time); } @@ -444,7 +444,7 @@ void ggf<D>::ref_bnd_prolongate (comm_state<D>& state, // Interpolation in time assert (tmax-tmin+1 >= prolongation_order_time+1); tl2s.resize(prolongation_order_time+1); - for (int i=0; i<=prolongation_order_time; ++i) tl2s[i] = tmax - i; + for (int i=0; i<=prolongation_order_time; ++i) tl2s.at(i) = tmax - i; intercat (state, tl ,rl ,c,ml, &dh<D>::dboxes::recv_ref_bnd_coarse, tl2s,rl-1, ml, &dh<D>::dboxes::send_ref_bnd_fine, @@ -509,7 +509,7 @@ void ggf<D>::ref_prolongate (comm_state<D>& state, // Interpolation in time assert (tmax-tmin+1 >= prolongation_order_time+1); tl2s.resize(prolongation_order_time+1); - for (int i=0; i<=prolongation_order_time; ++i) tl2s[i] = tmax - i; + for (int i=0; i<=prolongation_order_time; ++i) tl2s.at(i) = tmax - i; intercat (state, tl ,rl ,c,ml, &dh<D>::dboxes::recv_ref_coarse, tl2s,rl-1, ml, &dh<D>::dboxes::send_ref_fine, diff --git a/Carpet/CarpetLib/src/gh.cc b/Carpet/CarpetLib/src/gh.cc index fdaa3d054..6ae534f92 100644 --- a/Carpet/CarpetLib/src/gh.cc +++ b/Carpet/CarpetLib/src/gh.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.cc,v 1.24 2004/01/25 14:57:30 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.cc,v 1.25 2004/03/23 19:30:14 schnetter Exp $ #include <assert.h> #include <stdlib.h> @@ -55,8 +55,8 @@ void gh<D>::recompose (const rexts& exts, assert (processors.size() == extents.size()); assert (outer_boundaries.size() == extents.size()); for (int c=0; c<components(rl); ++c) { - assert (processors[rl].size() == extents[rl].size()); - assert (outer_boundaries[rl].size() == extents[rl].size()); + assert (processors.at(rl).size() == extents.at(rl).size()); + assert (outer_boundaries.at(rl).size() == extents.at(rl).size()); } } @@ -65,11 +65,11 @@ void gh<D>::recompose (const rexts& exts, for (int c=0; c<components(rl); ++c) { assert (mglevels(rl,c)>0); for (int ml=1; ml<mglevels(rl,c); ++ml) { - assert (all(extents[rl][c][ml].stride() - == ivect(mgfact) * extents[rl][c][ml-1].stride())); - assert (extents[rl][c][ml] - .contracted_for(extents[rl][c][ml-1]) - .is_contained_in(extents[rl][c][ml-1])); + assert (all(extents.at(rl).at(c).at(ml).stride() + == ivect(mgfact) * extents.at(rl).at(c).at(ml-1).stride())); + assert (extents.at(rl).at(c).at(ml) + .contracted_for(extents.at(rl).at(c).at(ml-1)) + .is_contained_in(extents.at(rl).at(c).at(ml-1))); } } } @@ -79,11 +79,11 @@ void gh<D>::recompose (const rexts& exts, assert (components(rl)>0); for (int c=0; c<components(rl); ++c) { for (int ml=0; ml<mglevels(rl,c); ++ml) { - assert (all(extents[rl][c][ml].stride() - == extents[rl][0][ml].stride())); - assert (extents[rl][c][ml].is_aligned_with(extents[rl][0][ml])); + assert (all(extents.at(rl).at(c).at(ml).stride() + == extents.at(rl).at(0).at(ml).stride())); + assert (extents.at(rl).at(c).at(ml).is_aligned_with(extents.at(rl).at(0).at(ml))); for (int cc=c+1; cc<components(rl); ++cc) { - assert ((extents[rl][c][ml] & extents[rl][cc][ml]).empty()); + assert ((extents.at(rl).at(c).at(ml) & extents.at(rl).at(cc).at(ml)).empty()); } } } @@ -92,25 +92,25 @@ void gh<D>::recompose (const rexts& exts, // Check base grid extent if (reflevels()>0) { for (int c=0; c<components(0); ++c) { - assert (extents[0][c][0].is_contained_in(baseextent)); + assert (extents.at(0).at(c).at(0).is_contained_in(baseextent)); } } // Check refinement levels for (int rl=1; rl<reflevels(); ++rl) { - assert (all(extents[rl-1][0][0].stride() - == ivect(reffact) * extents[rl][0][0].stride())); + assert (all(extents.at(rl-1).at(0).at(0).stride() + == ivect(reffact) * extents.at(rl).at(0).at(0).stride())); // Check contained-ness: // first take all coarse grids ... bboxset<int,D> all; for (int c=0; c<components(rl-1); ++c) { - all |= extents[rl-1][c][0]; + all |= extents.at(rl-1).at(c).at(0); } // ... remember their size ... const int sz = all.size(); // ... then add the coarsified fine grids ... for (int c=0; c<components(rl); ++c) { - all |= extents[rl][c][0].contracted_for(extents[rl-1][0][0]); + all |= extents.at(rl).at(c).at(0).contracted_for(extents.at(rl-1).at(0).at(0)); } // ... and then check the sizes: assert (all.size() == sz); @@ -120,14 +120,14 @@ void gh<D>::recompose (const rexts& exts, bases.resize(reflevels()); for (int rl=0; rl<reflevels(); ++rl) { if (components(rl)==0) { - bases[rl].resize(0); + bases.at(rl).resize(0); } else { - bases[rl].resize(mglevels(rl,0)); + bases.at(rl).resize(mglevels(rl,0)); for (int ml=0; ml<mglevels(rl,0); ++ml) { - bases[rl][ml] = ibbox(); + bases.at(rl).at(ml) = ibbox(); for (int c=0; c<components(rl); ++c) { - bases[rl][ml] - = bases[rl][ml].expanded_containing(extents[rl][c][ml]); + bases.at(rl).at(ml) + = bases.at(rl).at(ml).expanded_containing(extents.at(rl).at(c).at(ml)); } } } @@ -140,9 +140,9 @@ void gh<D>::recompose (const rexts& exts, cout << endl; cout << "gh bboxes:" << endl; cout << "rl=" << rl << " c=" << c << " ml=" << ml << endl; - cout << "extent=" << extents[rl][c][ml] << endl; - cout << "outer_boundary=" << outer_boundaries[rl][c] << endl; - cout << "processor=" << processors[rl][c] << endl; + cout << "extent=" << extents.at(rl).at(c).at(ml) << endl; + cout << "outer_boundary=" << outer_boundaries.at(rl).at(c) << endl; + cout << "processor=" << processors.at(rl).at(c) << endl; } } } @@ -152,7 +152,7 @@ void gh<D>::recompose (const rexts& exts, cout << endl; cout << "gh bases:" << endl; cout << "rl=" << rl << " ml=" << ml << endl; - cout << "base=" << bases[rl][ml] << endl; + cout << "base=" << bases.at(rl).at(ml) << endl; } } } diff --git a/Carpet/CarpetLib/src/gh.hh b/Carpet/CarpetLib/src/gh.hh index 7db23b780..babc85cfb 100644 --- a/Carpet/CarpetLib/src/gh.hh +++ b/Carpet/CarpetLib/src/gh.hh @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.hh,v 1.15 2004/01/25 14:57:30 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.hh,v 1.16 2004/03/23 19:30:14 schnetter Exp $ #ifndef GH_HH #define GH_HH @@ -95,26 +95,19 @@ public: } int components (const int rl) const { - assert (rl>=0 && rl<reflevels()); - return (int)extents[rl].size(); + return (int)extents.at(rl).size(); } int mglevels (const int rl, const int c) const { - assert (rl>=0 && rl<reflevels()); - assert (c>=0 && c<components(rl)); - return (int)extents[rl][c].size(); + return (int)extents.at(rl).at(c).size(); } bvect outer_boundary (const int rl, const int c) const { - assert (rl>=0 && rl<reflevels()); - assert (c>=0 && c<components(rl)); - return outer_boundaries[rl][c]; + return outer_boundaries.at(rl).at(c); } int proc (const int rl, const int c) const { - assert (rl>=0 && rl<reflevels()); - assert (c>=0 && c<components(rl)); - return processors[rl][c]; + return processors.at(rl).at(c); } bool is_local (const int rl, const int c) const { diff --git a/Carpet/CarpetSlab/src/slab.cc b/Carpet/CarpetSlab/src/slab.cc index deff045d7..2444be862 100644 --- a/Carpet/CarpetSlab/src/slab.cc +++ b/Carpet/CarpetSlab/src/slab.cc @@ -1,4 +1,4 @@ -// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.cc,v 1.15 2004/01/25 14:57:31 schnetter Exp $ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.cc,v 1.16 2004/03/23 19:30:14 schnetter Exp $ #include <assert.h> #include <stdlib.h> @@ -23,7 +23,7 @@ #include "slab.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.cc,v 1.15 2004/01/25 14:57:31 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.cc,v 1.16 2004/03/23 19:30:14 schnetter Exp $"; CCTK_FILEVERSION(Carpet_CarpetSlab_slab_cc); } @@ -157,12 +157,12 @@ namespace CarpetSlab { const dh<dim>* mydd; const ggf<dim>* myff; assert (group < (int)arrdata.size()); - myhh = arrdata[group][m].hh; + myhh = arrdata.at(group).at(m).hh; assert (myhh); - mydd = arrdata[group][m].dd; + mydd = arrdata.at(group).at(m).dd; assert (mydd); - assert (var < (int)arrdata[group][m].data.size()); - myff = arrdata[group][m].data[var]; + assert (var < (int)arrdata.at(group).at(m).data.size()); + myff = arrdata.at(group).at(m).data.at(var); assert (myff); // Detemine collecting processor @@ -230,8 +230,8 @@ namespace CarpetSlab { // Calculate overlapping extents const bboxset<int,dim> myextents - = ((mydd->boxes[rl][component][mglevel].sync_not - | mydd->boxes[rl][component][mglevel].interior) + = ((mydd->boxes.at(rl).at(component).at(mglevel).sync_not + | mydd->boxes.at(rl).at(component).at(mglevel).interior) & hextent); // Loop over overlapping extents @@ -256,22 +256,22 @@ namespace CarpetSlab { for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { void* myhdata = rank==proc ? hdata : 0; - tmpdata[proc] = mydata->make_typed(-1); - tmpdata[proc]->allocate (alldata->extent(), proc, myhdata); - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); + tmpdata.at(proc) = mydata->make_typed(-1); + tmpdata.at(proc)->allocate (alldata->extent(), proc, myhdata); + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); } } for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); } } for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); - delete tmpdata[proc]; + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); + delete tmpdata.at(proc); } } @@ -365,12 +365,12 @@ namespace CarpetSlab { const dh<dim>* mydd; const ggf<dim>* myff; assert (group < (int)arrdata.size()); - myhh = arrdata[group][m].hh; + myhh = arrdata.at(group).at(m).hh; assert (myhh); - mydd = arrdata[group][m].dd; + mydd = arrdata.at(group).at(m).dd; assert (mydd); - assert (var < (int)arrdata[group][m].data.size()); - myff = arrdata[group][m].data[var]; + assert (var < (int)arrdata.at(group).at(m).data.size()); + myff = arrdata.at(group).at(m).data.at(var); assert (myff); // Detemine collecting processor @@ -441,8 +441,8 @@ namespace CarpetSlab { // Calculate overlapping extents const bboxset<int,dim> myextents - = ((mydd->boxes[rl][component][mglevel].sync_not - | mydd->boxes[rl][component][mglevel].interior) + = ((mydd->boxes.at(rl).at(component).at(mglevel).sync_not + | mydd->boxes.at(rl).at(component).at(mglevel).interior) & hextent); // Loop over overlapping extents @@ -467,22 +467,22 @@ namespace CarpetSlab { for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { void* myhdata = rank==proc ? hdata : 0; - tmpdata[proc] = mydata->make_typed(-1); - tmpdata[proc]->allocate (alldata->extent(), proc, myhdata); - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); + tmpdata.at(proc) = mydata->make_typed(-1); + tmpdata.at(proc)->allocate (alldata->extent(), proc, myhdata); + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); } } for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); } } for (int proc=0; proc<CCTK_nProcs(cgh); ++proc) { if (proc != collect_proc) { - tmpdata[proc]->copy_from (state[proc], alldata, alldata->extent()); - delete tmpdata[proc]; + tmpdata.at(proc)->copy_from (state.at(proc), alldata, alldata->extent()); + delete tmpdata.at(proc); } } |