diff options
author | schnetter <> | 2001-04-23 06:10:00 +0000 |
---|---|---|
committer | schnetter <> | 2001-04-23 06:10:00 +0000 |
commit | 3c8cafa058889929160d7019304b99fab0656df8 (patch) | |
tree | 46dd47a05e490ed976623074c18bcdac45787c81 /CarpetExtra/HydroToy | |
parent | bcf0f1685d561b33bb1b0c1e033adb4a145767d3 (diff) |
Modified the Carpet driver so that it uses the same new timelevel
Modified the Carpet driver so that it uses the same new timelevel
cycling as does PUGH.
Modified the CarpetIOASCII and CarpetIOFlexIO output routines so that
they always output the current time level.
Found and fixed a bug in the time interpolation in CarpetLib.
Fixed a bug where the necessary number of ghost zones for space
interpolation was calculated incorrectly.
Fixed bugs in the example parameter files that used an insufficient
number of ghost zones.
darcs-hash:20010423061011-07bb3-c69e59f7bc5f283d7632a663c0770578cdb73881.gz
Diffstat (limited to 'CarpetExtra/HydroToy')
-rw-r--r-- | CarpetExtra/HydroToy/par/convtest.gnuplot | 8 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par | 22 | ||||
-rw-r--r-- | CarpetExtra/HydroToy/src/HydroToy.F77 | 52 |
8 files changed, 103 insertions, 89 deletions
diff --git a/CarpetExtra/HydroToy/par/convtest.gnuplot b/CarpetExtra/HydroToy/par/convtest.gnuplot index 0cb0cc29c..15eb3716b 100644 --- a/CarpetExtra/HydroToy/par/convtest.gnuplot +++ b/CarpetExtra/HydroToy/par/convtest.gnuplot @@ -9,17 +9,17 @@ omega=sqrt(kx**2 + ky**2 + kz**2) # without refinement # solutions -p "hydrotoy_periodic/u.zl" u 8:($1==time&&$3==0?$9:0/0) w lp, "hydrotoy_periodic_coarse/u.zl" u (2*$8):(2*$1==time&&$3==0?$9:0/0) w lp, cos((kz*(0.3*x-9) + omega*(0.15*time))*pi) w l +p "hydrotoy_periodic/u.zl" u ($8-1):($1==time&&$3==0?$9:0/0) w lp, "hydrotoy_periodic_coarse/u.zl" u (2*($8-1)):(2*$1==time&&$3==0?$9:0/0) w lp, cos((kz*(0.3*x-9) + omega*(0.15*time))*pi) w l # errors -p "hydrotoy_periodic/u.zl" u 8:($1==time&&$3==0?$9-cos((kz*(0.3*$8-9) + omega*(0.15*time))*pi):0/0) w lp, "hydrotoy_periodic_coarse/u.zl" u (2*$8):(2*$1==time&&$3==0?$9-cos((kz*(0.3*(2*$8)-9) + omega*(0.15*time))*pi):0/0) w lp +p "hydrotoy_periodic/u.zl" u ($8-1):($1==time&&$3==0?$9-cos((kz*(0.3*($8-1)-9) + omega*(0.15*time))*pi):0/0) w lp, "hydrotoy_periodic_coarse/u.zl" u (2*($8-1)):(2*$1==time&&$3==0?$9-cos((kz*(0.3*(2*($8-1))-9) + omega*(0.15*time))*pi):0/0) w lp # with refinement # solutions -p "hydrotoy_periodic_rl2/u.zl" u 8:($1==time&&$3==0?$9:0/0) w lp, "hydrotoy_periodic_coarse_rl2/u.zl" u (2*$8):(2*$1==time&&$3==0?$9:0/0) w lp, cos((kz*(0.15*x-9) + omega*(0.075*time))*pi) w l +p "hydrotoy_periodic_rl2/u.zl" u ($8-2):($1==time&&$3==0?$9:0/0) w lp, "hydrotoy_periodic_coarse_rl2/u.zl" u (2*($8-2)):(2*$1==time&&$3==0?$9:0/0) w lp, cos((kz*(0.15*x-9) + omega*(0.075*time))*pi) w l # errors -p "hydrotoy_periodic_rl2/u.zl" u 8:($1==time&&$3==0?$9-cos((kz*(0.15*$8-9) + omega*(0.075*time))*pi):0/0) w lp, "hydrotoy_periodic_coarse_rl2/u.zl" u (2*$8):(2*$1==time&&$3==0?$9-cos((kz*(0.15*(2*$8)-9) + omega*(0.075*time))*pi):0/0) w lp +p "hydrotoy_periodic_rl2/u.zl" u ($8-2):($1==time&&$3==0?$9-cos((kz*(0.15*($8-2)-9) + omega*(0.075*time))*pi):0/0) w lp, "hydrotoy_periodic_coarse_rl2/u.zl" u (2*($8-2)):(2*$1==time&&$3==0?$9-cos((kz*(0.15*(2*($8-2))-9) + omega*(0.075*time))*pi):0/0) w lp diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic.par index fb5b9010b..ac96d3e85 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic.par,v 1.3 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic.par,v 1.4 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,17 +19,19 @@ Cactus::cctk_itlast = 120 Time::dtfac = 0.5 -driver::global_nx = 32 -driver::global_ny = 46 -driver::global_nz = 62 +driver::global_nx = 34 +driver::global_ny = 48 +driver::global_nz = 64 + +driver::ghost_size = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.5 -grid::ymax = 6.9 -grid::zmax = 9.3 +grid::xmin = -5.1 +grid::ymin = -6.9 +grid::zmin = -9.3 +grid::xmax = 4.8 +grid::ymax = 7.2 +grid::zmax = 9.6 grid::mode = periodic IO::outdir = "hydrotoy_periodic" diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par index a80662039..a047c4908 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par,v 1.2 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse.par,v 1.3 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,17 +19,19 @@ Cactus::cctk_itlast = 60 Time::dtfac = 0.5 -driver::global_nx = 17 -driver::global_ny = 24 -driver::global_nz = 32 +driver::global_nx = 19 +driver::global_ny = 26 +driver::global_nz = 34 + +driver::ghost_size = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.8 -grid::ymax = 7.2 -grid::zmax = 9.6 +grid::xmin = -5.4 +grid::ymin = -7.2 +grid::zmin = -9.6 +grid::xmax = 5.4 +grid::ymax = 7.8 +grid::zmax = 10.2 grid::mode = periodic IO::outdir = "hydrotoy_periodic_coarse" diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par index 1588d1926..7f08bca65 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par,v 1.3 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl2.par,v 1.4 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,21 +19,23 @@ Cactus::cctk_itlast = 120 Time::dtfac = 0.5 -driver::global_nx = 17 -driver::global_ny = 24 -driver::global_nz = 32 +driver::global_nx = 19 +driver::global_ny = 26 +driver::global_nz = 34 + +driver::ghost_size = 2 Carpet::max_refinement_levels = 2 Carpet::prolongation_order_space= 3 Carpet::prolongation_order_time = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.8 -grid::ymax = 7.2 -grid::zmax = 9.6 +grid::xmin = -5.4 +grid::ymin = -7.2 +grid::zmin = -9.6 +grid::xmax = 5.4 +grid::ymax = 7.8 +grid::zmax = 10.2 grid::mode = periodic IO::outdir = "hydrotoy_periodic_coarse_rl2" diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par index 182e537ec..5f9cf7790 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par,v 1.3 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_coarse_rl3.par,v 1.4 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,21 +19,23 @@ Cactus::cctk_itlast = 240 Time::dtfac = 0.5 -driver::global_nx = 17 -driver::global_ny = 24 -driver::global_nz = 32 +driver::global_nx = 19 +driver::global_ny = 26 +driver::global_nz = 34 + +driver::ghost_size = 2 Carpet::max_refinement_levels = 3 Carpet::prolongation_order_space= 3 Carpet::prolongation_order_time = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.8 -grid::ymax = 7.2 -grid::zmax = 9.6 +grid::xmin = -5.4 +grid::ymin = -7.2 +grid::zmin = -9.6 +grid::xmax = 5.4 +grid::ymax = 7.8 +grid::zmax = 10.2 grid::mode = periodic IO::outdir = "hydrotoy_periodic_coarse_rl3" diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par index 7bb9ca230..5b1fe7f03 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par,v 1.3 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl2.par,v 1.4 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,21 +19,23 @@ Cactus::cctk_itlast = 240 Time::dtfac = 0.5 -driver::global_nx = 32 -driver::global_ny = 46 -driver::global_nz = 62 +driver::global_nx = 34 +driver::global_ny = 48 +driver::global_nz = 64 + +driver::ghost_size = 2 Carpet::max_refinement_levels = 2 Carpet::prolongation_order_space= 3 Carpet::prolongation_order_time = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.5 -grid::ymax = 6.9 -grid::zmax = 9.3 +grid::xmin = -5.1 +grid::ymin = -6.9 +grid::zmin = -9.3 +grid::xmax = 4.8 +grid::ymax = 7.2 +grid::zmax = 9.6 grid::mode = periodic IO::outdir = "hydrotoy_periodic_rl2" diff --git a/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par b/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par index dd82cc821..d1fd53bbb 100644 --- a/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par +++ b/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par @@ -7,7 +7,7 @@ # @enddesc # @@*/ # -# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par,v 1.3 2001/03/30 00:50:45 eschnett Exp $ +# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/par/hydrotoy_periodic_rl3.par,v 1.4 2001/04/23 08:10:18 schnetter Exp $ ActiveThorns = "Boundary IOBasic IOUtil Time Cart3d Carpet CarpetIOASCII CarpetIOFlexIO CarpetLib CarpetSlab IDHydroToy HydroToy" @@ -19,21 +19,23 @@ Cactus::cctk_itlast = 480 Time::dtfac = 0.5 -driver::global_nx = 32 -driver::global_ny = 46 -driver::global_nz = 62 +driver::global_nx = 34 +driver::global_ny = 48 +driver::global_nz = 64 + +driver::ghost_size = 2 Carpet::max_refinement_levels = 3 Carpet::prolongation_order_space= 3 Carpet::prolongation_order_time = 2 grid::type = byrange -grid::xmin = -4.8 -grid::ymin = -6.6 -grid::zmin = -9.0 -grid::xmax = 4.5 -grid::ymax = 6.9 -grid::zmax = 9.3 +grid::xmin = -5.1 +grid::ymin = -6.9 +grid::zmin = -9.3 +grid::xmax = 4.8 +grid::ymax = 7.2 +grid::zmax = 9.6 grid::mode = periodic IO::outdir = "hydrotoy_periodic_rl3" diff --git a/CarpetExtra/HydroToy/src/HydroToy.F77 b/CarpetExtra/HydroToy/src/HydroToy.F77 index dcffc75f9..4797162c4 100644 --- a/CarpetExtra/HydroToy/src/HydroToy.F77 +++ b/CarpetExtra/HydroToy/src/HydroToy.F77 @@ -1,5 +1,5 @@ c -*-Fortran-*- -c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/src/HydroToy.F77,v 1.4 2001/03/26 02:28:36 eschnett Exp $ +c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/HydroToy/src/HydroToy.F77,v 1.5 2001/04/23 08:10:19 schnetter Exp $ #include "cctk.h" #include "cctk_Parameters.h" @@ -22,10 +22,10 @@ c Copy do j=1,cctk_lsh(2) do i=1,cctk_lsh(1) - u_i(i,j,k) = u(i,j,k) - vx_i(i,j,k) = vx(i,j,k) - vy_i(i,j,k) = vy(i,j,k) - vz_i(i,j,k) = vz(i,j,k) + u_i(i,j,k) = u_p(i,j,k) + vx_i(i,j,k) = vx_p(i,j,k) + vy_i(i,j,k) = vy_p(i,j,k) + vz_i(i,j,k) = vz_p(i,j,k) end do end do @@ -59,10 +59,10 @@ c Copy do j=1,cctk_lsh(2) do i=1,cctk_lsh(1) - u_i(i,j,k) = u_n(i,j,k) - vx_i(i,j,k) = vx_n(i,j,k) - vy_i(i,j,k) = vy_n(i,j,k) - vz_i(i,j,k) = vz_n(i,j,k) + u_i(i,j,k) = u(i,j,k) + vx_i(i,j,k) = vx(i,j,k) + vy_i(i,j,k) = vy(i,j,k) + vz_i(i,j,k) = vz(i,j,k) end do end do @@ -76,10 +76,10 @@ c Average do j=1,cctk_lsh(2) do i=1,cctk_lsh(1) - u_n(i,j,k) = half * (u(i,j,k) + u_n(i,j,k)) - vx_n(i,j,k) = half * (vx(i,j,k) + vx_n(i,j,k)) - vy_n(i,j,k) = half * (vy(i,j,k) + vy_n(i,j,k)) - vz_n(i,j,k) = half * (vz(i,j,k) + vz_n(i,j,k)) + u(i,j,k) = half * (u_p(i,j,k) + u(i,j,k)) + vx(i,j,k) = half * (vx_p(i,j,k) + vx(i,j,k)) + vy(i,j,k) = half * (vy_p(i,j,k) + vy(i,j,k)) + vz(i,j,k) = half * (vz_p(i,j,k) + vz(i,j,k)) end do end do @@ -109,20 +109,20 @@ c Apply boundaries dt = CCTK_DELTA_TIME c Evolve - do k=2,cctk_lsh(3)-1 - do j=2,cctk_lsh(2)-1 - do i=2,cctk_lsh(1)-1 + do k=1+cctk_nghostzones(3),cctk_lsh(3)-cctk_nghostzones(3) + do j=1+cctk_nghostzones(2),cctk_lsh(2)-cctk_nghostzones(2) + do i=1+cctk_nghostzones(1),cctk_lsh(1)-cctk_nghostzones(1) - u_n(i,j,k) = u_i(i,j,k) + u(i,j,k) = u_i(i,j,k) $ + dt * (vx_i(i+1,j,k) - vx_i(i-1,j,k)) / (2*dx) $ + dt * (vy_i(i,j+1,k) - vy_i(i,j-1,k)) / (2*dy) $ + dt * (vz_i(i,j,k+1) - vz_i(i,j,k-1)) / (2*dz) - vx_n(i,j,k) = vx_i(i,j,k) + vx(i,j,k) = vx_i(i,j,k) $ + dt * (u_i(i+1,j,k) - u_i(i-1,j,k)) / (2*dx) - vy_n(i,j,k) = vy_i(i,j,k) + vy(i,j,k) = vy_i(i,j,k) $ + dt * (u_i(i,j+1,k) - u_i(i,j-1,k)) / (2*dy) - vz_n(i,j,k) = vz_i(i,j,k) + vz(i,j,k) = vz_i(i,j,k) $ + dt * (u_i(i,j,k+1) - u_i(i,j,k-1)) / (2*dz) end do @@ -144,15 +144,17 @@ c Evolve CCTK_REAL zero, one parameter (zero=0, one=1) - CCTK_REAL finf, npow - parameter (finf=1, npow=1) + CCTK_REAL finf + parameter (finf=1) + integer npow + parameter (npow=1) integer sw(3) integer ierr - sw(1) = 1 - sw(2) = 1 - sw(3) = 1 + sw(1) = cctk_nghostzones(1) + sw(2) = cctk_nghostzones(2) + sw(3) = cctk_nghostzones(3) c Apply boundary condition if (CCTK_EQUALS(bound, "flat")) then |