From 8b92cb0c94a56fd6e888569b43e151c5cb7008b7 Mon Sep 17 00:00:00 2001 From: schnetter <> Date: Tue, 8 Jan 2002 13:20:00 +0000 Subject: Added new 1/r initial data for WaveToy. Added new 1/r initial data for WaveToy. Added excision to WaveToy for 1/r data. darcs-hash:20020108132057-07bb3-541b25e99f5d694d4baa82ce3d09ced4383b27c9.gz --- CarpetExtra/WaveToyF77/par/wavetoyf77_excision.par | 10 +++++---- .../WaveToyF77/par/wavetoyf77_excision_rl2.par | 10 +++++---- .../WaveToyF77/par/wavetoyf77_excision_rl3.par | 10 +++++---- CarpetExtra/WaveToyF77/param.ccl | 13 ++++++++++- CarpetExtra/WaveToyF77/src/WaveToy.F77 | 26 +++++++++++++++++++--- 5 files changed, 53 insertions(+), 16 deletions(-) (limited to 'CarpetExtra/WaveToyF77') 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 -- cgit v1.2.3