diff options
author | goodale <goodale@f80f6fb6-8356-4fd4-90bc-d84ad503c100> | 2004-05-06 02:10:18 +0000 |
---|---|---|
committer | goodale <goodale@f80f6fb6-8356-4fd4-90bc-d84ad503c100> | 2004-05-06 02:10:18 +0000 |
commit | dd7be309bde2ba064e4f1949a83e7cade571086e (patch) | |
tree | 9c3ca1927ca54f60d4e9a56b280d0a031dc773f1 | |
parent | 5d6de3bdc161d01e531adb3c743a3e3ae5c05886 (diff) |
Making WaveToy versions more consistent. This change also fixes the bug
in some of the implementations whereby "zero" rather than "scalar" was
passed to the boundary condition routines - PR 1676.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyF90/trunk@100 f80f6fb6-8356-4fd4-90bc-d84ad503c100
-rw-r--r-- | src/WaveToy.F | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/WaveToy.F b/src/WaveToy.F index fb73cca..c8e6ef1 100644 --- a/src/WaveToy.F +++ b/src/WaveToy.F @@ -5,6 +5,7 @@ @desc Evolution routines for the wave equation solver @enddesc + @version $Header$ @@*/ #include "cctk.h" @@ -12,8 +13,6 @@ #include "cctk_Arguments.h" #include "cctk_Functions.h" -#define BOUNDARY_ERROR if (ierr < 0) call CCTK_WARN(0,"WaveToyF90_Boundaries: Error in boundary routines") - /*@@ @routine WaveToyF90_Evolution @date @@ -110,33 +109,31 @@ DECLARE_CCTK_PARAMETERS DECLARE_CCTK_FUNCTIONS - integer :: ierr +c Local declarations + CCTK_INT :: ierr + + CHARACTER (len=100) :: boundary + INTEGER :: length + ierr = 0 +c The "bound" parameter needs to be converted into a Fortran string. + call CCTK_FortranString(length,bound,boundary) + c Apply the outer boundary conditions c ----------------------------------- c Note: In each of the following calls to Boundary_SelectVarForBC, c default arguments are used, so an invalid table handle of -1 can c be passed - if (CCTK_EQUALS(bound,"flat")) then + if (CCTK_EQUALS(bound,"flat") .or. CCTK_EQUALS(bound,"static") .or. + $ CCTK_EQUALS(bound,"radiation") .or. CCTK_EQUALS(bound,"robin") .or. + $ CCTK_EQUALS(bound,"none") ) then ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - $ "wavetoy::phi", "Flat") - else if (CCTK_EQUALS(bound,"static")) then - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - $ "wavetoy::phi", "Static") - else if (CCTK_EQUALS(bound,"radiation")) then - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - $ "wavetoy::phi", "Radiation") - else if (CCTK_EQUALS(bound,"robin")) then - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - $ "wavetoy::phi", "Robin") + $ "wavetoy::phi", boundary) else if (CCTK_EQUALS(bound,"zero")) then ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, $ "wavetoy::phi", "Scalar") - else if (.NOT. CCTK_EQUALS(bound,"none")) then - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - $ "wavetoy::phi", "None") end if if (ierr < 0) then |