diff options
author | lanfer <lanfer@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2000-07-18 16:56:01 +0000 |
---|---|---|
committer | lanfer <lanfer@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2000-07-18 16:56:01 +0000 |
commit | 779e0b79c1af4f3a1e1e66164dc3d539fd1869bc (patch) | |
tree | 6c02e97f5918d8cf28440ff4e75092b840c007ea /src | |
parent | d992df596dc3b32814edc22c96c51e588911bd2f (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')
-rw-r--r-- | src/CopyBoundary.c | 10 | ||||
-rw-r--r-- | src/FlatBoundary.c | 29 | ||||
-rw-r--r-- | src/RadiationBoundary.c | 82 | ||||
-rw-r--r-- | src/RobinBoundary.c | 45 | ||||
-rw-r--r-- | src/RobinBoundaryWrappers.c | 360 | ||||
-rw-r--r-- | src/ScalarBoundary.c | 21 |
6 files changed, 460 insertions, 87 deletions
diff --git a/src/CopyBoundary.c b/src/CopyBoundary.c index 8a429a0..0f49b62 100644 --- a/src/CopyBoundary.c +++ b/src/CopyBoundary.c @@ -1,9 +1,10 @@ /*@@ - @file ScalarBoundary.c + @file CopyBoundary.c @date Mon Mar 15 15:09:00 1999 @author Gerd Lanfermann, Gabrielle Allen @desc - Wrappers for calling routines for applying scalar boundary conditions + Wrappers for calling routines for applying copying-boudnary + conditions @enddesc @@*/ @@ -364,7 +365,10 @@ static int ApplyBndCopy(cGH *GH, stencil, GH->data[vi][timelevel], GH->data[vi2][timelevel]); break; - default : berr = -1; CCTK_WARN(1, "No BC for dim>3"); + default : berr = -1; + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "ApplyBndCopy: No BC for dim>3: grid variables '%s'/'%s'", + CCTK_VarName(vi),CCTK_VarName(vi2)); } berr = (berr>-1) ? 0 : -1; } 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)]; } } } diff --git a/src/RadiationBoundary.c b/src/RadiationBoundary.c index 4ba041d..433634d 100644 --- a/src/RadiationBoundary.c +++ b/src/RadiationBoundary.c @@ -64,6 +64,19 @@ static int ApplyBndRadiative(cGH *GH, ******************** External Routines ************************ ********************************************************************/ +/*@@ + @routine BndRadiativeGI + @date Tue Jul 18 18:04:07 2000 + @author Gerd Lanfermann + @desc + Aply radiative BC's by group index + @enddesc + @calls + @calledby + @history + @endhistory + +@@*/ int BndRadiativeGI(cGH *GH, int *sw, @@ -89,7 +102,18 @@ void CCTK_FCALL CCTK_FNAME(BndRadiativeGI) *ierr = BndRadiativeGI(GH, sw, *var0, *v0, *gi, *gi_p); } +/*@@ + @routine BndRadiativeGI + @date Tue Jul 18 18:04:07 2000 + @author Gerd Lanfermann + @desc + Aply radiative BC's by group name @enddesc + @calls + @calledby + @history + @endhistory +@@*/ int BndRadiativeGN(cGH *GH, int *sw, @@ -126,7 +150,19 @@ void CCTK_FCALL CCTK_FNAME(BndRadiativeGN) return; } +/*@@ + @routine BndRadiativeGI + @date Tue Jul 18 18:04:07 2000 + @author Gerd Lanfermann + @desc + Apply radiative BC's by variable index + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ int BndRadiativeVI(cGH *GH, int *sw, @@ -146,6 +182,19 @@ void CCTK_FCALL CCTK_FNAME(BndRadiativeVI) return; } +/*@@ + @routine BndRadiativeGI + @date Tue Jul 18 18:04:07 2000 + @author Gerd Lanfermann + @desc + Apply radiative BC's by variable name + @enddesc + @calls + @calledby + @history + @endhistory + +@@*/ int BndRadiativeVN(cGH *GH, int *sw, @@ -190,6 +239,19 @@ void CCTK_FCALL CCTK_FNAME(BndRadiativeVN) /******************************************************************** ********************* Local Routines ************************* ********************************************************************/ +/*@@ + @routine BndRadiativeGI + @date Tue Jul 18 18:04:07 2000 + @author Gerd Lanfermann + @desc + Apply radiative BC's - internal routine + @enddesc + @calls + @calledby + @history + @endhistory + +@@*/ static int ApplyBndRadiative(cGH *GH, int *sw, @@ -245,7 +307,9 @@ static int ApplyBndRadiative(cGH *GH, ri = CCTK_CoordIndex(-1,"r","spher3d"); break; default: - CCTK_WARN(2,"ApplyBndRadiative: Radiative boundary only for dim=3"); + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "Radiative boundary only for dim=3: grid varible '%s'", + CCTK_VarName(var_current)); break; } @@ -313,13 +377,17 @@ static int ApplyBndRadiative(cGH *GH, { case 1: berr = -1; - CCTK_WARN(0,"ApplyBndRadiative: Radiative boundary conditions" - "not implemented for dimension = 1"); + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "ApplyBndRadiative: Radiative boundary conditions" + "not implemented for dimension = 1, grid variable '%s'", + CCTK_VarName(vi1)); break; case 2: berr = -1; - CCTK_WARN(0,"ApplyBndRadiative: Radiative boundary conditions" - "not implemented for dimension = 2"); + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "ApplyBndRadiative: Radiative boundary conditions" + "not implemented for dimension = 2, grid variable '%s'", + CCTK_VarName(vi1)); break; case 3: /* According to the Cactus spec, the true dx and dt values for a @@ -348,7 +416,9 @@ static int ApplyBndRadiative(cGH *GH, break; default : berr=-1; - CCTK_WARN(1, "ApplyBndRadiative: No Radiative BC for dim>3"); + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "No Radiative BC for dim>3, grid variable '%s'", + CCTK_VarName(vi1)); } berr=(berr<0)?-1:0; } diff --git a/src/RobinBoundary.c b/src/RobinBoundary.c index b6f3267..bcecc4d 100644 --- a/src/RobinBoundary.c +++ b/src/RobinBoundary.c @@ -1,18 +1,40 @@ + /*@@ + @file RobinBoundary.c + @date Tue Jul 18 18:07:24 2000 + @author Gerd Lanfermann + @desc + internal routines to apply 1d,2d,3d Robin + boundary conditions + @enddesc + @@*/ #include <math.h> - #include "cctk.h" #include "cctk_Parameters.h" -void BndApplyRobin3Di(cGH *GH, - int gdim, - int *sw, - int *doBC, - int *lsh, - CCTK_REAL *var, - CCTK_REAL *r, - CCTK_REAL finf, - CCTK_INT npow) +/*@@ + @routine BndApplyRobin3Di + @date Tue Jul 18 18:06:53 2000 + @author Gerd Lanfermann + @desc + Apply 3d Robin Boundary condition - internal routine + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ + +int BndApplyRobin3Di(cGH *GH, + int *sw, + int *doBC, + int *lsh, + CCTK_REAL *var, + CCTK_REAL *r, + CCTK_REAL finf, + CCTK_INT npow) { int xgp1,xgp2,xgp3,xgp4; @@ -53,7 +75,7 @@ void BndApplyRobin3Di(cGH *GH, xgp4 = CCTK_GFINDEX3D(GH,lsh[0]-4,j,k); var[xgp1] = finf + ( - pow(r[xgp3],npow)*( var[xgp4] - finf ) + pow(r[xgp3],npow)*( var[xgp4] - finf ) -3.0*pow(r[xgp3],npow)*( var[xgp3] - finf ) +3.0*pow(r[xgp2],npow)*( var[xgp2] - finf ) )/pow(r[xgp1],npow); @@ -134,4 +156,5 @@ void BndApplyRobin3Di(cGH *GH, } } } + return(0); } diff --git a/src/RobinBoundaryWrappers.c b/src/RobinBoundaryWrappers.c index 85cdb91..a4f3a3c 100644 --- a/src/RobinBoundaryWrappers.c +++ b/src/RobinBoundaryWrappers.c @@ -21,9 +21,7 @@ #include "BoundarySymmetries.h" - -void CCTKi_NotYetImplemented(const char *message); -void BndApplyRobin3Di(cGH *GH, +int BndApplyRobin3Di(cGH *GH, int *sw, int *doBC, int *lsh, @@ -32,71 +30,321 @@ void BndApplyRobin3Di(cGH *GH, CCTK_REAL finf, CCTK_INT npow); +int ApplyBndRobin(cGH *GH, + int *sw, + CCTK_REAL finf, + CCTK_INT npow, + int first_var, + int num_vars); + +int BndRobinGI(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + int gi); + +int BndRobinGN(cGH *GH, + int *sw, + CCTK_REAL finf, + CCTK_INT npow, + const char *gn); + +int BndRobinVI(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + int vi); + +int BndRobinVN(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + const char *vn); + + +/******************************************************************** + ******************** External Routines ************************ + ********************************************************************/ + +/*@@ + @routine BndRobinGI + @date Tue Jul 18 18:08:28 2000 + @author Gerd Lanfermann + @desc + Apply Robin boundary condition by group index + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ + +int BndRobinGI(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + int gi) +{ + int numvars, first_vi; + + first_vi = CCTK_FirstVarIndexI(gi); + numvars = CCTK_NumVarsInGroupI(gi); + + return ApplyBndRobin(GH,stencil,finf,npow,first_vi,numvars); +} + +void CCTK_FCALL CCTK_FNAME(BndRobinGI) + (int *ierr, cGH *GH, int *stencil, + CCTK_REAL *finf, CCTK_INT *npow, int *gi) +{ + *ierr = BndRobinGI(GH,stencil, *finf, *npow, *gi); + return; +} + +/*@@ + @routine BndRobinGI + @date Tue Jul 18 18:08:28 2000 + @author Gerd Lanfermann + @desc + Apply Robin boundary condition by group mame + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ + +int BndRobinGN(cGH *GH, + int *sw, + CCTK_REAL finf, + CCTK_INT npow, + const char *gn) +{ + int retval; + int gi; + gi = CCTK_GroupIndex(gn); + + if (gi>-1) + { + retval=BndRobinGI(GH, sw, finf, npow, gi); + } + else + { + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "BndFlatGN: Grid variable %s not found",gn); + retval=-1; + } + return retval; +} + +void CCTK_FCALL CCTK_FNAME(BndRobinGN) + (int *ierr, cGH *GH, int *stencil, + CCTK_REAL *finf, CCTK_INT *npow, ONE_FORTSTRING_ARG) +{ + ONE_FORTSTRING_CREATE(gn) + *ierr = BndRobinVN(GH, stencil, *finf, *npow, gn); + free(gn); + return; +} + + +/*@@ + @routine BndRobinGI + @date Tue Jul 18 18:08:28 2000 + @author Gerd Lanfermann + @desc + Apply Robin boundary condition by variable index + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ + +int BndRobinVI(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + int vi) +{ + return(ApplyBndRobin(GH, stencil, finf, npow, vi, 1)); +} -int RobinBCVarI(cGH *GH, - CCTK_REAL finf, - CCTK_INT npow, - int *sw, int vi) +void CCTK_FCALL CCTK_FNAME(BndRobinVI) + (int *ierr, cGH *GH, int *stencil, + CCTK_REAL *finf, CCTK_INT *npow, int *vi) +{ + *ierr = BndRobinVI(GH, stencil, *finf, *npow, *vi); + return; +} + + +/*@@ + @routine BndRobinGI + @date Tue Jul 18 18:08:28 2000 + @author Gerd Lanfermann + @desc + Apply Robin boundary condition by variable index + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ + +int BndRobinVN(cGH *GH, + int *stencil, + CCTK_REAL finf, + CCTK_INT npow, + const char *vn) +{ + int vi; + int retval; + + vi = CCTK_VarIndex(vn); + if (vi>-1) + { + retval = BndRobinVI(GH, stencil, finf, npow, vi); + } + else + { + retval = -1; + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "BndRobinVN: Grid variable %s not found",vn); + } + return retval; +} + +void CCTK_FCALL CCTK_FNAME(BndRobinVN) + (int *ierr, cGH *GH, int *stencil, + CCTK_REAL *finf, CCTK_INT *npow, ONE_FORTSTRING_ARG) +{ + ONE_FORTSTRING_CREATE(vn) + *ierr = BndRobinVN(GH, stencil, *finf, *npow, vn); + free(vn); + return; +} + +/******************************************************************** + ********************* Local Routines ************************* + ********************************************************************/ + +/*@@ + @routine ApplyBndRobin + @date Tue Jul 18 18:08:28 2000 + @author Gerd Lanfermann + @desc + Apply Robin boundary condition - internal routine + @enddesc + @calls + @calledby + @history + @endhistory +@@*/ + +int ApplyBndRobin(cGH *GH, + int *sw, + CCTK_REAL finf, + CCTK_INT npow, + int first_var, + int num_vars) { SymmetryGHex *sGHex; - int doBC[6]; /* lower/upper BCs applied (1) not applied (0) */ - /* indexing as in bbox: 0 xlow, 1 xup, 2 ylow */ - - int retval=0; - int ri; /* index of the radial coordinate field */ - - sGHex = (SymmetryGHex*)GH->extensions[CCTK_GHExtensionHandle("Symmetry")]; - - /* Robin boundaries need radial coordinate */ - ri = CCTK_CoordIndex(-1,"r","spher3d"); + int symmetry_handle; /* handle for the optional symmetry structure */ + int *doBC; /* lower/upper BCs applied (1) not applied (0) */ + /* indexing as in bbox: 0 xlow, 1 xup, 2 ylow */ + int timelevel; /* timelevel that condition applied on */ + int ri; /* index of the radial coordinate field */ + int vi, dim, idim; + int berr=0; - /* We only apply BCs to GFs */ - if (CCTK_GroupTypeFromVarI(vi) == GROUP_GF) + /* See if we have a symmetry array */ + symmetry_handle = CCTK_GHExtensionHandle("Symmetry"); + if (symmetry_handle < 0) { - - /* Apply boundary condition if + sGHex = NULL; + } + else + { + sGHex = (SymmetryGHex*)GH->extensions[symmetry_handle]; + } + + /* Get group dimension */ + dim = CCTK_GroupDimFromVarI(first_var); + + /* allocate arrays */ + doBC = (int *)malloc((2*dim)*sizeof(int)); + + /* get the current timelevel */ + timelevel = CCTK_NumTimeLevelsFromVarI (first_var) - 1; + if (timelevel > 0) + timelevel--; + + /* Apply boundary condition if - grid boundary are not symmetries - have a physical boundary - have enough gridpoints - */ - doBC[0]=(((sGHex->GFSym[vi][0]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][0]==GFSYM_UNSET)) && - GH->cctk_lsh[0]>1 && GH->cctk_bbox[0]); - doBC[1]=(((sGHex->GFSym[vi][1]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][1]==GFSYM_UNSET)) && - GH->cctk_lsh[0]>1 && GH->cctk_bbox[1]); - doBC[2]=(((sGHex->GFSym[vi][2]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][2]==GFSYM_UNSET)) && - GH->cctk_lsh[1]>1 && GH->cctk_bbox[2]); - doBC[3]=(((sGHex->GFSym[vi][3]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][3]==GFSYM_UNSET)) && - GH->cctk_lsh[1]>1 && GH->cctk_bbox[3]); - doBC[4]=(((sGHex->GFSym[vi][4]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][4]==GFSYM_UNSET)) && - GH->cctk_lsh[2]>1 && GH->cctk_bbox[4]); - doBC[5]=(((sGHex->GFSym[vi][4]==GFSYM_NOSYM)|| - (sGHex->GFSym[vi][4]==GFSYM_UNSET)) && - GH->cctk_lsh[2]>1 && GH->cctk_bbox[5]); - - BndApplyRobin3Di(GH, - sw, - doBC, - GH->cctk_lsh, - GH->data[vi][0], - GH->data[ri][0], - finf, - npow); - } - else + */ + for (vi=first_var; vi<first_var+num_vars; vi++) { - CCTK_WARN(1,"You are trying to apply BC to something other than a GF "); - retval = -1; + if (sGHex) + { + for (idim=0;idim<dim;idim++) + { + doBC[idim*2] = (((sGHex->GFSym[vi][idim*2]==GFSYM_NOSYM)|| + (sGHex->GFSym[vi][idim*2]==GFSYM_UNSET)) && + GH->cctk_lsh[idim]>1 && GH->cctk_bbox[idim*2]); + doBC[idim*2+1] = (((sGHex->GFSym[vi][idim*2+1]==GFSYM_NOSYM)|| + (sGHex->GFSym[vi][idim*2+1]==GFSYM_UNSET)) && + GH->cctk_lsh[idim]>1 && GH->cctk_bbox[idim*2+1]); + } + } + else + { + for (idim=0;idim<dim;idim++) + { + doBC[idim*2] = (GH->cctk_lsh[idim]>1 && GH->cctk_bbox[idim*2]); + doBC[idim*2+1] = (GH->cctk_lsh[idim]>1 && GH->cctk_bbox[idim*2+1]); + } + } + + switch(dim) + { + case 3:/* Robin boundaries need radial coordinate */ + ri = CCTK_CoordIndex(-1,"r","spher3d"); + berr = BndApplyRobin3Di(GH, + sw, + doBC, + GH->cctk_lsh, + GH->data[vi][timelevel], + GH->data[ri][0], + finf, + npow); break; + default: + berr = -1; CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "No Robin BC for Grid variables with dim.NE.3: %s", + CCTK_VarName(vi)); + } + berr = (berr>-1) ? 0 : -1; } + + free(doBC); - return retval; + return (berr); } +/******************************************************************** + ********************* DEPRECATED: Beta 8 ********************** + ********************************************************************/ + +int RobinBCVarI(cGH *GH, CCTK_REAL finf, int npow, int *sw, int vi) +{ + return(BndRobinVI(GH,sw,finf,npow,vi)); + CCTK_WARN(1,"RobinBCVarI going to be deprecated\n"); +} + + void CCTK_FCALL CCTK_FNAME(RobinBCVarI)(int *ierr, cGH *GH, CCTK_REAL *finf, @@ -146,7 +394,9 @@ int RobinBCGroupI(cGH *GH, for (vi=0;vi<numVar;vi++) { rettmp = RobinBCVarI(GH, finf, npow, sw, firstVarI+vi); - if (rettmp!=0) CCTK_WARN(1,"Robin BC: failed to apply BC for GF in group!"); + if (rettmp!=0) CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "Failed to apply Robin BC for GF : %s", + CCTK_VarName(vi)); retval = retval || rettmp; } return(retval); diff --git a/src/ScalarBoundary.c b/src/ScalarBoundary.c index b33a0fc..70309b9 100644 --- a/src/ScalarBoundary.c +++ b/src/ScalarBoundary.c @@ -249,6 +249,20 @@ void CCTK_FCALL CCTK_FNAME(BndScalarVN) /******************************************************************** ********************* Local Routines ************************* ********************************************************************/ + /*@@ + @routine ApplyBndScalar + @date Tue Jul 18 18:10:33 2000 + @author Gerd Lanfermann + @desc + Apply scalar boundary routine - internal routine + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ static int ApplyBndScalar(cGH *GH, int *stencil, @@ -358,7 +372,9 @@ static int ApplyBndScalar(cGH *GH, break; default : berr = -1; - CCTK_WARN(1, "No BC for dim>3"); + CCTK_VWarn(1,__LINE__,__FILE__,"Boundary", + "No scalar boudnary for dim>3: grid variable '%s'", + CCTK_VarName(vi)); } berr = (berr>-1) ? 0 : -1; } @@ -378,6 +394,7 @@ static int ApplyBndScalar(cGH *GH, @author Gerd Lanfermann @desc Apply the constant boundary condition for 3d variables + -internal routine @enddesc @calls @calledby BndScalarGI, BndScalarVI, BndScalarVN, BndScalarGN, @@ -496,6 +513,7 @@ static int BndApplyScalar3Di(cGH *GH, @author Gerd Lanfermann @desc Apply the constant boundary condition for 2d variables + -internal routine @enddesc @history @@ -575,6 +593,7 @@ static int BndApplyScalar2Di(cGH *GH, @author Gerd Lanfermann @desc Apply the constant boundary condition for 1d variables + -internal routine @enddesc @history |