From b47b6bfeef59c16a5da87a96dc58188188b846a8 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 19 Apr 2007 02:21:00 +0000 Subject: CarpetRegrid: Update to recent changes darcs-hash:20070419022153-dae7b-783e4acd444e1d45bbfbcd80927c443ae7d8ecfd.gz --- Carpet/CarpetRegrid/src/automatic.cc | 14 +++++--------- Carpet/CarpetRegrid/src/centre.cc | 13 +++++-------- Carpet/CarpetRegrid/src/manualcoordinatelist.cc | 18 ------------------ Carpet/CarpetRegrid/src/manualcoordinates.cc | 16 ++++++++-------- Carpet/CarpetRegrid/src/manualgridpointlist.cc | 6 ++---- Carpet/CarpetRegrid/src/manualgridpoints.cc | 8 +++----- Carpet/CarpetRegrid/src/moving.cc | 5 ++--- 7 files changed, 25 insertions(+), 55 deletions(-) (limited to 'Carpet/CarpetRegrid') 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 regl; for (int c=0; c& 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 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 > 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 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 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 > newregs (newbbss.size()); - for (size_t rl=1; rl regs; @@ -107,12 +107,10 @@ namespace CarpetRegrid { for (size_t c=0; c regs; ManualGridpoints_OneLevel @@ -87,9 +85,9 @@ namespace CarpetRegrid { const region_t & reg, vector & 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 regs; ManualCoordinates_OneLevel -- cgit v1.2.3