Changeset 3182 for palm/trunk/UTIL/inifor/tests/test-grid.f90
- Timestamp:
- Jul 27, 2018 1:36:03 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/UTIL/inifor/tests/test-grid.f90
r2718 r3182 21 21 ! Current revisions: 22 22 ! ----------------- 23 ! Updated test for new PALM grid strechting 23 24 ! 24 25 ! … … 41 42 PROGRAM test_grid 42 43 43 USE grid, ONLY : grid_definition, init_grid_definition 44 USE grid, ONLY : grid_definition, init_grid_definition, dx, dy, dz 44 45 USE test_utils 45 46 … … 49 50 LOGICAL :: res 50 51 51 TYPE(grid_definition) :: mygrid 52 INTEGER :: i 53 INTEGER, PARAMETER :: nx = 9, ny = 19, nz = 29 54 REAL, PARAMETER :: lx = 100., ly = 200., lz = 300. 55 REAL, DIMENSION(0:nx) :: x, xu 56 REAL, DIMENSION(0:ny) :: y, yv 57 REAL, DIMENSION(0:nz) :: z, zw 52 TYPE(grid_definition) :: mygrid 53 INTEGER :: i 54 INTEGER, PARAMETER :: nx = 9, ny = 19, nz = 29 55 REAL, PARAMETER :: lx = 100., ly = 200., lz = 300. 56 REAL, DIMENSION(0:nx) :: x, xu 57 REAL, DIMENSION(0:ny) :: y, yv 58 REAL, DIMENSION(1:nz) :: z 59 REAL, DIMENSION(1:nz-1) :: zw 58 60 59 61 CALL begin_test(title, res) 60 62 61 63 ! Arange 64 dx = lx / (nx + 1) 65 DO i = 0, nx 66 xu(i) = real(i) / (nx+1) * lx 67 x(i) = 0.5*dx + xu(i) 68 END DO 69 70 dy = ly / (ny + 1) 71 DO i = 0, ny 72 yv(i) = real(i) / (ny+1) * ly 73 y(i) = 0.5*dy + yv(i) 74 END DO 75 76 dz(:) = lz / (nz + 1) 77 DO i = 1, nz 78 IF (i < nz) zw(i) = real(i) / (nz+1) * lz 79 z(i) = 0.5*dz(1) + zw(i) 80 END DO 81 82 ! Act 62 83 CALL init_grid_definition('palm', grid = mygrid, & 63 84 xmin = 0., xmax = lx, & 64 85 ymin = 0., ymax = ly, & 65 zmin = 0., zmax = lz, &66 86 x0 = 0.0, y0 = 0.0, z0 = 0.0, & 67 nx = nx, ny = ny, nz = nz) 68 69 ! Act 70 DO i = 0, nx 71 xu(i) = real(i) / (nx+1) * lx 72 x(i) = 0.5*mygrid%dx + xu(i) 73 END DO 74 DO i = 0, ny 75 yv(i) = real(i) / (ny+1) * ly 76 y(i) = 0.5*mygrid%dy + yv(i) 77 END DO 78 DO i = 0, nz 79 zw(i) = real(i) / (nz+1) * lz 80 z(i) = 0.5*mygrid%dz + zw(i) 81 END DO 87 nx = nx, ny = ny, nz = nz, & 88 z = z, zw = zw) 82 89 83 90 ! Assert coordinates match … … 85 92 res = res .AND. assert_equal(xu(1:), mygrid%xu, "xu") 86 93 res = res .AND. assert_equal(y, mygrid%y, "y" ) 87 res = res .AND. assert_equal(yv(1:), mygrid%yv, "y u")94 res = res .AND. assert_equal(yv(1:), mygrid%yv, "yv") 88 95 res = res .AND. assert_equal(z, mygrid%z, "z" ) 89 res = res .AND. assert_equal(zw(1:), mygrid%zw, "z u")96 res = res .AND. assert_equal(zw(1:), mygrid%zw, "zw") 90 97 91 98 CALL end_test(title, res)
Note: See TracChangeset
for help on using the changeset viewer.