aboutsummaryrefslogtreecommitdiff
path: root/CarpetExtra/IDSpaceTimeToy
diff options
context:
space:
mode:
authoreschnett <>2001-03-17 15:05:00 +0000
committereschnett <>2001-03-17 15:05:00 +0000
commitef1433fcc8f8e7521674f229d75a408c16af0f90 (patch)
tree8d4093b8485058b3fa9363588ba106a3b34dfd7f /CarpetExtra/IDSpaceTimeToy
parentb0432e3310d34454b72e6b674e249e64561c7e1c (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/README4
-rw-r--r--CarpetExtra/IDSpaceTimeToy/interface.ccl4
-rw-r--r--CarpetExtra/IDSpaceTimeToy/param.ccl6
-rw-r--r--CarpetExtra/IDSpaceTimeToy/schedule.ccl7
-rw-r--r--CarpetExtra/IDSpaceTimeToy/src/InitialData.F77116
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