aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorallen <allen@c78560ca-4b45-4335-b268-5f3340f3cb52>1999-04-01 18:06:40 +0000
committerallen <allen@c78560ca-4b45-4335-b268-5f3340f3cb52>1999-04-01 18:06:40 +0000
commitccc04ccf3b80a200cb5dda5018c13892963e562d (patch)
treeddb8ffca3953f39bdcf63c6f45874a3292e8c14e /src
parentc17150f41edb485233d890673b29294063d2b315 (diff)
Renaming and restructuring ...
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/CartGrid3D/trunk@19 c78560ca-4b45-4335-b268-5f3340f3cb52
Diffstat (limited to 'src')
-rw-r--r--src/CartGrid3D.F102
1 files changed, 53 insertions, 49 deletions
diff --git a/src/CartGrid3D.F b/src/CartGrid3D.F
index 336f878..cfc04bd 100644
--- a/src/CartGrid3D.F
+++ b/src/CartGrid3D.F
@@ -23,9 +23,10 @@
integer :: CCTK_Equals
integer :: iflag, iconv, i, j, k
- REAL :: x0,y0,z0,dx,dy,dz
+ REAL :: x0,y0,z0,
+ & this_dx,this_dy,this_dz
- iflag = 0
+ iflag = 0 ! Gets set to one if we set a grid
iconv = 2**convlevel
@@ -39,23 +40,24 @@ c the number of gridpoints on the coarse grid
c
c --------------------------------------------------------------
- if (CCTK_Equals(grid,'byrange') == 1) then
+ if (CCTK_Equals(type,'byrange') == 1) then
- iflag = iflag +1
+ call CCTK_Info("Setting grid by range")
if (CCTK_Equals(symmetry,'octant') == 1) then
+ call CCTK_Info("Octant symmetry")
iflag = iflag +1
c Grid spacing on coarsest grid
- coarse_dx = grid_xmax/(DBLE(global_sh(1))-1.5d0)
- coarse_dy = grid_ymax/(DBLE(global_sh(2))-1.5d0)
- coarse_dz = grid_zmax/(DBLE(global_sh(3))-1.5d0)
+ coarse_dx = xmax/(DBLE(global_sh(1))-1.5d0)
+ coarse_dy = ymax/(DBLE(global_sh(2))-1.5d0)
+ coarse_dz = zmax/(DBLE(global_sh(3))-1.5d0)
c Grid spacing on this grid
- dx = -coarse_dx*0.5d0
- dy = -coarse_dy*0.5d0
- dz = -coarse_dz*0.5d0
+ this_dx = -coarse_dx*0.5d0
+ this_dy = -coarse_dy*0.5d0
+ this_dz = -coarse_dz*0.5d0
c Minimum coordinate values on this grid
x0 = (0.5-dble(nghostzones))*dx
@@ -77,14 +79,14 @@ c Minimum coordinate values on this grid
iflag = iflag +1
c Set minimum values of coordinates
- x0 = grid_xmin
- y0 = grid_ymin
- z0 = grid_zmin
+ x0 = xmin
+ y0 = ymin
+ z0 = zmin
c dx,dy,dz on the coarsest grid of each GH
- coarse_dx = (grid_xmax-grid_xmin)/max(global_sh(1)-1,1)
- coarse_dy = (grid_ymax-grid_ymin)/max(global_sh(2)-1,1)
- coarse_dz = (grid_zmax-grid_zmin)/max(global_sh(3)-1,1)
+ coarse_dx = (xmax-xmin)/max(global_sh(1)-1,1)
+ coarse_dy = (ymax-ymin)/max(global_sh(2)-1,1)
+ coarse_dz = (zmax-zmin)/max(global_sh(3)-1,1)
end if
@@ -94,7 +96,8 @@ c dx,dy,dz on the grid we are on
dz = coarse_dz/levfac
write(*,'(1X,A,1X,3(A,G12.7,2X))')
- & 'Grid by range: Setting ','dx=>',dx,'dy=>',dy,'dz=>',dz
+ & 'Grid by range: Setting ','dx=>',this_dx,'dy=>',
+ & this_dy,'dz=>',this_dz
c -----------------------------------------------------------
@@ -106,48 +109,48 @@ c the number of gridpoints on the coarsest GH
c
c -----------------------------------------------------------
- else if (CCTK_Equals(grid,'byspacing') == 1) then
+ else if (CCTK_Equals(type,'byspacing') == 1) then
c Dx, Dy, Dx on the coarsest grid
- coarse_dx = grid_dx
- coarse_dy = grid_dy
- coarse_dz = grid_dz
+ coarse_dx = dx
+ coarse_dy = dy
+ coarse_dz = dz
c dx, dy, dz on the grid we are on
- dx = coarse_dx*iconv/levfac
- dy = coarse_dy*iconv/levfac
- dz = coarse_dz*iconv/levfac
+ this_dx = coarse_dx*iconv/levfac
+ this_dy = coarse_dy*iconv/levfac
+ this_dz = coarse_dz*iconv/levfac
if (CCTK_Equals(symmetry,'bitant') == 1) then
iflag = iflag + 1
- x0 = (0.5 - global_sh(1)/2)*dx
- y0 = (0.5 - global_sh(2)/2)*dy
- z0 = (-dble(nghostzones)+0.5d0)*dz
+ x0 = (0.5 - global_sh(1)/2)*this_dx
+ y0 = (0.5 - global_sh(2)/2)*this_dy
+ z0 = (-dble(nghostzones)+0.5d0)*this_dz
else if (CCTK_Equals(symmetry,'quadrant') == 1) then
iflag = iflag + 1
- x0 = (-dble(nghostzones)+0.5d0)*dx
- y0 = (-dble(nghostzones)+0.5d0)*dy
- z0 = (0.5D0 - global_sh(3)/2)*dz
+ x0 = (-dble(nghostzones)+0.5d0)*this_dx
+ y0 = (-dble(nghostzones)+0.5d0)*this_dy
+ z0 = (0.5D0 - global_sh(3)/2)*this_dz
else if (CCTK_Equals(symmetry,'octant') == 1) then
iflag = iflag + 1
- x0 = (-dble(nghostzones)+0.5d0)*dx
- y0 = (-dble(nghostzones)+0.5d0)*dy
- z0 = (-dble(nghostzones)+0.5d0)*dz
+ x0 = (-dble(nghostzones)+0.5d0)*this_dx
+ y0 = (-dble(nghostzones)+0.5d0)*this_dy
+ z0 = (-dble(nghostzones)+0.5d0)*this_dz
else if (CCTK_Equals(symmetry,'full')==1) then
iflag = iflag + 1
- x0 = (0.5 - global_sh(1)/2)*dx
- y0 = (0.5 - global_sh(2)/2)*dy
- z0 = (0.5 - global_sh(3)/2)*dz
+ x0 = (0.5 - global_sh(1)/2)*this_dx
+ y0 = (0.5 - global_sh(2)/2)*this_dy
+ z0 = (0.5 - global_sh(3)/2)*this_dz
end if
@@ -160,7 +163,7 @@ c User gives: number of gridpoints on the coarse grid
c
c --------------------------------------------------------------
- elseif (CCTK_Equals(grid,'box')==1) then
+ elseif (CCTK_Equals(type,'box') == 1) then
iflag = iflag + 1
@@ -175,9 +178,9 @@ c dx,dy,dz on the coarsest grid of each GH
coarse_dz = 1.d0/max(global_sh(1)-1,1)
c dx,dy,dz on the grid we are on
- dx = coarse_dx/levfac
- dy = coarse_dy/levfac
- dz = coarse_dz/levfac
+ this_dx = coarse_dx/levfac
+ this_dy = coarse_dy/levfac
+ this_dz = coarse_dz/levfac
c Special cases
if (global_sh(1) == 1) x0 = 0.0D0
@@ -185,7 +188,8 @@ c Special cases
if (global_sh(3) == 1) z0 = 0.0D0
write(*,'(1X,A,1X,3(A,G12.7,2X))')
- & 'Box grid: Setting ','dx=>',dx,'dy=>',dy,'dz=>',dz
+ & 'Box grid: Setting ','dx=>',this_dx,'dy=>',this_dy,
+ & 'dz=>',this_dz
end if
@@ -204,18 +208,18 @@ c -----------------------
do i=1,sh(1)
do j=1,sh(2)
do k=1,sh(3)
- x(i,j,k) = dx*(i+lb(1)-1) + x0
- y(i,j,k) = dy*(j+lb(2)-1) + y0
- z(i,j,k) = dz*(k+lb(3)-1) + z0
+ x(i,j,k) = this_dx*(i+lb(1)-1) + x0
+ y(i,j,k) = this_dy*(j+lb(2)-1) + y0
+ z(i,j,k) = this_dz*(k+lb(3)-1) + z0
end do
end do
end do
r = sqrt(x**2 + y**2 + z**2)
- delta_space(1) = dx
- delta_space(2) = dy
- delta_space(3) = dz
+ delta_space(1) = this_dx
+ delta_space(2) = this_dy
+ delta_space(3) = this_dz
#ifdef CARTGRID3D_DEBUG
write(*,*)
@@ -228,8 +232,8 @@ c -----------------------
write(*,*) "Convergence level = ",convlevel
write(*,*) "Grid level = ",levfac
write(*,*) "Minimum Global Coords = ",x0,y0,z0
- write(*,*) "Maximum Global Coords = ",x0+dx*(global_sh(1)-1),
- & y0+dy*(global_sh(2)-1),z0+dz**(global_sh(3)-1)
+ write(*,*) "Maximum Global Coords = ",x0+this_dx*(global_sh(1)-1),
+ & y0+this_dy*(global_sh(2)-1),z0+this_dz**(global_sh(3)-1)
write(*,*) "Minimum Local Coords = ",x(1,1,1),
& y(1,1,1),z(1,1,1)
write(*,*) "Maximum Local Coords = ",x(sh(1),sh(2),sh(3)),