diff options
Diffstat (limited to 'CarpetExtra')
-rw-r--r-- | CarpetExtra/IDScalarWave/param.ccl | 3 | ||||
-rw-r--r-- | CarpetExtra/IDScalarWave/src/InitialData.F77 | 16 | ||||
-rw-r--r-- | CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par | 10 | ||||
-rw-r--r-- | CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par | 10 | ||||
-rw-r--r-- | CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par | 10 | ||||
-rw-r--r-- | CarpetExtra/WaveToyF77/param.ccl | 13 | ||||
-rw-r--r-- | CarpetExtra/WaveToyF77/src/WaveToy.F77 | 26 |
7 files changed, 70 insertions, 18 deletions
diff --git a/CarpetExtra/IDScalarWave/param.ccl b/CarpetExtra/IDScalarWave/param.ccl index 9b9d7fc1a..75244b562 100644 --- a/CarpetExtra/IDScalarWave/param.ccl +++ b/CarpetExtra/IDScalarWave/param.ccl @@ -1,5 +1,5 @@ # Parameter definitions for thorn IDScalarWave -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/param.ccl,v 1.2 2001/03/05 14:31:46 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/param.ccl,v 1.3 2002/01/08 14:20:57 schnetter Exp $ shares: grid @@ -12,6 +12,7 @@ KEYWORD initial_data "Type of initial data" "plane" :: "Plane wave" "gaussian" :: "Gaussian wave" "box" :: "Box wave" + "1/r" :: "1/r data" "none" :: "No initial data, zero phi" } "gaussian" diff --git a/CarpetExtra/IDScalarWave/src/InitialData.F77 b/CarpetExtra/IDScalarWave/src/InitialData.F77 index 739c6d2d2..5f330c924 100644 --- a/CarpetExtra/IDScalarWave/src/InitialData.F77 +++ b/CarpetExtra/IDScalarWave/src/InitialData.F77 @@ -1,5 +1,5 @@ c -*-Fortran-*- -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/src/InitialData.F77,v 1.8 2001/12/14 18:00:01 schnetter Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/IDScalarWave/src/InitialData.F77,v 1.9 2002/01/08 14:20:57 schnetter Exp $ /*@@ @file InitialData.F77 @@ -132,6 +132,20 @@ c Use kx,ky,kz as number of modes in each direction. end do end do + else if (CCTK_EQUALS(initial_data, "1/r")) then + + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + + phi(i,j,k) = 1 / spher3d_r(i,j,k) + phi_p(i,j,k) = 1 / spher3d_r(i,j,k) + phi_p_p(i,j,k) = 1 / spher3d_r(i,j,k) + + end do + end do + end do + else do k=1,cctk_lsh(3) diff --git a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par index fb011661c..d53732d4a 100644 --- a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par +++ b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par @@ -1,6 +1,6 @@ -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par,v 1.6 2004/03/23 12:00:37 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par,v 1.1 2002/01/08 14:21:12 schnetter Exp $ -ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Slab Carpet CarpetIOASCII CarpetIOFlexIO FlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" +ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" Carpet::poison_new_timelevels = yes Carpet::check_for_poison = yes @@ -11,7 +11,9 @@ Cactus::cctk_final_time = 10.0 Time::dtfac = 0.5 -driver::global_nsize = 35 +driver::global_nx = 35 +driver::global_ny = 35 +driver::global_nz = 35 Carpet::max_refinement_levels = 4 @@ -19,7 +21,7 @@ grid::type = byspacing grid::dxyz = 0.0625 grid::avoid_origin = no -IO::out_dir = "wavetoyf77_excision" +IO::outdir = "wavetoyf77_excision" IOBasic::outinfo_every = 8 IOBasic::outinfo_vars = "wavetoy::phi" diff --git a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par index 304e3ad2f..ee98b584e 100644 --- a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par +++ b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par @@ -1,6 +1,6 @@ -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par,v 1.6 2004/03/23 12:00:37 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl2.par,v 1.1 2002/01/08 14:21:12 schnetter Exp $ -ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Slab Carpet CarpetIOASCII CarpetIOFlexIO FlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" +ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" Carpet::poison_new_timelevels = yes Carpet::check_for_poison = yes @@ -11,7 +11,9 @@ Cactus::cctk_final_time = 10.0 Time::dtfac = 0.5 -driver::global_nsize = 35 +driver::global_nx = 35 +driver::global_ny = 35 +driver::global_nz = 35 Carpet::max_refinement_levels = 4 @@ -21,7 +23,7 @@ grid::type = byspacing grid::dxyz = 0.0625 grid::avoid_origin = no -IO::out_dir = "wavetoyf77_excision_rl2" +IO::outdir = "wavetoyf77_excision_rl2" IOBasic::outinfo_every = 8 IOBasic::outinfo_vars = "wavetoy::phi" diff --git a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par index 153afb55d..0931bf51f 100644 --- a/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par +++ b/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par @@ -1,6 +1,6 @@ -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par,v 1.6 2004/03/23 12:00:37 schnetter Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/par/wavetoyf77_excision_rl3.par,v 1.1 2002/01/08 14:21:13 schnetter Exp $ -ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Slab Carpet CarpetIOASCII CarpetIOFlexIO FlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" +ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetReduce CarpetRegrid CarpetSlab IDScalarWave WaveToyF77" Carpet::poison_new_timelevels = yes Carpet::check_for_poison = yes @@ -11,7 +11,9 @@ Cactus::cctk_final_time = 10.0 Time::dtfac = 0.5 -driver::global_nsize = 35 +driver::global_nx = 35 +driver::global_ny = 35 +driver::global_nz = 35 Carpet::max_refinement_levels = 4 @@ -21,7 +23,7 @@ grid::type = byspacing grid::dxyz = 0.0625 grid::avoid_origin = no -IO::out_dir = "wavetoyf77_excision_rl3" +IO::outdir = "wavetoyf77_excision_rl3" IOBasic::outinfo_every = 8 IOBasic::outinfo_vars = "wavetoy::phi" diff --git a/CarpetExtra/WaveToyF77/param.ccl b/CarpetExtra/WaveToyF77/param.ccl index 20886dc92..292969045 100644 --- a/CarpetExtra/WaveToyF77/param.ccl +++ b/CarpetExtra/WaveToyF77/param.ccl @@ -1,5 +1,5 @@ # Parameter definitions for thorn WaveToyF77 -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/param.ccl,v 1.3 2001/03/21 22:57:40 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyF77/param.ccl,v 1.4 2002/01/08 14:21:12 schnetter Exp $ private: @@ -11,3 +11,14 @@ KEYWORD bound "Type of boundary condition to use" "robin" :: "Robin boundary condition" "zero" :: "Zero boundary condition" } "zero" + +KEYWORD excision_bound "Type of excision boundary condition to use" +{ + "1/r" :: "use 1/r Dirichlet data" + "none" :: "no excision" +} "none" + +REAL excision_radius "Radius of excision region" +{ + 0:* :: "must be nonnegative" +} 1.0 diff --git a/CarpetExtra/WaveToyF77/src/WaveToy.F77 b/CarpetExtra/WaveToyF77/src/WaveToy.F77 index bbdf70457..909afb35b 100644 --- a/CarpetExtra/WaveToyF77/src/WaveToy.F77 +++ b/CarpetExtra/WaveToyF77/src/WaveToy.F77 @@ -122,20 +122,40 @@ c Local declarations CCTK_REAL finf integer npow + parameter (finf = 1) + parameter (npow = 1) + + integer i,j,k + integer ierr integer sw(3) c call CCTK_INFO ("WaveToyF77_Boundaries") - npow = 1 - finf = 1 - c Set the stencil width c --------------------- sw(1) = cctk_nghostzones(1) sw(2) = cctk_nghostzones(2) sw(3) = cctk_nghostzones(3) +c Apply the excision boundary condition +c ------------------------------------- + if (CCTK_EQUALS(excision_bound, "none")) then +c do nothing + else if (CCTK_EQUALS(excision_bound, "1/r")) then + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + if (spher3d_r(i,j,k) .le. excision_radius) then + phi(i,j,k) = 1 / spher3d_r(i,j,k) + end if + end do + end do + end do + else + call CCTK_WARN (0, "internal error") + end if + c Apply the outer boundary conditions c ----------------------------------- if (CCTK_EQUALS(bound, "flat")) then |