aboutsummaryrefslogtreecommitdiff
path: root/src/FlatBoundary.c
diff options
context:
space:
mode:
authorlanfer <lanfer@6a38eb6e-646e-4a02-a296-d141613ad6c4>2000-07-18 16:56:01 +0000
committerlanfer <lanfer@6a38eb6e-646e-4a02-a296-d141613ad6c4>2000-07-18 16:56:01 +0000
commit779e0b79c1af4f3a1e1e66164dc3d539fd1869bc (patch)
tree6c02e97f5918d8cf28440ff4e75092b840c007ea /src/FlatBoundary.c
parentd992df596dc3b32814edc22c96c51e588911bd2f (diff)
Boundary routines:
reworked Robin to have conformal calling interfaces fixed two bugs: the more interresting one: coordinates do not have timelevels. Replaced most CCTK_WARNS with CCTK_VWarns to be more informative. gerd git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Boundary/trunk@115 6a38eb6e-646e-4a02-a296-d141613ad6c4
Diffstat (limited to 'src/FlatBoundary.c')
-rw-r--r--src/FlatBoundary.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/FlatBoundary.c b/src/FlatBoundary.c
index dab27f2..fb8fb0f 100644
--- a/src/FlatBoundary.c
+++ b/src/FlatBoundary.c
@@ -225,7 +225,7 @@ void CCTK_FCALL CCTK_FNAME(BndFlatVN)
/*@@
@routine ApplyBndFlat
@date Jul 5 2000
- @author Gabrielle Allen
+ @author Gabrielle Allen, Gerd Lanfermann
@desc
Wrapper for setting up and calling flat boundary conditions
@enddesc
@@ -242,8 +242,8 @@ int ApplyBndFlat(cGH *GH,
{
int symmetry_handle; /* handle for the optional symmetry structure */
int vi, gi, dim;
- int idim;
- int berr,ierr;
+ int idim;
+ int berr=0,ierr=0;
int *doBC, *dstag, *lssh;
int timelevel; /* timelevel that condition applied on */
SymmetryGHex *sGHex;
@@ -270,6 +270,10 @@ int ApplyBndFlat(cGH *GH,
/* get the directional staggering of the group */
gi = CCTK_GroupIndexFromVarI(first_var);
ierr = CCTK_GroupStaggerDirArrayGI(dstag, dim, gi);
+ if (ierr<0) CCTK_VWarn(1,__LINE__,__FILE__,"Boundary",
+ "Cannot get stagger information for group '%s' (GF '$s')\n",
+ CCTK_GroupName(gi), CCTK_VarName(first_var));
+
/* get the current timelevel */
timelevel = CCTK_NumTimeLevelsFromVarI (first_var) - 1;
@@ -328,7 +332,10 @@ int ApplyBndFlat(cGH *GH,
lssh,
stencil,
GH->data[vi][timelevel]); break;
- default : berr = -1; CCTK_WARN(1, "ApplyBndFlat: No BC for dim>3");
+ default : berr = -1;
+ CCTK_VWarn(1,__LINE__,__FILE__,"Boundary",
+ "ApplyBndFlat: No BC for dim>3: grid variable '%s'",
+ CCTK_VarName(vi));
}
berr = (berr>-1) ? 0 : -1;
}
@@ -337,7 +344,7 @@ int ApplyBndFlat(cGH *GH,
free(doBC);
free(lssh);
- return(ierr);
+ return(berr);
}
@@ -390,8 +397,8 @@ int BndApplyFlat3Di(cGH *GH,
{
for (sw=0;sw<stencil[0];sw++)
{
- var[CCTK_GFINDEX3D(GH,GH->cctk_lsh[0]-sw-1,j,k)]
- = var[CCTK_GFINDEX3D(GH,GH->cctk_lsh[0]-stencil[0]-1,j,k)];
+ var[CCTK_GFINDEX3D(GH,lssh[0]-sw-1,j,k)]
+ = var[CCTK_GFINDEX3D(GH,lssh[0]-stencil[0]-1,j,k)];
}
}
}
@@ -422,8 +429,8 @@ int BndApplyFlat3Di(cGH *GH,
{
for (sw=0;sw<stencil[1];sw++)
{
- var[CCTK_GFINDEX3D(GH,i,GH->cctk_lsh[1]-sw-1,k)]
- = var[CCTK_GFINDEX3D(GH,i,GH->cctk_lsh[1]-stencil[1]-1,k)];
+ var[CCTK_GFINDEX3D(GH,i,lssh[1]-sw-1,k)]
+ = var[CCTK_GFINDEX3D(GH,i,lssh[1]-stencil[1]-1,k)];
}
}
}
@@ -454,8 +461,8 @@ int BndApplyFlat3Di(cGH *GH,
{
for (sw=0;sw<stencil[2];sw++)
{
- var[CCTK_GFINDEX3D(GH,i,j,GH->cctk_lsh[2]-sw-1)]
- = var[CCTK_GFINDEX3D(GH,i,j,GH->cctk_lsh[2]-stencil[2]-1)];
+ var[CCTK_GFINDEX3D(GH,i,j,lssh[2]-sw-1)]
+ = var[CCTK_GFINDEX3D(GH,i,j,lssh[2]-stencil[2]-1)];
}
}
}