diff options
author | eschnett <> | 2001-03-18 21:37:00 +0000 |
---|---|---|
committer | eschnett <> | 2001-03-18 21:37:00 +0000 |
commit | d3ae8e4b27664bbc9210fa49f58ceffe4336f7c1 (patch) | |
tree | 5c1657bb027d9b5d3e0758b24a4a86281baa673b /CarpetExtra/IDHydroToy | |
parent | 3c7bfec92c24c4ddbda2120feae35c34deff37d7 (diff) |
Added HydroToy, the counterpart of SpaceTimeToy.
darcs-hash:20010318213704-f6438-25fa67cf10277b9aed6ee4c2addb1899ad6e21c7.gz
Diffstat (limited to 'CarpetExtra/IDHydroToy')
-rw-r--r-- | CarpetExtra/IDHydroToy/param.ccl | 6 | ||||
-rw-r--r-- | CarpetExtra/IDHydroToy/schedule.ccl | 4 | ||||
-rw-r--r-- | CarpetExtra/IDHydroToy/src/InitialData.F77 | 163 | ||||
-rw-r--r-- | CarpetExtra/IDHydroToy/src/make.code.defn | 4 |
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 = |