diff options
author | schnetter <> | 2003-07-16 19:45:00 +0000 |
---|---|---|
committer | schnetter <> | 2003-07-16 19:45:00 +0000 |
commit | fea7e058dce702dfa78aca7ef9f0b0533e246d59 (patch) | |
tree | 0a92ce11f618f3d39aae276720410d2a651309df /Carpet | |
parent | 49c5a8ec0b5e69d9ad1df9c4bc05b8c4d056b7d8 (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.ccl | 7 | ||||
-rw-r--r-- | Carpet/CarpetLib/src/dh.cc | 6 |
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()) { |