aboutsummaryrefslogtreecommitdiff
path: root/Carpet
diff options
context:
space:
mode:
authorschnetter <>2003-07-16 19:45:00 +0000
committerschnetter <>2003-07-16 19:45:00 +0000
commitfea7e058dce702dfa78aca7ef9f0b0533e246d59 (patch)
tree0a92ce11f618f3d39aae276720410d2a651309df /Carpet
parent49c5a8ec0b5e69d9ad1df9c4bc05b8c4d056b7d8 (diff)
Introduce a buffer zone between the prolongation destination and
Introduce a buffer zone between the prolongation destination and restriction source grid points. Set its width to 2 by default. This seems to be necessary for second order convergence. darcs-hash:20030716194558-07bb3-d34ffc034cb54e4dcce2e2be2bd378184a79304e.gz
Diffstat (limited to 'Carpet')
-rw-r--r--Carpet/CarpetLib/param.ccl7
-rw-r--r--Carpet/CarpetLib/src/dh.cc6
2 files changed, 10 insertions, 3 deletions
diff --git a/Carpet/CarpetLib/param.ccl b/Carpet/CarpetLib/param.ccl
index bba42acd0..707da6619 100644
--- a/Carpet/CarpetLib/param.ccl
+++ b/Carpet/CarpetLib/param.ccl
@@ -1,5 +1,5 @@
# Parameter definitions for thorn CarpetLib
-# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/param.ccl,v 1.3 2002/10/24 11:36:34 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/param.ccl,v 1.4 2003/07/16 21:45:58 schnetter Exp $
private:
@@ -14,3 +14,8 @@ BOOLEAN barriers "Insert barriers at strategic places for debugging purposes (sl
BOOLEAN output_bboxes "Output bounding box information to the screen"
{
} "no"
+
+CCTK_INT buffer_width "Width of the buffer zone between the prolongation destination and the restriction source"
+{
+ 0:* :: "2 seems to be the minimum for second-order convergence"
+} 2
diff --git a/Carpet/CarpetLib/src/dh.cc b/Carpet/CarpetLib/src/dh.cc
index c9c15e1da..b140d68b4 100644
--- a/Carpet/CarpetLib/src/dh.cc
+++ b/Carpet/CarpetLib/src/dh.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.cc,v 1.36 2003/07/14 15:41:34 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.cc,v 1.37 2003/07/16 21:45:58 schnetter Exp $
#include <assert.h>
@@ -281,7 +281,9 @@ void dh<D>::recompose (const int initialise_upto) {
boxes[rl ][c ][ml].recv_ref_fine [cc].push_back(recv);
}
#else
- const ibbox recv = intrf.contracted_for(intr) & intr;
+ const ivect buf (buffer_width);
+ const ibbox recv = (intrf.contracted_for(intr).expand(-buf,-buf)
+ & intr);
const ibbox send = recv.expanded_for(intrf);
assert (send.empty() == recv.empty());
if (! send.empty()) {