aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrideout <rideout@90eea020-d82d-4da5-bf6e-4ee79ff7632f>2003-02-14 14:25:23 +0000
committerrideout <rideout@90eea020-d82d-4da5-bf6e-4ee79ff7632f>2003-02-14 14:25:23 +0000
commit82613b89df769233f1295f37b75f80f8f6f4fe27 (patch)
tree6a53aba50b94bf014f765db4947e460f3b9f78f0
parent2766b5af745b61b8b2fb5b11397db511d88c0009 (diff)
Use new boundary interface.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyC/trunk@80 90eea020-d82d-4da5-bf6e-4ee79ff7632f
-rw-r--r--interface.ccl7
-rw-r--r--schedule.ccl3
-rw-r--r--src/WaveToy.c48
3 files changed, 37 insertions, 21 deletions
diff --git a/interface.ccl b/interface.ccl
index eeb5a3b..61991a7 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -4,12 +4,15 @@
implements: wavetoy
inherits: Grid Boundary
-USES INCLUDE: Boundary.h
USES INCLUDE: Symmetry.h
public:
-cctk_real scalarevolve type = GF Timelevels=3
+cctk_real scalarevolve type = GF Timelevels=3 tags='tensortypealias="Scalar"'
{
phi
} "The evolved scalar field"
+
+CCTK_INT FUNCTION Boundary_SelectVarForBC CCTK_POINTER GH, CCTK_INT faces, \
+ CCTK_INT table_handle, CCTK_STRING var_name, CCTK_STRING bc_name
+USES FUNCTION Boundary_SelectVarForBC
diff --git a/schedule.ccl b/schedule.ccl
index 2a918c0..41c3d45 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -24,3 +24,6 @@ schedule WaveToyC_Boundaries as WaveToy_Boundaries at EVOL AFTER WaveToy_Evoluti
LANG: C
} "Boundaries of 3D wave equation"
+schedule GROUP ApplyBCs at EVOL after WaveToy_Evolution
+{
+} "Apply boundary conditions"
diff --git a/src/WaveToy.c b/src/WaveToy.c
index 94ebae7..678de50 100644
--- a/src/WaveToy.c
+++ b/src/WaveToy.c
@@ -9,16 +9,16 @@
@@*/
-#include "cctk.h"
+#include "cctk.h"
+#include "cctk_Faces.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "Boundary.h"
#include "Symmetry.h"
static const char *rcsid = "$Header$";
-CCTK_FILEVERSION(CactusWave_WaveToyC_WaveToy_c)
+CCTK_FILEVERSION(CactusWave_WaveToyC_WaveToy_c);
void WaveToyC_Boundaries(CCTK_ARGUMENTS);
void WaveToyC_Evolution(CCTK_ARGUMENTS);
@@ -33,15 +33,13 @@ void WaveToyC_Evolution(CCTK_ARGUMENTS);
@calls CCTK_SyncGroup, WaveToyC_Boundaries
@calledby
@history
-
@endhistory
-
@@*/
void WaveToyC_Evolution(CCTK_ARGUMENTS)
{
- DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_ARGUMENTS;
int i,j,k;
int index;
@@ -110,15 +108,13 @@ void WaveToyC_Evolution(CCTK_ARGUMENTS)
Boundary conditions for the wave equation
@enddesc
@history
-
@endhistory
-
@@*/
void WaveToyC_Boundaries(CCTK_ARGUMENTS)
{
- DECLARE_CCTK_ARGUMENTS
- DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
CCTK_REAL finf;
int ierr=-1;
@@ -135,28 +131,42 @@ void WaveToyC_Boundaries(CCTK_ARGUMENTS)
ierr = CartSymGN(cctkGH,"wavetoy::scalarevolve");
- if (CCTK_EQUALS(bound,"flat"))
+ if (CCTK_EQUALS(bound,"flat"))
{
- ierr = BndFlatVN(cctkGH,sw,"wavetoy::phi");
+ /* Uses all default arguments, so invalid table handle -1 can be passed */
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "Flat");
}
else if (CCTK_Equals(bound,"static"))
{
- ierr = BndStaticVN(cctkGH,sw,"wavetoy::phi");
+ /* Uses all default arguments, so invalid table handle -1 can be passed */
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "Static");
}
- else if (CCTK_Equals(bound,"radiation"))
+ else if (CCTK_Equals(bound,"radiation"))
{
- ierr = BndRadiativeVN(cctkGH,sw,0.0,1.0,"wavetoy::phi",
- "wavetoy::phi");
+ /* Uses all default arguments, so invalid table handle -1 can be passed */
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "Radiative");
}
else if (CCTK_Equals(bound,"robin"))
{
- ierr = BndRobinVN(cctkGH,sw,finf,npow,"wavetoy::phi");
+ /* Uses all default arguments, so invalid table handle -1 can be passed */
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "Robin");
}
else if (CCTK_Equals(bound,"zero"))
{
- ierr = BndScalarVN(cctkGH,sw, 0.0,"wavetoy::phi");
+ /* Uses all default arguments, so invalid table handle -1 can be passed */
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "Scalar");
+ }
+ else if (CCTK_Equals(bound,"none"))
+ {
+ ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, -1, "wavetoy::phi",
+ "None");
}
- else if (! CCTK_Equals(bound,"none"))
+ else
{
CCTK_WARN(0,"Boundary condition not recognized");
}