aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src
diff options
context:
space:
mode:
authorswhite <schnetter@cct.lsu.edu>2004-12-10 13:14:00 +0000
committerswhite <schnetter@cct.lsu.edu>2004-12-10 13:14:00 +0000
commit12fcc775ea386198b9d0f1c55f8e8b2be520dfac (patch)
treed8653c002cd40f07adf68a6623e10e230333072b /Carpet/CarpetLib/src
parent676fe3f15cb5f4c3c03467308504530beb876da3 (diff)
CarpetLib:gh exposed data clamp-down
Made all variables in CarpetLib:gh to be const or non-public, to avoid confusion and insanity. Toward this end, created four member accessors for gh: const rexts & extents() const const rbnds & outer_boundaries() const const rprocs & processors() const const vector<vector<ibbox> > & bases() const This involved a few changes in several files throughout the repository: M ./Carpet/Carpet/src/Initialise.cc -2 +2 M ./Carpet/Carpet/src/Recompose.cc -8 +8 M ./Carpet/Carpet/src/SetupGH.cc -2 +2 M ./Carpet/Carpet/src/modes.cc -3 +3 M ./Carpet/CarpetIOHDF5/src/Recover.cc -4 +4 M ./Carpet/CarpetInterp/src/interp.cc -5 +5 M ./Carpet/CarpetLib/src/dh.cc -3 +3 M ./Carpet/CarpetLib/src/gh.cc -33 +33 M ./Carpet/CarpetLib/src/gh.hh -10 +28 M ./Carpet/CarpetReduce/src/mask_carpet.cc -4 +4 M ./Carpet/CarpetRegrid/src/automatic.cc -2 +2 darcs-hash:20041210131459-32473-ff0835ff0e57f6693fbe1ec23b350d1b1d18e3bc.gz
Diffstat (limited to 'Carpet/CarpetLib/src')
-rw-r--r--Carpet/CarpetLib/src/dh.cc6
-rw-r--r--Carpet/CarpetLib/src/gh.cc66
-rw-r--r--Carpet/CarpetLib/src/gh.hh38
3 files changed, 64 insertions, 46 deletions
diff --git a/Carpet/CarpetLib/src/dh.cc b/Carpet/CarpetLib/src/dh.cc
index 13a780a18..0502342d3 100644
--- a/Carpet/CarpetLib/src/dh.cc
+++ b/Carpet/CarpetLib/src/dh.cc
@@ -93,7 +93,7 @@ void dh<D>::allocate_bboxes() {
for (int c=0; c<h.components(rl); ++c) {
boxes.at(rl).at(c).resize(h.mglevels(rl,c));
for (int ml=0; ml<h.mglevels(rl,c); ++ml) {
- const ibbox intr = h.extents.at(rl).at(c).at(ml);
+ const ibbox intr = h.extents().at(rl).at(c).at(ml);
dboxes & b = boxes.at(rl).at(c).at(ml);
// Interior
@@ -107,8 +107,8 @@ void dh<D>::allocate_bboxes() {
// the exterior is redundant)
ivect ldist(lghosts), udist(ughosts);
for (int d=0; d<D; ++d) {
- if (h.outer_boundaries.at(rl).at(c)[d][0]) ldist[d] = 0;
- if (h.outer_boundaries.at(rl).at(c)[d][1]) udist[d] = 0;
+ if (h.outer_boundaries().at(rl).at(c)[d][0]) ldist[d] = 0;
+ if (h.outer_boundaries().at(rl).at(c)[d][1]) udist[d] = 0;
}
b.exterior = intr.expand(ldist, udist);
diff --git a/Carpet/CarpetLib/src/gh.cc b/Carpet/CarpetLib/src/gh.cc
index 26f831337..bce6afc92 100644
--- a/Carpet/CarpetLib/src/gh.cc
+++ b/Carpet/CarpetLib/src/gh.cc
@@ -41,9 +41,9 @@ void gh<D>::recompose (const rexts& exts,
{
DECLARE_CCTK_PARAMETERS;
- extents = exts;
- outer_boundaries = outer_bounds;
- processors = procs;
+ _extents = exts;
+ _outer_boundaries = outer_bounds;
+ _processors = procs;
// Consistency checks
@@ -76,11 +76,11 @@ void gh<D>::recompose (const rexts& exts,
template<int D>
void gh<D>::check_processor_number_consistency () {
for (int rl=0; rl<reflevels(); ++rl) {
- assert (processors.size() == extents.size());
- assert (outer_boundaries.size() == extents.size());
+ assert (processors().size() == extents().size());
+ assert (outer_boundaries().size() == extents().size());
for (int c=0; c<components(rl); ++c) {
- assert (processors.at(rl).size() == extents.at(rl).size());
- assert (outer_boundaries.at(rl).size() == extents.at(rl).size());
+ assert (processors().at(rl).size() == extents().at(rl).size());
+ assert (outer_boundaries().at(rl).size() == extents().at(rl).size());
}
}
}
@@ -91,14 +91,14 @@ void gh<D>::check_multigrid_consistency () {
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.at(rl).at(c).at(ml).stride()
- == ivect(mgfact) * extents.at(rl).at(c).at(ml-1).stride()));
+ assert (all(extents().at(rl).at(c).at(ml).stride()
+ == ivect(mgfact) * extents().at(rl).at(c).at(ml-1).stride()));
// TODO: put the check back in, taking outer boundaries into
// account
#if 0
- 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)));
+ 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)));
#endif
}
}
@@ -111,12 +111,12 @@ void gh<D>::check_component_consistency () {
assert (components(rl)>0);
for (int c=0; c<components(rl); ++c) {
for (int ml=0; ml<mglevels(rl,c); ++ml) {
- ibbox &b = extents.at(rl).at(c).at(ml);
- ibbox &b0 = extents.at(rl).at(0).at(ml);
+ const ibbox &b = extents().at(rl).at(c).at(ml);
+ const ibbox &b0 = extents().at(rl).at(0).at(ml);
assert (all(b.stride() == b0.stride()));
assert (b.is_aligned_with(b0));
for (int cc=c+1; cc<components(rl); ++cc) {
- assert ((b & extents.at(rl).at(cc).at(ml)).empty());
+ assert ((b & extents().at(rl).at(cc).at(ml)).empty());
}
}
}
@@ -130,7 +130,7 @@ void gh<D>::check_base_grid_extent () {
// TODO: put the check back in, taking outer boundaries into
// account
#if 0
- assert (extents.at(0).at(c).at(0).is_contained_in(baseextent));
+ assert (extents().at(0).at(c).at(0).is_contained_in(baseextent));
#endif
}
}
@@ -139,19 +139,19 @@ void gh<D>::check_base_grid_extent () {
template<int D>
void gh<D>::check_refinement_levels () {
for (int rl=1; rl<reflevels(); ++rl) {
- assert (all(extents.at(rl-1).at(0).at(0).stride()
- == ivect(reffact) * extents.at(rl).at(0).at(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.at(rl-1).at(c).at(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.at(rl).at(c).at(0).contracted_for(extents.at(rl-1).at(0).at(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);
@@ -160,17 +160,17 @@ void gh<D>::check_refinement_levels () {
template<int D>
void gh<D>::calculate_base_extents_of_all_levels () {
- bases.resize(reflevels());
+ _bases.resize(reflevels());
for (int rl=0; rl<reflevels(); ++rl) {
if (components(rl)==0) {
- bases.at(rl).resize(0);
+ _bases.at(rl).resize(0);
} else {
- bases.at(rl).resize(mglevels(rl,0));
+ _bases.at(rl).resize(mglevels(rl,0));
for (int ml=0; ml<mglevels(rl,0); ++ml) {
- bases.at(rl).at(ml) = ibbox();
- ibbox &bb = bases.at(rl).at(ml);
+ _bases.at(rl).at(ml) = ibbox();
+ ibbox &bb = _bases.at(rl).at(ml);
for (int c=0; c<components(rl); ++c) {
- bb = bb.expanded_containing(extents.at(rl).at(c).at(ml));
+ bb = bb.expanded_containing(extents().at(rl).at(c).at(ml));
}
}
}
@@ -222,9 +222,9 @@ void gh<D>::do_output_bboxes (ostream& os) const {
os << endl;
os << "gh bboxes:" << endl;
os << "rl=" << rl << " c=" << c << " ml=" << ml << endl;
- os << "extent=" << extents.at(rl).at(c).at(ml) << endl;
- os << "outer_boundary=" << outer_boundaries.at(rl).at(c) << endl;
- os << "processor=" << processors.at(rl).at(c) << endl;
+ os << "extent=" << extents().at(rl).at(c).at(ml) << endl;
+ os << "outer_boundary=" << outer_boundaries().at(rl).at(c) << endl;
+ os << "processor=" << processors().at(rl).at(c) << endl;
}
}
}
@@ -238,7 +238,7 @@ void gh<D>::do_output_bases (ostream& os) const {
os << endl;
os << "gh bases:" << endl;
os << "rl=" << rl << " ml=" << ml << endl;
- os << "base=" << bases.at(rl).at(ml) << endl;
+ os << "base=" << bases().at(rl).at(ml) << endl;
}
}
}
@@ -249,9 +249,9 @@ ostream& gh<D>::output (ostream& os) const {
os << "gh<" << D << ">:"
<< "reffactor=" << reffact << ",refcentering=" << refcent << ","
<< "mgfactor=" << mgfact << ",mgcentering=" << mgcent << ","
- << "extents=" << extents << ","
- << "outer_boundaries=" << outer_boundaries << ","
- << "processors=" << processors << ","
+ << "extents=" << extents() << ","
+ << "outer_boundaries=" << outer_boundaries() << ","
+ << "processors=" << processors() << ","
<< "dhs={";
int cnt=0;
for (typename list<dh<D>*>::const_iterator d = dhs.begin();
diff --git a/Carpet/CarpetLib/src/gh.hh b/Carpet/CarpetLib/src/gh.hh
index 0bad3540a..462564f5c 100644
--- a/Carpet/CarpetLib/src/gh.hh
+++ b/Carpet/CarpetLib/src/gh.hh
@@ -62,14 +62,15 @@ public: // should be readonly
const centering mgcent; // default (vertex or cell centered)
const ibbox baseextent;
- vector<vector<ibbox> > bases; // [rl][ml]
- // TODO: invent structure for this
- rexts extents; // extents of all grids
- rbnds outer_boundaries; // boundary descriptions of all grids
- rprocs processors; // processor numbers of all grids
private:
+ vector<vector<ibbox> > _bases; // [rl][ml]
+ // TODO: invent structure for this
+ rexts _extents; // extents of all grids
+ rbnds _outer_boundaries; // boundary descriptions of all grids
+ rprocs _processors; // processor numbers of all grids
+
list<th<D>*> ths; // list of all time hierarchies
list<dh<D>*> dhs; // list of all data hierarchies
@@ -87,26 +88,42 @@ public:
void recompose (const rexts& exts, const rbnds& outer_bounds,
const rprocs& procs,
const bool do_prolongate);
+
+ const rexts & extents() const {
+ return _extents;
+ }
+
+ const rbnds & outer_boundaries() const {
+ return _outer_boundaries;
+ }
+
+ const rprocs & processors() const {
+ return _processors;
+ }
+
+ const vector<vector<ibbox> > & bases() const {
+ return _bases;
+ }
// Accessors
int reflevels () const {
- return (int)extents.size();
+ return (int)_extents.size();
}
int components (const int rl) const {
- return (int)extents.at(rl).size();
+ return (int)_extents.at(rl).size();
}
int mglevels (const int rl, const int c) const {
- return (int)extents.at(rl).at(c).size();
+ return (int)_extents.at(rl).at(c).size();
}
bvect outer_boundary (const int rl, const int c) const {
- return outer_boundaries.at(rl).at(c);
+ return _outer_boundaries.at(rl).at(c);
}
int proc (const int rl, const int c) const {
- return processors.at(rl).at(c);
+ return _processors.at(rl).at(c);
}
bool is_local (const int rl, const int c) const {
@@ -137,6 +154,7 @@ private:
void calculate_base_extents_of_all_levels ();
void do_output_bboxes (ostream& os) const;
void do_output_bases (ostream& os) const;
+
};