aboutsummaryrefslogtreecommitdiff
path: root/CarpetExtra/IDScalarWave
diff options
context:
space:
mode:
authorschnetter <>2002-06-05 19:03:00 +0000
committerschnetter <>2002-06-05 19:03:00 +0000
commit1f34f1db1e13fdc5ffe43682dfd5544526f430fe (patch)
treea57247fe2db4d139d1a848281c46454a78717f4f /CarpetExtra/IDScalarWave
parent492373459b55a4511410ba3540474963ec44fe58 (diff)
Fixed initial data for Gaussian. It was wrong for R/=0, for t/=0, and
Fixed initial data for Gaussian. It was wrong for R/=0, for t/=0, and for r==0 also. darcs-hash:20020605190301-07bb3-79a98c82fe60fd5090e310cf30a8f7646af0072c.gz
Diffstat (limited to 'CarpetExtra/IDScalarWave')
-rw-r--r--CarpetExtra/IDScalarWave/src/InitialData.F7753
1 files changed, 37 insertions, 16 deletions
diff --git a/CarpetExtra/IDScalarWave/src/InitialData.F77 b/CarpetExtra/IDScalarWave/src/InitialData.F77
index 4b6e7f04e..8f69823c1 100644
--- a/CarpetExtra/IDScalarWave/src/InitialData.F77
+++ b/CarpetExtra/IDScalarWave/src/InitialData.F77
@@ -1,5 +1,5 @@
c -*-Fortran-*-
-c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/src/InitialData.F77,v 1.11 2002/02/27 18:57:54 shawley Exp $
+c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/src/InitialData.F77,v 1.12 2002/06/05 21:03:01 schnetter Exp $
/*@@
@file InitialData.F77
@@ -40,12 +40,14 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/src/Initi
INTEGER i,j,k
CCTK_REAL dt,omega, pi
+ CCTK_REAL t
CCTK_REAL x,y,z, r
c call CCTK_INFO ("IDScalarWave_InitialData")
pi = 4.d0*atan(1.d0)
+ t = cctk_time
dt = CCTK_DELTA_TIME
omega = sqrt(kx**2+ky**2+kz**2)
@@ -78,22 +80,41 @@ c call CCTK_INFO ("IDScalarWave_InitialData")
do k=1, cctk_lsh(3)
do j=1, cctk_lsh(2)
do i=1, cctk_lsh(1)
-
+
r = spher3d_r(i,j,k)
-
- phi(i,j,k) = amplitude
- $ * exp(- (r - radius)**2 / sigma**2)
-
- phi_p(i,j,k) = amplitude/2 * (r - dt) / r
- $ * exp(- (r - radius - dt)**2 / sigma**2)
- $ + amplitude/2 * (r + dt) / r
- $ * exp(- (r - radius + dt)**2 / sigma**2)
-
- phi_p_p(i,j,k) = amplitude/2 * (r - 2*dt) / r
- $ * exp(- (r - radius - 2*dt)**2 / sigma**2)
- $ + amplitude/2 * (r + 2*dt) / r
- $ * exp(- (r - radius + 2*dt)**2 / sigma**2)
-
+
+ if (r .ne. 0) then
+ phi(i,j,k) = amplitude/2 * (r - radius - t) / r
+ $ * exp(- (r - radius - t)**2 / sigma**2)
+ $ + amplitude/2 * (r + radius + t) / r
+ $ * exp(- (r + radius + t)**2 / sigma**2)
+
+ phi_p(i,j,k) = amplitude/2 * (r - radius - t + dt) / r
+ $ * exp(- (r - radius - t + dt)**2 / sigma**2)
+ $ + amplitude/2 * (r + radius + t - dt) / r
+ $ * exp(- (r + radius + t - dt)**2 / sigma**2)
+
+ phi_p_p(i,j,k) = amplitude/2 * (r - radius - t + 2*dt) / r
+ $ * exp(- (r - radius - t + 2*dt)**2 / sigma**2)
+ $ + amplitude/2 * (r + radius + t - 2*dt) / r
+ $ * exp(- (r + radius + t - 2*dt)**2 / sigma**2)
+
+ else
+
+ phi(i,j,k) = amplitude
+ $ * (1 - 2 * (radius + t)**2 / sigma**2)
+ $ * exp(- (radius + t)**2 / sigma**2)
+
+ phi_p(i,j,k) = amplitude
+ $ * (1 - 2 * (radius + t - dt)**2 / sigma**2)
+ $ * exp(- (radius + t - dt)**2 / sigma**2)
+
+ phi_p_p(i,j,k) = amplitude
+ $ * (1 - 2 * (radius + t - 2*dt)**2 / sigma**2)
+ $ * exp(- (radius + t - 2*dt)**2 / sigma**2)
+
+ end if
+
end do
end do
end do