diff options
author | allen <allen@c78560ca-4b45-4335-b268-5f3340f3cb52> | 1999-04-01 18:06:40 +0000 |
---|---|---|
committer | allen <allen@c78560ca-4b45-4335-b268-5f3340f3cb52> | 1999-04-01 18:06:40 +0000 |
commit | ccc04ccf3b80a200cb5dda5018c13892963e562d (patch) | |
tree | ddb8ffca3953f39bdcf63c6f45874a3292e8c14e /src | |
parent | c17150f41edb485233d890673b29294063d2b315 (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.F | 102 |
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)), |