diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-04-19 02:21:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-04-19 02:21:00 +0000 |
commit | b47b6bfeef59c16a5da87a96dc58188188b846a8 (patch) | |
tree | 975b8b587478fc1111751d4a0b1a0851aa1ed350 /Carpet/CarpetRegrid | |
parent | 9a6c97b2f1a34b78e8598e7ff9ab21600b2800c3 (diff) |
CarpetRegrid: Update to recent changes
darcs-hash:20070419022153-dae7b-783e4acd444e1d45bbfbcd80927c443ae7d8ecfd.gz
Diffstat (limited to 'Carpet/CarpetRegrid')
-rw-r--r-- | Carpet/CarpetRegrid/src/automatic.cc | 14 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/centre.cc | 13 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/manualcoordinatelist.cc | 18 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/manualcoordinates.cc | 16 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/manualgridpointlist.cc | 6 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/manualgridpoints.cc | 8 | ||||
-rw-r--r-- | Carpet/CarpetRegrid/src/moving.cc | 5 |
7 files changed, 25 insertions, 55 deletions
diff --git a/Carpet/CarpetRegrid/src/automatic.cc b/Carpet/CarpetRegrid/src/automatic.cc index 1325f855e..eb55b9521 100644 --- a/Carpet/CarpetRegrid/src/automatic.cc +++ b/Carpet/CarpetRegrid/src/automatic.cc @@ -109,7 +109,7 @@ namespace CarpetRegrid { list<region_t> regl; for (int c=0; c<hh.components(rl); ++c) { - const region_t region = hh.regions().at(ml).at(rl).at(c); + const region_t region = hh.regions.at(ml).at(rl).at(c); assert (! region.extent.empty()); const data<CCTK_REAL>& errordata = *errorgf(tl,rl,c,ml); @@ -138,17 +138,15 @@ namespace CarpetRegrid { const ivect lb = either (obp[0], regs.at(c).extent.lower(), max (regs.at(c).extent.lower(), - hh.baseextent.lower())); + hh.baseextents.at(0).at(0).lower())); const ivect ub = either (obp[1], regs.at(c).extent.upper(), min (regs.at(c).extent.upper(), - hh.baseextent.upper())); + hh.baseextents.at(0).at(rl).upper())); regs.at(c).extent = ibbox(lb, ub, regs.at(c).extent.stride()); regs.at(c).outer_boundaries = - b2vect (regs.at(c).extent.lower() == hh.baseextent.lower(), - regs.at(c).extent.upper() == hh.baseextent.upper()); - regs.at(c).refinement_boundaries[0] = ! regs.at(c).outer_boundaries[0]; - regs.at(c).refinement_boundaries[1] = ! regs.at(c).outer_boundaries[1]; + b2vect (regs.at(c).extent.lower() == hh.baseextents.at(0).at(0).lower(), + regs.at(c).extent.upper() == hh.baseextents.at(0).at(0).upper()); regs.at(c).map = Carpet::map; } @@ -379,8 +377,6 @@ namespace CarpetRegrid { combined.extent = ibbox (ireg1->extent.lower(), ireg2->extent.upper(), str); combined.outer_boundaries[0] = ireg1->outer_boundaries[0]; combined.outer_boundaries[1] = ireg2->outer_boundaries[0]; - combined.refinement_boundaries[0] = ireg1->refinement_boundaries[0]; - combined.refinement_boundaries[1] = ireg2->refinement_boundaries[0]; regl.push_back (combined); ireg1 = regl1.erase(ireg1); ireg2 = regl2.erase(ireg2); diff --git a/Carpet/CarpetRegrid/src/centre.cc b/Carpet/CarpetRegrid/src/centre.cc index 466f3de13..8e4a414ee 100644 --- a/Carpet/CarpetRegrid/src/centre.cc +++ b/Carpet/CarpetRegrid/src/centre.cc @@ -36,9 +36,9 @@ namespace CarpetRegrid { bvect const symmetric (symmetry_x, symmetry_y, symmetry_z); ivect const zero(0), one(1), two(2); - ivect rstr = hh.baseextent.stride(); - ivect rlb = hh.baseextent.lower(); - ivect rub = hh.baseextent.upper(); + ivect rstr = hh.baseextents.at(0).at(0).stride(); + ivect rlb = hh.baseextents.at(0).at(0).lower(); + ivect rub = hh.baseextents.at(0).at(0).upper(); assert (! smart_outer_boundaries); @@ -55,8 +55,8 @@ namespace CarpetRegrid { // calculate new extent ivect const quarter = (rub - rlb) / 4 / rstr * rstr; ivect const half = (rub - rlb) / 2 / rstr * rstr; - rlb = oldrlb + symmetric.ifthen(zero, quarter); - rub = oldrub - symmetric.ifthen(half, quarter); + rlb = oldrlb + either (symmetric, zero, quarter); + rub = oldrub - either (symmetric, half, quarter); assert (all(rlb >= oldrlb and rub <= oldrub)); vector<region_t> regs (1); @@ -67,9 +67,6 @@ namespace CarpetRegrid { b2vect const ob (false); regs.at(0).outer_boundaries = ob; - b2vect const rb (true); - regs.at(0).refinement_boundaries = rb; - regs.at(0).map = Carpet::map; // make multiprocessor aware diff --git a/Carpet/CarpetRegrid/src/manualcoordinatelist.cc b/Carpet/CarpetRegrid/src/manualcoordinatelist.cc index 0712f965e..9b456df9a 100644 --- a/Carpet/CarpetRegrid/src/manualcoordinatelist.cc +++ b/Carpet/CarpetRegrid/src/manualcoordinatelist.cc @@ -161,20 +161,6 @@ namespace CarpetRegrid { } // if ! smart_outer_boundaries - vector<vector<b2vect> > newrbss (newobss.size()); - for (int rl=0; rl<(int)newobss.size(); ++rl) { - newrbss.at(rl).resize(newbbss.at(rl).size()); - for (int c=0; c<(int)newobss.at(rl).size(); ++c) { - b2vect const & ob = newobss.at(rl).at(c); - b2vect & rb = newrbss.at(rl).at(c); - for (int d=0; d<dim; ++d) { - for (int f=0; f<2; ++f) { - rb[f][d] = ! ob[f][d]; - } - } - } - } - for (int rl=1; rl<refinement_levels; ++rl) { vector<region_t> regs; @@ -183,7 +169,6 @@ namespace CarpetRegrid { for (int c=0; c<(int)newbbss.at(rl-1).size(); ++c) { rbbox const & ext = newbbss.at(rl-1).at(c); b2vect const & ob = newobss.at(rl-1).at(c); - b2vect const & rb = newrbss.at(rl-1).at(c); // TODO: // assert (domain_from_coordbase); ivect const spacereffact = spacereffacts.at(rl); @@ -212,7 +197,6 @@ namespace CarpetRegrid { region_t reg; reg.map = Carpet::map; reg.outer_boundaries = ob; - reg.refinement_boundaries = rb; ManualCoordinates_OneLevel (cctkGH, hh, rl, refinement_levels, @@ -233,8 +217,6 @@ namespace CarpetRegrid { regs.at(c).extent = combined; assert (all (all (regs.at(c).outer_boundaries == regs.at(cc).outer_boundaries))); - assert (all (all (regs.at(c).refinement_boundaries == - regs.at(cc).refinement_boundaries))); regs.erase (regs.begin() + cc); goto again; } diff --git a/Carpet/CarpetRegrid/src/manualcoordinates.cc b/Carpet/CarpetRegrid/src/manualcoordinates.cc index d19ac1bab..6086e559a 100644 --- a/Carpet/CarpetRegrid/src/manualcoordinates.cc +++ b/Carpet/CarpetRegrid/src/manualcoordinates.cc @@ -50,11 +50,9 @@ namespace CarpetRegrid { for (size_t rl=1; rl<regss.size(); ++rl) { b2vect const ob (false); - b2vect const rb (true); region_t reg; reg.map = Carpet::map; reg.outer_boundaries = ob; - reg.refinement_boundaries = rb; vector<region_t> regs; ManualCoordinates_OneLevel @@ -108,12 +106,13 @@ namespace CarpetRegrid { global_upper[d] = 1; } } - const ivect global_extent (hh.baseextent.upper() - hh.baseextent.lower()); + const ivect global_extent (hh.baseextents.at(0).at(0).upper() - + hh.baseextents.at(0).at(0).lower()); const rvect scale = rvect(global_extent) / (global_upper - global_lower); const ivect levfac = hh.reffacts.at(rl); - assert (all (hh.baseextent.stride() % levfac == 0)); - const ivect istride = hh.baseextent.stride() / levfac; + assert (all (hh.baseextents.at(0).at(0).stride() % levfac == 0)); + const ivect istride = hh.baseextents.at(0).at(0).stride() / levfac; const ivect ipos = ivect(floor(rpos * scale / rvect(istride) + (CCTK_REAL) 0.5)) * istride; @@ -143,12 +142,13 @@ namespace CarpetRegrid { assert (Carpet::map >= 0); global_lower = domainspecs.at(Carpet::map).exterior_min; global_upper = domainspecs.at(Carpet::map).exterior_max; - const ivect global_extent (hh.baseextent.upper() - hh.baseextent.lower()); + const ivect global_extent (hh.baseextents.at(0).at(0).upper() - + hh.baseextents.at(0).at(0).lower()); const rvect scale = rvect(global_extent) / (global_upper - global_lower); const ivect levfac = hh.reffacts.at(rl); - assert (all (hh.baseextent.stride() % levfac == 0)); - const ivect istride = hh.baseextent.stride() / levfac; + assert (all (hh.baseextents.at(0).at(0).stride() % levfac == 0)); + const ivect istride = hh.baseextents.at(0).at(0).stride() / levfac; const ivect ipos = (ivect(floor((rpos - global_lower) * scale / rvect(istride) diff --git a/Carpet/CarpetRegrid/src/manualgridpointlist.cc b/Carpet/CarpetRegrid/src/manualgridpointlist.cc index a94831e16..e77932bad 100644 --- a/Carpet/CarpetRegrid/src/manualgridpointlist.cc +++ b/Carpet/CarpetRegrid/src/manualgridpointlist.cc @@ -92,13 +92,13 @@ namespace CarpetRegrid { } } - if (newbbss.size() < refinement_levels-1) { + if ((int)newbbss.size() < refinement_levels-1) { CCTK_VWarn (0, __LINE__, __FILE__, CCTK_THORNSTRING, "The parameter \"gridpoints\" must contain at least \"refinement_levels-1\" (here: %d) levels", (int)refinement_levels-1); } vector<vector<region_t> > newregs (newbbss.size()); - for (size_t rl=1; rl<refinement_levels; ++rl) { + for (int rl=1; rl<refinement_levels; ++rl) { vector<region_t> regs; @@ -107,12 +107,10 @@ namespace CarpetRegrid { for (size_t c=0; c<newbbss.at(rl-1).size(); ++c) { ibbox const ext = newbbss.at(rl-1).at(c); b2vect const ob = xpose (newobss.at(rl-1).at(c)); - b2vect const rb = xpose (newobss.at(rl-1).at(c)); region_t reg; reg.extent = ext; reg.map = Carpet::map; reg.outer_boundaries = ob; - reg.refinement_boundaries = rb; ManualGridpoints_OneLevel (cctkGH, hh, rl, refinement_levels, ext.lower(), ext.upper(), reg, regs); diff --git a/Carpet/CarpetRegrid/src/manualgridpoints.cc b/Carpet/CarpetRegrid/src/manualgridpoints.cc index b4e27c94d..740fbae39 100644 --- a/Carpet/CarpetRegrid/src/manualgridpoints.cc +++ b/Carpet/CarpetRegrid/src/manualgridpoints.cc @@ -52,11 +52,9 @@ namespace CarpetRegrid { for (size_t rl=1; rl<regss.size(); ++rl) { b2vect const ob (false); - b2vect const rb (true); region_t reg; reg.map = Carpet::map; reg.outer_boundaries = ob; - reg.refinement_boundaries = rb; vector<region_t> regs; ManualGridpoints_OneLevel @@ -87,9 +85,9 @@ namespace CarpetRegrid { const region_t & reg, vector<region_t> & regs) { - const ivect rstr = hh.baseextent.stride(); - const ivect rlb = hh.baseextent.lower(); - const ivect rub = hh.baseextent.upper(); + const ivect rstr = hh.baseextents.at(0).at(0).stride(); + const ivect rlb = hh.baseextents.at(0).at(0).lower(); + const ivect rub = hh.baseextents.at(0).at(0).upper(); const ivect levfac = hh.reffacts.at(rl); assert (all (rstr % levfac == 0)); diff --git a/Carpet/CarpetRegrid/src/moving.cc b/Carpet/CarpetRegrid/src/moving.cc index 61953bcb3..2d3f1078e 100644 --- a/Carpet/CarpetRegrid/src/moving.cc +++ b/Carpet/CarpetRegrid/src/moving.cc @@ -49,13 +49,12 @@ namespace CarpetRegrid { rvect const radius (rvect(moving_region_radius) / rvect(spacereffacts.at(rl-1))); - rvect const rlb (symmetric.ifthen (rvect(0), pos - radius)); - rvect const rub (symmetric.ifthen (radius , pos + radius)); + rvect const rlb (either (symmetric, rvect(0), pos - radius)); + rvect const rub (either (symmetric, radius , pos + radius)); region_t reg; reg.map = Carpet::map; reg.outer_boundaries = b2vect (false); - reg.refinement_boundaries = b2vect (true); vector<region_t> regs; ManualCoordinates_OneLevel |