aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/gf.cc
diff options
context:
space:
mode:
authorschnetter <>2004-04-19 19:38:00 +0000
committerschnetter <>2004-04-19 19:38:00 +0000
commitc910348d4a43be3bba9f111b90e4d2bfee2194e1 (patch)
treee13a1ead754d2aff4e83499ea01f5cfdd5a99b9d /Carpet/CarpetLib/src/gf.cc
parentfba8f11e38687f2b6b13e6972c36b479b9d223ec (diff)
Regrid all grid functions at once. This is necessary to treate vector
Regrid all grid functions at once. This is necessary to treate vector grid functions correctly, where otherwise storage would be released too early. This requires the regridding interface between the dh and ggf classes to change. Another advantage is that this should now be faster on multiple processors. darcs-hash:20040419193833-07bb3-f7474744feaa57f8a1621aeca34de11b65eaeed8.gz
Diffstat (limited to 'Carpet/CarpetLib/src/gf.cc')
-rw-r--r--Carpet/CarpetLib/src/gf.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/Carpet/CarpetLib/src/gf.cc b/Carpet/CarpetLib/src/gf.cc
index 36b601850..4cba44a6f 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.18 2004/04/18 13:29:43 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gf.cc,v 1.19 2004/04/19 21:38:33 schnetter Exp $
#include <assert.h>
@@ -23,7 +23,21 @@ gf<T,D>::gf (const int varindex, const operator_type transport_operator,
t, d, tmin, tmax, prolongation_order_time,
vectorlength, vectorindex, vectorleader)
{
- this->recompose ();
+ // this->recompose ();
+ this->recompose_crop ();
+ for (int rl=0; rl<h.reflevels(); ++rl) {
+ this->recompose_allocate (rl);
+ for (comm_state<D> state; !state.done(); state.step()) {
+ this->recompose_fill (state, rl);
+ }
+ this->recompose_free (rl);
+ for (comm_state<D> state; !state.done(); state.step()) {
+ this->recompose_bnd_prolongate (state, rl);
+ }
+ for (comm_state<D> state; !state.done(); state.step()) {
+ this->recompose_sync (state, rl);
+ }
+ } // for rl
}
// Destructors