diff options
Diffstat (limited to 'CarpetExtra/WaveToyFO')
-rw-r--r-- | CarpetExtra/WaveToyFO/interface.ccl | 10 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/schedule.ccl | 29 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/boundaries.F77 | 8 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/calcrhs.F77 | 75 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/initsymbound.F77 | 3 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/make.code.defn | 4 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/registervars.F77 | 5 | ||||
-rw-r--r-- | CarpetExtra/WaveToyFO/src/startup.F77 | 3 |
8 files changed, 38 insertions, 99 deletions
diff --git a/CarpetExtra/WaveToyFO/interface.ccl b/CarpetExtra/WaveToyFO/interface.ccl index 91a6628a4..893aec679 100644 --- a/CarpetExtra/WaveToyFO/interface.ccl +++ b/CarpetExtra/WaveToyFO/interface.ccl @@ -1,24 +1,24 @@ # Interface definition for thorn WaveToyFO -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/interface.ccl,v 1.4 2004/09/04 18:15:15 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/interface.ccl,v 1.1 2003/06/18 18:24:30 schnetter Exp $ IMPLEMENTS: WaveToyFO -INHERITS: grid +INHERITS: boundary grid MethodOfLines -CCTK_INT FUNCTION Boundary_SelectGroupForBC(CCTK_POINTER_TO_CONST IN GH, \ +CCTK_INT FUNCTION Boundary_SelectGroupForBC(CCTK_POINTER IN GH, \ CCTK_INT IN faces, CCTK_INT IN boundary_width, CCTK_INT IN table_handle, \ CCTK_STRING IN group_name, CCTK_STRING IN bc_name) -REQUIRES FUNCTION Boundary_SelectGroupForBC +USES FUNCTION Boundary_SelectGroupForBC CCTK_INT FUNCTION MoLRegisterEvolvedGroup(CCTK_INT IN EvolvedIndex, \ CCTK_INT IN RHSIndex) -REQUIRES FUNCTION MoLRegisterEvolvedGroup +USES FUNCTION MoLRegisterEvolvedGroup diff --git a/CarpetExtra/WaveToyFO/schedule.ccl b/CarpetExtra/WaveToyFO/schedule.ccl index 85ec91def..4b014b0b3 100644 --- a/CarpetExtra/WaveToyFO/schedule.ccl +++ b/CarpetExtra/WaveToyFO/schedule.ccl @@ -1,5 +1,5 @@ # Schedule definitions for thorn WaveToyFO -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/schedule.ccl,v 1.6 2004/05/06 14:21:18 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/schedule.ccl,v 1.1 2003/06/18 18:24:30 schnetter Exp $ STORAGE: scalarevolve[3] STORAGE: scalarevolvedot @@ -17,7 +17,7 @@ SCHEDULE WaveToyFO_InitSymBound AT basegrid OPTIONS: global } "Schedule symmetries" -SCHEDULE WaveToyFO_RegisterVars IN MoL_Register +SCHEDULE WaveToyFO_RegisterVars IN FO_Register { LANG: Fortran OPTIONS: global @@ -25,44 +25,29 @@ SCHEDULE WaveToyFO_RegisterVars IN MoL_Register -SCHEDULE WaveToyFO_CalcRHS IN MoL_CalcRHS +SCHEDULE WaveToyFO_CalcRHS IN FO_CalcRHS { LANG: Fortran } "Calculate RHS for FO" -SCHEDULE WaveToyFO_RHSBoundaries IN MoL_CalcRHS AFTER WaveToyFO_CalcRHS -{ - LANG: Fortran - SYNC: scalarevolvedot - OPTIONS: level -} "Select RHS boundary conditions in FO" - -SCHEDULE GROUP ApplyBCs IN MoL_CalcRHS AFTER WaveToyFO_RHSBoundaries -{ -} "Apply RHSboundary conditions in FO" - - - -SCHEDULE WaveToyFO_Boundaries IN MoL_PostStep +SCHEDULE WaveToyFO_Boundaries IN FO_PostStep { LANG: Fortran SYNC: scalarevolve - OPTIONS: level } "Select boundary conditions in FO" -SCHEDULE GROUP ApplyBCs IN MoL_PostStep AFTER WaveToyFO_Boundaries +SCHEDULE GROUP ApplyBCs IN FO_PostStep AFTER WaveToyFO_Boundaries { } "Apply boundary conditions in FO" -SCHEDULE WaveToyFO_Boundaries AT POSTRESTRICT +SCHEDULE WaveToyFO_Boundaries IN postrestrict { LANG: Fortran SYNC: scalarevolve - OPTIONS: level } "Select boundary conditions after restricting" -SCHEDULE GROUP ApplyBCs AT POSTRESTRICT AFTER WaveToyFO_Boundaries +SCHEDULE GROUP ApplyBCs IN postrestrict AFTER WaveToyFO_Boundaries { } "Apply boundary conditions after restricting" diff --git a/CarpetExtra/WaveToyFO/src/boundaries.F77 b/CarpetExtra/WaveToyFO/src/boundaries.F77 index d2a0b03e2..b5ed40ddb 100644 --- a/CarpetExtra/WaveToyFO/src/boundaries.F77 +++ b/CarpetExtra/WaveToyFO/src/boundaries.F77 @@ -1,8 +1,8 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundaries.F77,v 1.3 2004/05/06 14:21:18 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundaries.F77,v 1.1 2003/06/18 18:24:30 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" -#include "cctk_Functions.h" +#include "cctk_Faces.h" #include "cctk_Parameters.h" subroutine WaveToyFO_Boundaries (CCTK_ARGUMENTS) @@ -10,6 +10,8 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundari DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_FUNCTIONS DECLARE_CCTK_PARAMETERS + external Boundary_SelectGroupForBC + CCTK_INT Boundary_SelectGroupForBC CCTK_INT bndwidth parameter (bndwidth = 1) character fbound*100 @@ -20,4 +22,6 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundari ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, bndwidth, -1, $ "WaveToyFO::scalarevolve", fbound); if (ierr.ne.0) call CCTK_WARN (0, "internal error") + call CartSymGN (ierr, cctkGH, "WaveToyFO::scalarevolve") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") end diff --git a/CarpetExtra/WaveToyFO/src/calcrhs.F77 b/CarpetExtra/WaveToyFO/src/calcrhs.F77 index 55734ed1e..46366f5bb 100644 --- a/CarpetExtra/WaveToyFO/src/calcrhs.F77 +++ b/CarpetExtra/WaveToyFO/src/calcrhs.F77 @@ -1,65 +1,23 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.F77,v 1.8 2004/08/28 19:10:33 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.F77,v 1.1 2003/06/18 18:24:30 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" - - - - function WaveToyFO_Deriv (fm2, fm1, f0, fp1, fp2, dx, dir) - implicit none - CCTK_REAL WaveToyFO_Deriv - CCTK_REAL fm2, fm1, f0, fp1, fp2 - CCTK_REAL dx - integer dir - - if (dir .eq. 0) then - WaveToyFO_Deriv = (fp1 - fm1) / (2 * dx) - else if (dir .eq. -1) then -c Use first order one-sided derivatives here. -c These are less dissipative than second order one-sided derivatives. -c (Sic.) - WaveToyFO_Deriv = (f0 - fm1) / dx -c$$$ WaveToyFO_Deriv = (+ 3*f0 - 4*fm1 + fm2) / (2*dx) - else if (dir .eq. +1) then - WaveToyFO_Deriv = (fp1 - f0) / dx -c$$$ WaveToyFO_Deriv = (- 3*f0 + 4*fp1 - fp2) / (2*dx) - else - call CCTK_WARN (0, "internal error") - end if - - end - - - -#define CHOOSEDIR(i,imin,imax) ((min(i+1,imax) - (i+1)) + (max(i-1,imin) - (i-1))) - -#define DIFFX(var,i,j,k) WaveToyFO_Deriv(var((i)-2,j,k), var((i)-1,j,k), var(i,j,k), var((i)+1,j,k), var((i)+2,j,k), dx(1), idir(1)) -#define DIFFY(var,i,j,k) WaveToyFO_Deriv(var(i,(j)-2,k), var(i,(j)-1,k), var(i,j,k), var(i,(j)+1,k), var(i,(j)+2,k), dx(2), idir(2)) -#define DIFFZ(var,i,j,k) WaveToyFO_Deriv(var(i,j,(k)-2), var(i,j,(k)-1), var(i,j,k), var(i,j,(k)+1), var(i,j,(k)+2), dx(3), idir(3)) - - - + subroutine WaveToyFO_CalcRHS (CCTK_ARGUMENTS) implicit none DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_FUNCTIONS DECLARE_CCTK_PARAMETERS - CCTK_REAL dx(3) integer bndwidth(3) - integer imin(3), imax(3), idir(3) + integer imin(3), imax(3) integer i, j, k integer d - - external WaveToyFO_Deriv - CCTK_REAL WaveToyFO_Deriv - + integer ierr do d=1,3 - bndwidth(d) = 0 + bndwidth(d) = 1 end do - do d=1,3 if (cctk_bbox(2*d).ne.0) then imin(d) = 1+bndwidth(d) @@ -72,27 +30,20 @@ c$$$ WaveToyFO_Deriv = (- 3*f0 + 4*fp1 - fp2) / (2*dx) imax(d) = cctk_lsh(d)-cctk_nghostzones(d) end if end do - do d=1,3 - dx(d) = CCTK_DELTA_SPACE(d) + dx(d) = CCTK_DELTA_SPACE(3) end do - do k=imin(3),imax(3) - idir(3) = CHOOSEDIR(k,imin(3),imax(3)) do j=imin(2),imax(2) - idir(2) = CHOOSEDIR(j,imin(2),imax(2)) do i=imin(1),imax(1) - idir(1) = CHOOSEDIR(i,imin(1),imax(1)) - - phidot(i,j,k) = DIFFX (psix,i,j,k) - $ + DIFFY (psiy,i,j,k) - $ + DIFFZ (psiz,i,j,k) - psixdot(i,j,k) = DIFFX (phi,i,j,k) - psiydot(i,j,k) = DIFFY (phi,i,j,k) - psizdot(i,j,k) = DIFFZ (phi,i,j,k) - + phidot(i,j,k) = + $ ( (psix(i+1,j,k) - psix(i-1,j,k)) / (2*dx(1)) + $ + (psix(i,j+1,k) - psix(i,j-1,k)) / (2*dx(2)) + $ + (psix(i,j,k+1) - psix(i,j,k-1)) / (2*dx(3))) + psixdot(i,j,k) = (phi(i+1,j,k) - phi(i-1,j,k)) / (2*dx(1)) + psiydot(i,j,k) = (phi(i,j+1,k) - phi(i,j-1,k)) / (2*dx(2)) + psizdot(i,j,k) = (phi(i,j,k+1) - phi(i,j,k-1)) / (2*dx(3)) end do end do end do - end diff --git a/CarpetExtra/WaveToyFO/src/initsymbound.F77 b/CarpetExtra/WaveToyFO/src/initsymbound.F77 index 00ab7ef85..5c1c7eef5 100644 --- a/CarpetExtra/WaveToyFO/src/initsymbound.F77 +++ b/CarpetExtra/WaveToyFO/src/initsymbound.F77 @@ -1,8 +1,7 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/initsymbound.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/initsymbound.F77,v 1.1 2003/06/18 18:24:30 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" subroutine WaveToyFO_InitSymBound (CCTK_ARGUMENTS) diff --git a/CarpetExtra/WaveToyFO/src/make.code.defn b/CarpetExtra/WaveToyFO/src/make.code.defn index 6e92555b6..9251b378b 100644 --- a/CarpetExtra/WaveToyFO/src/make.code.defn +++ b/CarpetExtra/WaveToyFO/src/make.code.defn @@ -1,8 +1,8 @@ # Main make.code.defn file for thorn WaveToyFO -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/make.code.defn,v 1.4 2004/09/04 18:15:15 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/make.code.defn,v 1.1 2003/06/18 18:24:30 schnetter Exp $ # Source files in this directory -SRCS = boundaries.F77 calcrhs.F77 initsymbound.F77 registervars.F77 rhsboundaries.F77 startup.F77 +SRCS = boundaries.F77 calcrhs.F77 initsymbound.F77 registervars.F77 startup.F77 # Subdirectories containing source files SUBDIRS = diff --git a/CarpetExtra/WaveToyFO/src/registervars.F77 b/CarpetExtra/WaveToyFO/src/registervars.F77 index 6f3bd41af..0f6391afe 100644 --- a/CarpetExtra/WaveToyFO/src/registervars.F77 +++ b/CarpetExtra/WaveToyFO/src/registervars.F77 @@ -1,8 +1,7 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/registervars.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/registervars.F77,v 1.1 2003/06/18 18:24:30 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" subroutine WaveToyFO_RegisterVars (CCTK_ARGUMENTS) @@ -10,6 +9,8 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/register DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_FUNCTIONS DECLARE_CCTK_PARAMETERS + external MolRegisterEvolvedGroup + CCTK_INT MolRegisterEvolvedGroup integer group, groupdot integer ierr call CCTK_GroupIndex(group, "WaveToyFO::scalarevolve") diff --git a/CarpetExtra/WaveToyFO/src/startup.F77 b/CarpetExtra/WaveToyFO/src/startup.F77 index ae38706af..166796537 100644 --- a/CarpetExtra/WaveToyFO/src/startup.F77 +++ b/CarpetExtra/WaveToyFO/src/startup.F77 @@ -1,7 +1,6 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/startup.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/startup.F77,v 1.1 2003/06/18 18:24:30 schnetter Exp $ #include "cctk.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" subroutine WaveToyFO_Startup |