aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src
diff options
context:
space:
mode:
authorcott <schnetter@cct.lsu.edu>2007-07-20 05:30:00 +0000
committercott <schnetter@cct.lsu.edu>2007-07-20 05:30:00 +0000
commit3d020241c0954c675ce5d90e04c42647939c36ae (patch)
tree5be025d3b948a7cdd2315c46a62cc708cbf88d51 /Carpet/Carpet/src
parent1ea2bb0e035c99f456b9d3de7fba7a15cc90037a (diff)
Sync 1-tl and prolongation=none GFs
Fix a little bug that prevented the synchronization of GFs that have only 1 timelevel or have prolongation turned off explicitely (tag 'prolongation=none'). darcs-hash:20070720053047-fff0f-d3020389f0fa803eb5abacbc45cd02639a4c6b7c.gz
Diffstat (limited to 'Carpet/Carpet/src')
-rw-r--r--Carpet/Carpet/src/SetupGH.cc8
-rw-r--r--Carpet/Carpet/src/Storage.cc7
2 files changed, 10 insertions, 5 deletions
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index 42e69fe4b..6863abbbd 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -1766,7 +1766,7 @@ namespace Carpet {
"Group \"%s\" has only one time level; therefore it will not be prolongated or restricted.",
groupname);
free (groupname);
- return op_none;
+ return op_sync;
} else {
// Several time levels: use the default
return op_Lagrange;
@@ -1778,7 +1778,7 @@ namespace Carpet {
"Group \"%s\" has the variable type \"%s\" which cannot be prolongated or restricted.",
groupname, CCTK_VarTypeName(gdata.vartype));
free (groupname);
- return op_none;
+ return op_sync;
} else {
return op_error;
}
@@ -1788,7 +1788,9 @@ namespace Carpet {
// Select the prolongation method
assert (have_prolong_string);
if (CCTK_Equals(prolong_string, "none")) {
- return op_none;
+ return op_sync; // sync absolutely everything
+ } else if (CCTK_Equals(prolong_string, "sync")) {
+ return op_sync;
} else if (CCTK_Equals(prolong_string, "copy")) {
return op_copy;
} else if (CCTK_Equals(prolong_string, "Lagrange")) {
diff --git a/Carpet/Carpet/src/Storage.cc b/Carpet/Carpet/src/Storage.cc
index 1e3856e0f..1ef8cd5a2 100644
--- a/Carpet/Carpet/src/Storage.cc
+++ b/Carpet/Carpet/src/Storage.cc
@@ -210,7 +210,9 @@ namespace Carpet {
} // for n
- return total_num_timelevels;
+ // return total_num_timelevels;
+ return do_allow_past_timelevels ?
+ total_num_timelevels : min(1,total_num_timelevels);
}
@@ -359,7 +361,8 @@ namespace Carpet {
if (gp.grouptype == CCTK_GF) {
if (groupdata.at(group).transport_operator != op_none
- and groupdata.at(group).transport_operator != op_copy) {
+ and groupdata.at(group).transport_operator != op_copy
+ and groupdata.at(group).transport_operator != op_sync) {
if (groupdata.at(group).activetimelevels.at(ml).at(rl) != 0
and (groupdata.at(group).activetimelevels.at(ml).at(rl)
< prolongation_order_time+1))