diff options
Diffstat (limited to 'CarpetExtra/IDSpaceTimeToy/src/InitialData.F77')
-rw-r--r-- | CarpetExtra/IDSpaceTimeToy/src/InitialData.F77 | 116 |
1 files changed, 19 insertions, 97 deletions
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 |