aboutsummaryrefslogtreecommitdiff
path: root/CarpetExtra/IDHydroToy
diff options
context:
space:
mode:
authoreschnett <>2001-03-18 21:37:00 +0000
committereschnett <>2001-03-18 21:37:00 +0000
commitd3ae8e4b27664bbc9210fa49f58ceffe4336f7c1 (patch)
tree5c1657bb027d9b5d3e0758b24a4a86281baa673b /CarpetExtra/IDHydroToy
parent3c7bfec92c24c4ddbda2120feae35c34deff37d7 (diff)
Added HydroToy, the counterpart of SpaceTimeToy.
darcs-hash:20010318213704-f6438-25fa67cf10277b9aed6ee4c2addb1899ad6e21c7.gz
Diffstat (limited to 'CarpetExtra/IDHydroToy')
-rw-r--r--CarpetExtra/IDHydroToy/param.ccl6
-rw-r--r--CarpetExtra/IDHydroToy/schedule.ccl4
-rw-r--r--CarpetExtra/IDHydroToy/src/InitialData.F77163
-rw-r--r--CarpetExtra/IDHydroToy/src/make.code.defn4
4 files changed, 31 insertions, 146 deletions
diff --git a/CarpetExtra/IDHydroToy/param.ccl b/CarpetExtra/IDHydroToy/param.ccl
index a0fd93f5b..5e75acb70 100644
--- a/CarpetExtra/IDHydroToy/param.ccl
+++ b/CarpetExtra/IDHydroToy/param.ccl
@@ -1,5 +1,9 @@
# Parameter definitions for thorn IDHydroToy
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/param.ccl,v 1.2 2002/03/23 20:20:59 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/param.ccl,v 1.1 2001/03/18 22:37:10 eschnett Exp $
+
+shares: grid
+
+USES KEYWORD type
restricted:
diff --git a/CarpetExtra/IDHydroToy/schedule.ccl b/CarpetExtra/IDHydroToy/schedule.ccl
index c47184aab..66e867f91 100644
--- a/CarpetExtra/IDHydroToy/schedule.ccl
+++ b/CarpetExtra/IDHydroToy/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn IDHydroToy
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/schedule.ccl,v 1.3 2003/11/05 16:18:40 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/schedule.ccl,v 1.1 2001/03/18 22:37:10 eschnett Exp $
schedule IDHydroToy_Startup at STARTUP
{
@@ -9,5 +9,5 @@ schedule IDHydroToy_Startup at STARTUP
schedule IDHydroToy_InitialData as HydroToy_InitialData at INITIAL
{
LANG: Fortran
- STORAGE: hydrotoy::hydroevolve[3]
+ STORAGE: hydrotoy::hydroevolve
} "Initial data for 3D wave equation"
diff --git a/CarpetExtra/IDHydroToy/src/InitialData.F77 b/CarpetExtra/IDHydroToy/src/InitialData.F77
index 65f6e4e3a..7c03722ad 100644
--- a/CarpetExtra/IDHydroToy/src/InitialData.F77
+++ b/CarpetExtra/IDHydroToy/src/InitialData.F77
@@ -1,10 +1,9 @@
c -*-Fortran-*-
-c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/InitialData.F77,v 1.6 2003/11/05 16:18:40 schnetter Exp $
+c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/InitialData.F77,v 1.1 2001/03/18 22:37:10 eschnett Exp $
#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Functions.h"
#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
subroutine IDHydroToy_InitialData (CCTK_ARGUMENTS)
@@ -16,49 +15,25 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/Initial
CCTK_REAL pi
CCTK_REAL omega
- CCTK_REAL dt
- CCTK_REAL x,y,z, r
integer i,j,k
- CCTK_REAL vr
-
- external erf
- real*8 erf
-
pi = 4*atan(1.d0)
omega = sqrt(kx**2+ky**2+kz**2)
- dt = CCTK_DELTA_TIME
-
if (CCTK_EQUALS(initial_data,"plane")) then
do k=1,cctk_lsh(3)
do j=1,cctk_lsh(2)
do i=1,cctk_lsh(1)
- x = cart3d_x(i,j,k)
- y = cart3d_y(i,j,k)
- z = cart3d_z(i,j,k)
-
u(i,j,k) = amplitude
- $ * cos((kx*x + ky*y + kz*z + omega*cctk_time) * pi)
+ $ * cos((kx*cart3d_x(i,j,k) + ky*cart3d_y(i,j,k)
+ $ + kz*cart3d_z(i,j,k) + omega*cctk_time) * pi)
vx(i,j,k) = u(i,j,k) * kx / omega
vy(i,j,k) = u(i,j,k) * ky / omega
vz(i,j,k) = u(i,j,k) * kz / omega
- u_p(i,j,k) = amplitude
- $ * cos((kx*x + ky*y + kz*z + omega*(cctk_time-dt)) * pi)
- vx_p(i,j,k) = u_p(i,j,k) * kx / omega
- vy_p(i,j,k) = u_p(i,j,k) * ky / omega
- vz_p(i,j,k) = u_p(i,j,k) * kz / omega
-
- u_p_p(i,j,k) = amplitude
- $ * cos((kx*x + ky*y + kz*z + omega*(cctk_time-2*dt)) * pi)
- vx_p_p(i,j,k) = u_p_p(i,j,k) * kx / omega
- vy_p_p(i,j,k) = u_p_p(i,j,k) * ky / omega
- vz_p_p(i,j,k) = u_p_p(i,j,k) * kz / omega
-
end do
end do
end do
@@ -69,45 +44,12 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/Initial
do j=1,cctk_lsh(2)
do i=1,cctk_lsh(1)
- x = cart3d_x(i,j,k)
- y = cart3d_y(i,j,k)
- z = cart3d_z(i,j,k)
- r = spher3d_r(i,j,k)
-
u(i,j,k) = amplitude
- $ * exp(- (r - radius)**2 / sigma**2)
-
- vr = - 2*amplitude * (r - radius) / sigma**2
- $ * exp(- (r - radius)**2 / sigma**2)
- vx(i,j,k) = vr * x/r
- vy(i,j,k) = vr * y/r
- vz(i,j,k) = vr * z/r
-
- u_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)
-
- vr = - amplitude/2 * (-dt / r**2 + (r - dt) * (r - radius - dt) / (r * sigma**2))
- $ * exp(- (r - radius - dt)**2 / sigma**2)
- $ - amplitude/2 * ( dt / r**2 + (r + dt) * (r - radius + dt) / (r * sigma**2))
- $ * exp(- (r - radius - dt)**2 / sigma**2)
- vx_p(i,j,k) = vr * x/r
- vy_p(i,j,k) = vr * y/r
- vz_p(i,j,k) = vr * z/r
-
- u_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)
-
- vr = - amplitude/2 * (-2*dt / r**2 + (r - 2*dt) * (r - radius - 2*dt) / (r * sigma**2))
- $ * exp(- (r - radius - 2*dt)**2 / sigma**2)
- $ - amplitude/2 * ( 2*dt / r**2 + (r + 2*dt) * (r - radius + 2*dt) / (r * sigma**2))
- $ * exp(- (r - radius - 2*dt)**2 / sigma**2)
- vx_p_p(i,j,k) = vr * x/r
- vy_p_p(i,j,k) = vr * y/r
- vz_p_p(i,j,k) = vr * z/r
+ $ * exp(- (spher3d_r(i,j,k) - radius + cctk_time)**2
+ $ / sigma**2)
+ vx(i,j,k) = u(i,j,k) * cart3d_x(i,j,k)/spher3d_r(i,j,k)
+ vy(i,j,k) = u(i,j,k) * cart3d_y(i,j,k)/spher3d_r(i,j,k)
+ vz(i,j,k) = u(i,j,k) * cart3d_z(i,j,k)/spher3d_r(i,j,k)
end do
end do
@@ -121,82 +63,31 @@ c Use kx,ky,kz as number of modes in each direction.
do j=1,cctk_lsh(2)
do i=1,cctk_lsh(1)
- x = cart3d_x(i,j,k)
- y = cart3d_y(i,j,k)
- z = cart3d_z(i,j,k)
-
u(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
+ $ * sin(kx * (cart3d_x(i,j,k) - 0.5d0) * pi)
+ $ * sin(ky * (cart3d_y(i,j,k) - 0.5d0) * pi)
+ $ * sin(kz * (cart3d_z(i,j,k) - 0.5d0) * pi)
$ * cos(omega * cctk_time * pi)
+
vx(i,j,k) = amplitude
- $ * cos(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
+ $ * cos(kx * (cart3d_x(i,j,k) - 0.5d0) * pi)
+ $ * sin(ky * (cart3d_y(i,j,k) - 0.5d0) * pi)
+ $ * sin(kz * (cart3d_z(i,j,k) - 0.5d0) * pi)
$ * sin(omega * cctk_time * pi)
$ * kx / omega
vy(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * cos(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
+ $ * sin(kx * (cart3d_x(i,j,k) - 0.5d0) * pi)
+ $ * cos(ky * (cart3d_y(i,j,k) - 0.5d0) * pi)
+ $ * sin(kz * (cart3d_z(i,j,k) - 0.5d0) * pi)
$ * sin(omega * cctk_time * pi)
$ * ky / omega
vz(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * cos(kz * (z - 0.5d0) * pi)
+ $ * sin(kx * (cart3d_x(i,j,k) - 0.5d0) * pi)
+ $ * sin(ky * (cart3d_y(i,j,k) - 0.5d0) * pi)
+ $ * cos(kz * (cart3d_z(i,j,k) - 0.5d0) * pi)
$ * sin(omega * cctk_time * pi)
$ * kz / omega
- u_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * cos(omega * (cctk_time - dt) * pi)
- vx_p(i,j,k) = amplitude
- $ * cos(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - dt) * pi)
- $ * kx / omega
- vy_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * cos(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - dt) * pi)
- $ * ky / omega
- vz_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * cos(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - dt) * pi)
- $ * kz / omega
-
- u_p_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * cos(omega * (cctk_time - 2*dt) * pi)
- vx_p_p(i,j,k) = amplitude
- $ * cos(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - 2*dt) * pi)
- $ * kx / omega
- vy_p_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * cos(ky * (y - 0.5d0) * pi)
- $ * sin(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - 2*dt) * pi)
- $ * ky / omega
- vz_p_p(i,j,k) = amplitude
- $ * sin(kx * (x - 0.5d0) * pi)
- $ * sin(ky * (y - 0.5d0) * pi)
- $ * cos(kz * (z - 0.5d0) * pi)
- $ * sin(omega * (cctk_time - 2*dt) * pi)
- $ * kz / omega
-
end do
end do
end do
@@ -212,16 +103,6 @@ c Use kx,ky,kz as number of modes in each direction.
vy(i,j,k) = 0
vz(i,j,k) = 0
- u_p(i,j,k) = 0
- vx_p(i,j,k) = 0
- vy_p(i,j,k) = 0
- vz_p(i,j,k) = 0
-
- u_p_p(i,j,k) = 0
- vx_p_p(i,j,k) = 0
- vy_p_p(i,j,k) = 0
- vz_p_p(i,j,k) = 0
-
end do
end do
end do
diff --git a/CarpetExtra/IDHydroToy/src/make.code.defn b/CarpetExtra/IDHydroToy/src/make.code.defn
index a63bda2f5..d766da22c 100644
--- a/CarpetExtra/IDHydroToy/src/make.code.defn
+++ b/CarpetExtra/IDHydroToy/src/make.code.defn
@@ -1,8 +1,8 @@
# Main make.code.defn file for thorn IDHydroToy
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/make.code.defn,v 1.3 2003/09/20 13:47:27 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDHydroToy/src/make.code.defn,v 1.1 2001/03/18 22:37:10 eschnett Exp $
# Source files in this directory
-SRCS = InitialData.F77 Startup.F77 erf.f77 gammln.f77 gammp.f77 gcf.f77 gser.f77
+SRCS = InitialData.F77 Startup.F77
# Subdirectories containing source files
SUBDIRS =