aboutsummaryrefslogtreecommitdiff
path: root/src/CopyBoundary.c
diff options
context:
space:
mode:
authorallen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4>2000-07-15 18:59:01 +0000
committerallen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4>2000-07-15 18:59:01 +0000
commitf248d9d88b79a4c7e4f66a89aca6222b70190e14 (patch)
tree199ffcd31362d0d1a080f93a78141f80cc230f07 /src/CopyBoundary.c
parent35e47f97ca82d39e84faa5568233ffeacc4389fc (diff)
Fixed bug in 1D scalar boundary condition
Apply boundary conditions to the right timelevels (!) Add fake symmetry structure so no longer need to compile Boundary with CartGrid3D. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Boundary/trunk@112 6a38eb6e-646e-4a02-a296-d141613ad6c4
Diffstat (limited to 'src/CopyBoundary.c')
-rw-r--r--src/CopyBoundary.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/CopyBoundary.c b/src/CopyBoundary.c
index 6ae555e..8a429a0 100644
--- a/src/CopyBoundary.c
+++ b/src/CopyBoundary.c
@@ -18,7 +18,7 @@
#include "cctk_FortranString.h"
#include "cctk_Parameters.h"
-#include "Symmetry.h"
+#include "BoundarySymmetries.h"
#include "Boundary.h"
/* Internal routine prototypes */
@@ -277,6 +277,7 @@ static int ApplyBndCopy(cGH *GH,
int berr,ierr;
int *doBC, *dstag, *lssh;
SymmetryGHex *sGHex;
+ int timelevel; /* timelevel that condition applied on */
/* See if we have a symmetry array */
symmetry_handle = CCTK_GHExtensionHandle("Symmetry");
@@ -301,6 +302,11 @@ static int ApplyBndCopy(cGH *GH,
gi = CCTK_GroupIndexFromVarI(first_var);
ierr = CCTK_GroupStaggerDirArrayGI(dstag, dim, gi);
+ /* get the current timelevel */
+ timelevel = CCTK_NumTimeLevelsFromVarI (first_var) - 1;
+ if (timelevel > 0)
+ timelevel--;
+
for (vi=first_var; vi<first_var+num_vars; vi++)
{
vi2 = (vi-first_var+second_var);
@@ -342,22 +348,22 @@ static int ApplyBndCopy(cGH *GH,
doBC,
lssh,
stencil,
- GH->data[vi][0],
- GH->data[vi2][0]); break;
+ GH->data[vi][timelevel],
+ GH->data[vi2][timelevel]); break;
case 2: berr = BndApplyCopy2Di(GH,
dim,
doBC,
lssh,
stencil,
- GH->data[vi][0],
- GH->data[vi2][0]); break;
+ GH->data[vi][timelevel],
+ GH->data[vi2][timelevel]); break;
case 3: berr = BndApplyCopy3Di(GH,
dim,
doBC,
lssh,
stencil,
- GH->data[vi][0],
- GH->data[vi2][0]); break;
+ GH->data[vi][timelevel],
+ GH->data[vi2][timelevel]); break;
default : berr = -1; CCTK_WARN(1, "No BC for dim>3");
}
berr = (berr>-1) ? 0 : -1;