diff options
author | eschnett <> | 2001-03-01 11:40:00 +0000 |
---|---|---|
committer | eschnett <> | 2001-03-01 11:40:00 +0000 |
commit | 310f0ea48d18866b773136aed11200b6eda6378b (patch) | |
tree | 445d3e34ce8b89812994b6614f7bc9f4acbc7fe2 /CarpetExtra/WaveToyMoL/src |
Initial revision
darcs-hash:20010301114010-f6438-12fb8a9ffcc80e86c0a97e37b5b0dae0dbc59b79.gz
Diffstat (limited to 'CarpetExtra/WaveToyMoL/src')
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/boundaries.F77 | 23 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/calcrhs.F77 | 37 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/estimateerror.F77 | 49 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/initsymbound.F77 | 25 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/make.code.defn | 9 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/registervars.F77 | 21 | ||||
-rw-r--r-- | CarpetExtra/WaveToyMoL/src/startup.F77 | 14 |
7 files changed, 178 insertions, 0 deletions
diff --git a/CarpetExtra/WaveToyMoL/src/boundaries.F77 b/CarpetExtra/WaveToyMoL/src/boundaries.F77 new file mode 100644 index 000000000..6b86f6383 --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/boundaries.F77 @@ -0,0 +1,23 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/boundaries.F77,v 1.3 2004/04/07 17:08:21 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_Boundaries (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + CCTK_INT bndwidth + parameter (bndwidth = 1) + character fbound*100 + CCTK_INT fboundlen + integer ierr + call CCTK_FortranString (fboundlen, bound, fbound) + if (fboundlen.lt.0) call CCTK_WARN (0, "internal error") + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, bndwidth, -1, + $ "WaveToyMoL::scalarevolve", fbound); + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + end diff --git a/CarpetExtra/WaveToyMoL/src/calcrhs.F77 b/CarpetExtra/WaveToyMoL/src/calcrhs.F77 new file mode 100644 index 000000000..b3df37eb2 --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/calcrhs.F77 @@ -0,0 +1,37 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/calcrhs.F77,v 1.3 2003/10/27 15:31:41 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_CalcRHS (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + CCTK_INT bndwidth + parameter (bndwidth = 1) + integer imin(3), imax(3) + CCTK_REAL dx(3) + integer i, j, k + integer d + do d=1,3 + imin(d) = 1+bndwidth + imax(d) = cctk_lsh(d)-bndwidth + end do + do d=1,3 + dx(d) = CCTK_DELTA_SPACE(3) + end do + do k=imin(3),imax(3) + do j=imin(2),imax(2) + do i=imin(1),imax(1) + phidot(i,j,k) = psi(i,j,k) + psidot(i,j,k) = + $ ( (phi(i-1,j,k) - 2*phi(i,j,k) + phi(i+1,j,k)) / dx(1)**2 + $ + (phi(i,j-1,k) - 2*phi(i,j,k) + phi(i,j+1,k)) / dx(2)**2 + $ + (phi(i,j,k-1) - 2*phi(i,j,k) + phi(i,j,k+1)) / dx(3)**2) + end do + end do + end do + end diff --git a/CarpetExtra/WaveToyMoL/src/estimateerror.F77 b/CarpetExtra/WaveToyMoL/src/estimateerror.F77 new file mode 100644 index 000000000..33e5b602f --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/estimateerror.F77 @@ -0,0 +1,49 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/estimateerror.F77,v 1.1 2004/04/07 17:08:21 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_EstimateError (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + CCTK_INT bndwidth + parameter (bndwidth = 1) + integer imin(3), imax(3) + CCTK_REAL dx(3) + integer i, j, k + integer d + do d=1,3 + imin(d) = 1+bndwidth + imax(d) = cctk_lsh(d)-bndwidth + end do + do d=1,3 + dx(d) = CCTK_DELTA_SPACE(3) + end do + do k=imin(3),imax(3) + do j=imin(2),imax(2) + do i=imin(1),imax(1) + error(i,j,k) = max ( + $ abs(phi(i+1,j,k) - phi(i-1,j,k)), + $ abs(phi(i,j+1,k) - phi(i,j-1,k)), + $ abs(phi(i,j,k+1) - phi(i,j,k-1))) + end do + end do + end do + end + + subroutine WaveToyMoL_EstimateErrorBoundaries (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + CCTK_INT bndwidth + parameter (bndwidth = 1) + integer ierr + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, bndwidth, -1, + $ "WaveToyMoL::scalarevolveerrorestimate", "scalar"); + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + end diff --git a/CarpetExtra/WaveToyMoL/src/initsymbound.F77 b/CarpetExtra/WaveToyMoL/src/initsymbound.F77 new file mode 100644 index 000000000..554eb16f0 --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/initsymbound.F77 @@ -0,0 +1,25 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/initsymbound.F77,v 1.3 2004/04/07 17:08:21 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_InitSymBound (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + integer sym(3) + integer d + integer ierr + do d=1,3 + sym(d) = +1 + end do + call SetCartSymVN (ierr, cctkGH, sym, "WaveToyMoL::phi") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + call SetCartSymVN (ierr, cctkGH, sym, "WaveToyMoL::phidot") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + call SetCartSymVN (ierr, cctkGH, sym, "WaveToyMoL::error") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + end diff --git a/CarpetExtra/WaveToyMoL/src/make.code.defn b/CarpetExtra/WaveToyMoL/src/make.code.defn new file mode 100644 index 000000000..59782e596 --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/make.code.defn @@ -0,0 +1,9 @@ +# Main make.code.defn file for thorn WaveToyMoL +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/make.code.defn,v 1.2 2004/04/07 17:08:21 schnetter Exp $ + +# Source files in this directory +SRCS = boundaries.F77 calcrhs.F77 estimateerror.F77 initsymbound.F77 registervars.F77 startup.F77 + +# Subdirectories containing source files +SUBDIRS = + diff --git a/CarpetExtra/WaveToyMoL/src/registervars.F77 b/CarpetExtra/WaveToyMoL/src/registervars.F77 new file mode 100644 index 000000000..51710f60a --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/registervars.F77 @@ -0,0 +1,21 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/registervars.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_RegisterVars (CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + integer group, groupdot + integer ierr + call CCTK_GroupIndex(group, "wavetoymol::scalarevolve") + if (group.lt.0) call CCTK_WARN (0, "internal error") + call CCTK_GroupIndex(groupdot, "wavetoymol::scalarevolvedot") + if (groupdot.lt.0) call CCTK_WARN (0, "internal error") + ierr = MoLRegisterEvolvedGroup (group, groupdot) + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + end diff --git a/CarpetExtra/WaveToyMoL/src/startup.F77 b/CarpetExtra/WaveToyMoL/src/startup.F77 new file mode 100644 index 000000000..703d0d922 --- /dev/null +++ b/CarpetExtra/WaveToyMoL/src/startup.F77 @@ -0,0 +1,14 @@ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/startup.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $ + +#include "cctk.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + + subroutine WaveToyMoL_Startup + implicit none + DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_PARAMETERS + integer ierr + call CCTK_RegisterBanner (ierr, "WaveToyMoL: Evolving a scalar field with MoL") + if (ierr.ne.0) call CCTK_WARN (0, "internal error") + end |