diff options
author | eschnett <> | 2001-03-17 15:05:00 +0000 |
---|---|---|
committer | eschnett <> | 2001-03-17 15:05:00 +0000 |
commit | ef1433fcc8f8e7521674f229d75a408c16af0f90 (patch) | |
tree | 8d4093b8485058b3fa9363588ba106a3b34dfd7f /CarpetExtra/IDSpaceTimeToy | |
parent | b0432e3310d34454b72e6b674e249e64561c7e1c (diff) |
Added new thorns SpaceTimeToy and IDSpaceTimeToy that implement the
Added new thorns SpaceTimeToy and IDSpaceTimeToy that implement the
scalar wave equations with two scalar first-order equations using ICN
integration.
darcs-hash:20010317150549-f6438-0b30f528e2d969d7ff733be1c2d2de4ec0891725.gz
Diffstat (limited to 'CarpetExtra/IDSpaceTimeToy')
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/README | 4 | ||||
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/interface.ccl | 4 | ||||
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/param.ccl | 6 | ||||
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/schedule.ccl | 7 | ||||
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 | 116 |
5 files changed, 29 insertions, 108 deletions
diff --git a/CarpetExtra/IDSpaceTimeToy/README b/CarpetExtra/IDSpaceTimeToy/README index 28838ffce..1f82fb9ed 100644 --- a/CarpetExtra/IDSpaceTimeToy/README +++ b/CarpetExtra/IDSpaceTimeToy/README @@ -1,6 +1,6 @@ Cactus Code Thorn IDSpaceTimeToy -Authors : Erik Schnetter <schnetter@uni-tuebingen.de> -CVS info : $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/README,v 1.2 2001/03/18 22:37:10 eschnett Exp $ +Authors : Erik Schnetter +CVS info : $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/README,v 1.1 2001/03/17 16:05:49 eschnett Exp $ -------------------------------------------------------------------------- Purpose of the thorn: diff --git a/CarpetExtra/IDSpaceTimeToy/interface.ccl b/CarpetExtra/IDSpaceTimeToy/interface.ccl index 6e67bea74..801f8550b 100644 --- a/CarpetExtra/IDSpaceTimeToy/interface.ccl +++ b/CarpetExtra/IDSpaceTimeToy/interface.ccl @@ -1,5 +1,5 @@ # Interface definition for thorn IDSpaceTimeToy -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/interface.ccl,v 1.2 2001/03/20 17:27:26 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/interface.ccl,v 1.1 2001/03/17 16:05:49 eschnett Exp $ implements: idspacetimetoy -inherits: spacetimetoy hydrotoy grid +inherits: spacetimetoy grid diff --git a/CarpetExtra/IDSpaceTimeToy/param.ccl b/CarpetExtra/IDSpaceTimeToy/param.ccl index ac7cea505..8a708604c 100644 --- a/CarpetExtra/IDSpaceTimeToy/param.ccl +++ b/CarpetExtra/IDSpaceTimeToy/param.ccl @@ -1,9 +1,9 @@ # Parameter definitions for thorn IDSpaceTimeToy -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/param.ccl,v 1.3 2002/03/23 20:21:00 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/param.ccl,v 1.1 2001/03/17 16:05:49 eschnett Exp $ -shares: hydrotoy +shares: grid -USES BOOLEAN hydrotoy_active +USES KEYWORD type restricted: diff --git a/CarpetExtra/IDSpaceTimeToy/schedule.ccl b/CarpetExtra/IDSpaceTimeToy/schedule.ccl index 8a6c9e306..763983419 100644 --- a/CarpetExtra/IDSpaceTimeToy/schedule.ccl +++ b/CarpetExtra/IDSpaceTimeToy/schedule.ccl @@ -1,14 +1,13 @@ # Schedule definitions for thorn IDSpaceTimeToy -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/schedule.ccl,v 1.5 2003/11/05 16:18:40 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/schedule.ccl,v 1.1 2001/03/17 16:05:50 eschnett Exp $ schedule IDSpaceTimeToy_Startup at STARTUP { LANG: Fortran } "Register banner" -schedule IDSpaceTimeToy_InitialData as SpaceTimeToy_InitialData at INITIAL \ - after IDHydroToy_InitialData +schedule IDSpaceTimeToy_InitialData as SpaceTimeToy_InitialData at INITIAL { LANG: Fortran - STORAGE: spacetimetoy::spacetimeevolve[3] + STORAGE: spacetimetoy::scalarevolve } "Initial data for 3D wave equation" diff --git a/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 b/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 index 118f0d075..ea770344b 100644 --- a/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 +++ b/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 @@ -1,10 +1,9 @@ c -*-Fortran-*- -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77,v 1.8 2003/11/05 16:18:40 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/src/InitialData.F77,v 1.1 2001/03/17 16:05:56 eschnett Exp $ #include "cctk.h" -#include "cctk_Arguments.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" +#include "cctk_Arguments.h" subroutine IDSpaceTimeToy_InitialData (CCTK_ARGUMENTS) @@ -16,42 +15,24 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/src/Ini CCTK_REAL pi CCTK_REAL omega - CCTK_REAL dt - CCTK_REAL x,y,z, r integer i,j,k 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) - phi(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) psi(i,j,k) = - amplitude - $ * sin((kx*x + ky*y + kz*z + omega*cctk_time) * pi) - $ * pi * omega - - phi_p(i,j,k) = amplitude - $ * cos((kx*x + ky*y + kz*z + omega*(cctk_time - dt)) * pi) - psi_p(i,j,k) = - amplitude - $ * sin((kx*x + ky*y + kz*z + omega*(cctk_time - dt)) * pi) - $ * pi * omega - - phi_p_p(i,j,k) = amplitude - $ * cos((kx*x + ky*y + kz*z + omega*(cctk_time - 2*dt)) * pi) - psi_p_p(i,j,k) = - amplitude - $ * sin((kx*x + ky*y + kz*z + omega*(cctk_time - 2*dt)) * pi) + $ * sin((kx*cart3d_x(i,j,k) + ky*cart3d_y(i,j,k) + $ + kz*cart3d_z(i,j,k) + omega*cctk_time) * pi) $ * pi * omega end do @@ -64,22 +45,12 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDSpaceTimeToy/src/Ini do j=1,cctk_lsh(2) do i=1,cctk_lsh(1) - r = spher3d_r(i,j,k) - - phi(i,j,k) = amplitude / r - $ * exp(- (r - radius - cctk_time)**2 / sigma**2) - psi(i,j,k) = phi(i,j,k) - $ * 2 * (r - radius - cctk_time) / sigma**2 - - phi_p(i,j,k) = amplitude / r - $ * exp(- (r - radius - (cctk_time - dt))**2 / sigma**2) - psi_p(i,j,k) = phi(i,j,k) - $ * 2 * (r - radius - (cctk_time - dt)) / sigma**2 - - phi_p_p(i,j,k) = amplitude / r - $ * exp(- (r - radius - (cctk_time - 2*dt))**2 / sigma**2) - psi_p_p(i,j,k) = phi(i,j,k) - $ * 2 * (r - radius - (cctk_time - 2*dt)) / sigma**2 + phi(i,j,k) = amplitude + $ * exp(- (spher3d_r(i,j,k) - radius + cctk_time)**2 + $ / sigma**2) + psi(i,j,k) = - phi(i,j,k) + $ * 2 * (spher3d_r(i,j,k) - radius + cctk_time) + $ / sigma**2 end do end do @@ -93,46 +64,19 @@ 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) - phi(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) + psi(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) $ * sin(omega * cctk_time * pi) $ * omega * pi - phi_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) - psi_p(i,j,k) = - amplitude - $ * sin(kx * (x - 0.5d0) * pi) - $ * sin(ky * (y - 0.5d0) * pi) - $ * sin(kz * (z - 0.5d0) * pi) - $ * sin(omega * (cctk_time - dt) * pi) - $ * omega * pi - - phi_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) - psi_p_p(i,j,k) = - amplitude - $ * sin(kx * (x - 0.5d0) * pi) - $ * sin(ky * (y - 0.5d0) * pi) - $ * sin(kz * (z - 0.5d0) * pi) - $ * sin(omega * (cctk_time - 2*dt) * pi) - $ * omega * pi - end do end do end do @@ -146,32 +90,10 @@ c Use kx,ky,kz as number of modes in each direction. phi(i,j,k) = 0 psi(i,j,k) = 0 - phi_p(i,j,k) = 0 - psi_p(i,j,k) = 0 - - phi_p_p(i,j,k) = 0 - psi_p_p(i,j,k) = 0 - end do end do end do end if - if (hydrotoy_active.eq.1) then - - do k=1,cctk_lsh(3) - do j=1,cctk_lsh(2) - do i=1,cctk_lsh(1) - - psi(i,j,k) = psi(i,j,k) - u(i,j,k) - psi_p(i,j,k) = psi_p(i,j,k) - u_p(i,j,k) - psi_p_p(i,j,k) = psi_p_p(i,j,k) - u_p_p(i,j,k) - - end do - end do - end do - - end if - end |