aboutsummaryrefslogtreecommitdiff
path: root/CarpetExtra
diff options
context:
space:
mode:
authorschnetter <>2004-05-06 12:21:00 +0000
committerschnetter <>2004-05-06 12:21:00 +0000
commit7cbcdb916763d68585d9ec229543d7e76ca6264a (patch)
treea8d057910113913378dd3c44f1368496bd27fa5b /CarpetExtra
parentbfa8be4c44c6753d99986e94b1855b1282b80989 (diff)
Apply boundary conditions also to the RHS.
Apply boundary conditions also to the RHS. Calculate the RHS even on the boundary, using one-sided differences. darcs-hash:20040506122118-07bb3-7296ac92e71157ca3e19806cea64ef7fd0058bc1.gz
Diffstat (limited to 'CarpetExtra')
-rw-r--r--CarpetExtra/WaveToyFO/schedule.ccl15
-rw-r--r--CarpetExtra/WaveToyFO/src/boundaries.F774
-rw-r--r--CarpetExtra/WaveToyFO/src/calcrhs.F7725
-rw-r--r--CarpetExtra/WaveToyFO/src/make.code.defn4
4 files changed, 33 insertions, 15 deletions
diff --git a/CarpetExtra/WaveToyFO/schedule.ccl b/CarpetExtra/WaveToyFO/schedule.ccl
index f854ead34..85ec91def 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.5 2004/05/05 21:43:44 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/schedule.ccl,v 1.6 2004/05/06 14:21:18 schnetter Exp $
STORAGE: scalarevolve[3]
STORAGE: scalarevolvedot
@@ -30,6 +30,19 @@ SCHEDULE WaveToyFO_CalcRHS IN MoL_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
{
LANG: Fortran
diff --git a/CarpetExtra/WaveToyFO/src/boundaries.F77 b/CarpetExtra/WaveToyFO/src/boundaries.F77
index 38d2dcb12..d2a0b03e2 100644
--- a/CarpetExtra/WaveToyFO/src/boundaries.F77
+++ b/CarpetExtra/WaveToyFO/src/boundaries.F77
@@ -1,4 +1,4 @@
-c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundaries.F77,v 1.2 2003/10/27 15:31:41 schnetter Exp $
+c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/boundaries.F77,v 1.3 2004/05/06 14:21:18 schnetter Exp $
#include "cctk.h"
#include "cctk_Arguments.h"
@@ -20,6 +20,4 @@ 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 70691ba31..88ece9d03 100644
--- a/CarpetExtra/WaveToyFO/src/calcrhs.F77
+++ b/CarpetExtra/WaveToyFO/src/calcrhs.F77
@@ -1,4 +1,4 @@
-c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.F77,v 1.3 2003/10/27 15:31:41 schnetter Exp $
+c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.F77,v 1.4 2004/05/06 14:21:18 schnetter Exp $
#include "cctk.h"
#include "cctk_Arguments.h"
@@ -14,10 +14,11 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.
integer bndwidth(3)
integer imin(3), imax(3)
integer i, j, k
+ integer im, jm, km
+ integer ip, jp, kp
integer d
- integer ierr
do d=1,3
- bndwidth(d) = 1
+ bndwidth(d) = 0
end do
do d=1,3
if (cctk_bbox(2*d).ne.0) then
@@ -37,13 +38,19 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/calcrhs.
do k=imin(3),imax(3)
do j=imin(2),imax(2)
do i=imin(1),imax(1)
+ im = max(i-1,1)
+ jm = max(j-1,1)
+ km = max(k-1,1)
+ ip = min(i+1,cctk_lsh(1))
+ jp = min(j+1,cctk_lsh(2))
+ kp = min(k+1,cctk_lsh(3))
phidot(i,j,k) =
- $ ( (psix(i+1,j,k) - psix(i-1,j,k)) / (2*dx(1))
- $ + (psiy(i,j+1,k) - psiy(i,j-1,k)) / (2*dx(2))
- $ + (psiz(i,j,k+1) - psiz(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))
+ $ ( (psix(ip,j,k) - psix(im,j,k)) / ((ip-im)*dx(1))
+ $ + (psiy(i,jp,k) - psiy(i,jm,k)) / ((jp-jm)*dx(2))
+ $ + (psiz(i,j,kp) - psiz(i,j,km)) / ((kp-km)*dx(3)))
+ psixdot(i,j,k) = (phi(ip,j,k) - phi(im,j,k)) / ((ip-im)*dx(1))
+ psiydot(i,j,k) = (phi(i,jp,k) - phi(i,jm,k)) / ((jp-jm)*dx(2))
+ psizdot(i,j,k) = (phi(i,j,kp) - phi(i,j,km)) / ((kp-km)*dx(3))
end do
end do
end do
diff --git a/CarpetExtra/WaveToyFO/src/make.code.defn b/CarpetExtra/WaveToyFO/src/make.code.defn
index 9251b378b..ba19c751f 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.1 2003/06/18 18:24:30 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/src/make.code.defn,v 1.2 2004/05/06 14:21:18 schnetter Exp $
# Source files in this directory
-SRCS = boundaries.F77 calcrhs.F77 initsymbound.F77 registervars.F77 startup.F77
+SRCS = boundaries.F77 calcrhs.F77 initsymbound.F77 registervars.F77 rhsboundaries.F77 startup.F77
# Subdirectories containing source files
SUBDIRS =