diff options
author | allen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2000-07-15 18:59:01 +0000 |
---|---|---|
committer | allen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2000-07-15 18:59:01 +0000 |
commit | f248d9d88b79a4c7e4f66a89aca6222b70190e14 (patch) | |
tree | 199ffcd31362d0d1a080f93a78141f80cc230f07 /src/CopyBoundary.c | |
parent | 35e47f97ca82d39e84faa5568233ffeacc4389fc (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.c | 20 |
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; |