diff options
author | cott <schnetter@cct.lsu.edu> | 2007-07-20 05:30:00 +0000 |
---|---|---|
committer | cott <schnetter@cct.lsu.edu> | 2007-07-20 05:30:00 +0000 |
commit | 3d020241c0954c675ce5d90e04c42647939c36ae (patch) | |
tree | 5be025d3b948a7cdd2315c46a62cc708cbf88d51 /Carpet/Carpet/src | |
parent | 1ea2bb0e035c99f456b9d3de7fba7a15cc90037a (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.cc | 8 | ||||
-rw-r--r-- | Carpet/Carpet/src/Storage.cc | 7 |
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)) |