From 82613b89df769233f1295f37b75f80f8f6f4fe27 Mon Sep 17 00:00:00 2001 From: rideout Date: Fri, 14 Feb 2003 14:25:23 +0000 Subject: Use new boundary interface. git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyC/trunk@80 90eea020-d82d-4da5-bf6e-4ee79ff7632f --- interface.ccl | 7 +++++-- schedule.ccl | 3 +++ src/WaveToy.c | 48 +++++++++++++++++++++++++++++------------------- 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"); } -- cgit v1.2.3