aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Cycle.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2008-02-19 04:53:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2008-02-19 04:53:00 +0000
commit9a1abf1aebcbdcfbdc98b9c9db4e5d1e78cf769c (patch)
tree7b18bfb73cd58d465b1ac2cf0a7efd34c930048c /Carpet/Carpet/src/Cycle.cc
parente02c16f01f61922c87fc8d1199783f30f7334ece (diff)
Carpet: Adapt to recent CarpetLib::ggf API change
darcs-hash:20080219045359-dae7b-1af68020f9025b7527c42e5f647acbdb17e078ad.gz
Diffstat (limited to 'Carpet/Carpet/src/Cycle.cc')
-rw-r--r--Carpet/Carpet/src/Cycle.cc82
1 files changed, 40 insertions, 42 deletions
diff --git a/Carpet/Carpet/src/Cycle.cc b/Carpet/Carpet/src/Cycle.cc
index 3901b7753..1a2931dd0 100644
--- a/Carpet/Carpet/src/Cycle.cc
+++ b/Carpet/Carpet/src/Cycle.cc
@@ -29,9 +29,8 @@ namespace Carpet {
assert (reflevel>=0 and reflevel<reflevels);
for (int m=0; m<(int)arrdata.at(group).size(); ++m) {
for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- 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);
- }
+ arrdata.at(group).at(m).data.at(var)->
+ cycle_all (reflevel, mglevel);
}
}
break;
@@ -42,9 +41,7 @@ namespace Carpet {
int const numtimelevels = CCTK_NumTimeLevelsI (group);
int const firstvarindex = CCTK_FirstVarIndexI (group);
for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- 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);
- }
+ arrdata.at(group).at(0).data.at(var)->cycle_all (0, mglevel);
{
int const varindex = firstvarindex + var;
int const c = CCTK_MyProc(cgh);
@@ -76,39 +73,43 @@ namespace Carpet {
for (int group=0; group<CCTK_NumGroups(); ++group) {
if (CCTK_QueryGroupStorageI(cgh, group)) {
- const int num_vars = CCTK_NumVarsInGroupI(group);
- if (num_vars>0) {
- const int var0 = CCTK_FirstVarIndexI(group);
- assert (var0>=0);
+ switch (CCTK_GroupTypeI(group)) {
- switch (CCTK_GroupTypeI(group)) {
-
- case CCTK_GF:
- for (int m=0; m<(int)arrdata.at(group).size(); ++m) {
- for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- 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);
- }
- }
+ case CCTK_GF:
+ assert (reflevel>=0 and reflevel<reflevels);
+ for (int m=0; m<(int)arrdata.at(group).size(); ++m) {
+ for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
+ arrdata.at(group).at(m).data.at(var)->
+ flip_all (reflevel, mglevel);
}
- break;
-
- case CCTK_SCALAR:
- case CCTK_ARRAY:
- if (do_global_mode) {
- for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- 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);
- }
- }
+ }
+ break;
+
+ case CCTK_SCALAR:
+ case CCTK_ARRAY:
+ if (do_global_mode) {
+ int const numtimelevels = CCTK_NumTimeLevelsI (group);
+ int const firstvarindex = CCTK_FirstVarIndexI (group);
+ for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
+ arrdata.at(group).at(0).data.at(var)->flip_all (0, mglevel);
+ {
+ int const varindex = firstvarindex + var;
+ int const c = CCTK_MyProc(cgh);
+ for (int tl=0; tl<numtimelevels; ++tl) {
+ cgh->data[varindex][tl]
+ = (tl < groupdata.at(group).info.activetimelevels
+ ? ((*arrdata.at(group).at(0).data.at(var))
+ (tl, 0, c, 0)->storage())
+ : NULL);
+ }
+ }
}
- break;
-
- default:
- assert (0);
- } // switch grouptype
+ }
+ break;
- } // if num_vars>0
+ default:
+ assert (0);
+ } // switch grouptype
} // if storage
} // for group
}
@@ -117,7 +118,7 @@ namespace Carpet {
void FillTimeLevels (const cGH* cgh)
{
- Checkpoint ("CopyTimeLevels");
+ Checkpoint ("FillTimeLevels");
assert (is_level_mode());
for (int group=0; group<CCTK_NumGroups(); ++group) {
@@ -128,9 +129,8 @@ namespace Carpet {
assert (reflevel>=0 and reflevel<reflevels);
for (int m=0; m<(int)arrdata.at(group).size(); ++m) {
for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- for (int c=0; c<arrdata.at(group).at(m).hh->components(reflevel); ++c) {
- arrdata.at(group).at(m).data.at(var)->fill (reflevel, c, mglevel);
- }
+ arrdata.at(group).at(m).data.at(var)->
+ fill_all (reflevel, mglevel);
}
}
break;
@@ -139,9 +139,7 @@ namespace Carpet {
case CCTK_ARRAY:
if (do_global_mode) {
for (int var=0; var<CCTK_NumVarsInGroupI(group); ++var) {
- for (int c=0; c<arrdata.at(group).at(0).hh->components(0); ++c) {
- arrdata.at(group).at(0).data.at(var)->fill (0, c, mglevel);
- }
+ arrdata.at(group).at(0).data.at(var)->fill_all (0, mglevel);
}
}
break;