diff options
author | schnetter <> | 2003-06-18 16:24:00 +0000 |
---|---|---|
committer | schnetter <> | 2003-06-18 16:24:00 +0000 |
commit | ea0d204e9bfe5daa6123970f2c1c323bd7e75b36 (patch) | |
tree | c48a4a122dfec847afa10475dd19ac1b94617e39 /CarpetExtra/IDScalarWaveFO | |
parent | 343af5d6432feecd65a217c3cb1731394b55d315 (diff) |
Major update after a quiet time.
Major update after a quiet time.
Carpet: The flesh now has new cGH fields cctk_levoff[],
cctk_levoffdenom[], and cctk_timefac that describe the spatial offset
and temporal refinement factor between the base and the current
refinement level. These fields are now set and used; they change how
coordinates are handled.
CarpetIOASCII: Fix bugs regarding choosing the output hyperslab and
the output coordinates.
ID*, *Toy*: New WaveToy examples with various formulations and
different integrations methods. Currently, none of them converge to
second order except the standard WaveToy formulation.
These updates require the recent flesh, base thorn (and MoL) updates.
darcs-hash:20030618162427-07bb3-70761f74bce6ae246b5a2943a385647657d46d34.gz
Diffstat (limited to 'CarpetExtra/IDScalarWaveFO')
-rw-r--r-- | CarpetExtra/IDScalarWaveFO/param.ccl | 12 | ||||
-rw-r--r-- | CarpetExtra/IDScalarWaveFO/schedule.ccl | 3 | ||||
-rw-r--r-- | CarpetExtra/IDScalarWaveFO/src/initialdata.F77 | 70 |
3 files changed, 29 insertions, 56 deletions
diff --git a/CarpetExtra/IDScalarWaveFO/param.ccl b/CarpetExtra/IDScalarWaveFO/param.ccl index e6bc7b617..2283a5aca 100644 --- a/CarpetExtra/IDScalarWaveFO/param.ccl +++ b/CarpetExtra/IDScalarWaveFO/param.ccl @@ -1,15 +1,5 @@ # Parameter definitions for thorn IDScalarWaveFO -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/param.ccl,v 1.3 2004/05/07 22:51:08 schnetter Exp $ - -RESTRICTED: - -KEYWORD initial_data "Type of initial data" -{ - "plane" :: "Plane wave" - "noise" :: "Noise" -} "plane" - -PRIVATE: +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/param.ccl,v 1.1 2003/06/18 18:24:29 schnetter Exp $ CCTK_REAL wave_number[3] "Wave number" { diff --git a/CarpetExtra/IDScalarWaveFO/schedule.ccl b/CarpetExtra/IDScalarWaveFO/schedule.ccl index 8e615a685..4b68757d8 100644 --- a/CarpetExtra/IDScalarWaveFO/schedule.ccl +++ b/CarpetExtra/IDScalarWaveFO/schedule.ccl @@ -1,7 +1,8 @@ # Schedule definitions for thorn IDScalarWaveFO -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/schedule.ccl,v 1.3 2004/01/11 12:20:39 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/schedule.ccl,v 1.1 2003/06/18 18:24:29 schnetter Exp $ SCHEDULE IDScalarWaveFO_InitialData AT initial { LANG: Fortran + STORAGE: WaveToyFO::scalarevolve[1] } "Initial data for the scalar field" diff --git a/CarpetExtra/IDScalarWaveFO/src/initialdata.F77 b/CarpetExtra/IDScalarWaveFO/src/initialdata.F77 index e2808d54f..15d6e0934 100644 --- a/CarpetExtra/IDScalarWaveFO/src/initialdata.F77 +++ b/CarpetExtra/IDScalarWaveFO/src/initialdata.F77 @@ -1,8 +1,7 @@ -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/src/initialdata.F77,v 1.5 2004/05/07 22:51:08 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/src/initialdata.F77,v 1.1 2003/06/18 18:24:29 schnetter Exp $ #include "cctk.h" #include "cctk_Arguments.h" -#include "cctk_Functions.h" #include "cctk_Parameters.h" subroutine IDScalarWaveFO_InitialData (CCTK_ARGUMENTS) @@ -14,48 +13,31 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWaveFO/src/ini parameter (pi = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068d0) CCTK_REAL omega integer i, j, k - - if (CCTK_EQUALS(initial_data, "plane")) then - omega = sqrt(wave_number(1)**2 + wave_number(2)**2 + wave_number(3)**2) - do k=1,cctk_lsh(3) - do j=1,cctk_lsh(2) - do i=1,cctk_lsh(1) - phi(i,j,k) = amplitude * cos (2*pi * - $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) - $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) - $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) - $ + omega*(cctk_time-time_offset))) - psix(i,j,k) = amplitude * wave_number(1) / omega * cos (2*pi * - $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) - $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) - $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) - $ + omega*(cctk_time-time_offset))) - psiy(i,j,k) = amplitude * wave_number(2) / omega * cos (2*pi * - $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) - $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) - $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) - $ + omega*(cctk_time-time_offset))) - psiz(i,j,k) = amplitude * wave_number(3) / omega * cos (2*pi * - $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) - $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) - $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) - $ + omega*(cctk_time-time_offset))) - end do - end do - end do - - else if (CCTK_EQUALS(initial_data, "noise")) then - - do k=1,cctk_lsh(3) - do j=1,cctk_lsh(2) - do i=1,cctk_lsh(1) - call random_number (phi(i,j,k)) - call random_number (psix(i,j,k)) - call random_number (psiy(i,j,k)) - call random_number (psiz(i,j,k)) - end do + omega = sqrt(wave_number(1)**2 + wave_number(2)**2 + wave_number(3)**2) + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + phi(i,j,k) = amplitude * cos (2*pi * + $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) + $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) + $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) + $ + omega*(cctk_time-time_offset))) + psix(i,j,k) = - amplitude * (2*pi)**2 * wave_number(1) * omega * cos (2*pi * + $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) + $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) + $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) + $ + omega*(cctk_time-time_offset))) + psiy(i,j,k) = - amplitude * (2*pi)**2 * wave_number(2) * omega * cos (2*pi * + $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) + $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) + $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) + $ + omega*(cctk_time-time_offset))) + psiz(i,j,k) = - amplitude * (2*pi)**2 * wave_number(3) * omega * cos (2*pi * + $ ( wave_number(1)*(x(i,j,k)-phase_offset(1)) + $ + wave_number(2)*(y(i,j,k)-phase_offset(2)) + $ + wave_number(3)*(z(i,j,k)-phase_offset(3)) + $ + omega*(cctk_time-time_offset))) end do end do - - end if + end do end |