83 lines
1.1 KiB
Fortran
83 lines
1.1 KiB
Fortran
program test_calculate
|
|
|
|
use m_parameters
|
|
|
|
use m_calculate
|
|
|
|
implicit none
|
|
|
|
real*8, allocatable, dimension(:,:,:) :: aaa,bbb,ccc,ddd
|
|
|
|
integer :: ierr
|
|
|
|
real*8 :: xx,yy,zz
|
|
|
|
integer :: i,j,k
|
|
|
|
nxp = 512
|
|
nyp = 256
|
|
nzp = 256
|
|
|
|
l_0 = 2.0
|
|
hyp=l_0*pi/REAL(nyp)
|
|
hxp=hyp
|
|
hzp=hyp
|
|
|
|
allocate(aaa(nxp, nyp, nzp), stat=ierr)
|
|
allocate(bbb(nxp, nyp, nzp), stat=ierr)
|
|
allocate(ccc(nxp, nyp, nzp), stat=ierr)
|
|
allocate(ddd(nxp, nyp, nzp), stat=ierr)
|
|
|
|
|
|
call m_calculate_init
|
|
|
|
|
|
do k = 1,nzp
|
|
do j = 1,nyp
|
|
do i = 1,nxp
|
|
|
|
xx = i * hxp
|
|
yy = j * hyp
|
|
zz = k * hzp
|
|
|
|
aaa(i,j,k) = sin(2.0 * xx) * sin(3.0 * yy) * sin(4.0 * zz)
|
|
|
|
end do
|
|
end do
|
|
end do
|
|
|
|
write(*,*) minval(aaa), maxval(aaa)
|
|
|
|
|
|
call ddx(bbb, aaa)
|
|
write(*,*) minval(bbb), maxval(bbb)
|
|
|
|
call ddy(ccc, aaa)
|
|
write(*,*) minval(ccc), maxval(ccc)
|
|
|
|
call ddz(ddd, aaa)
|
|
write(*,*) minval(ddd), maxval(ddd)
|
|
|
|
|
|
|
|
|
|
call d2dx(bbb, aaa)
|
|
write(*,*) minval(bbb), maxval(bbb)
|
|
|
|
call d2dy(ccc, aaa)
|
|
write(*,*) minval(ccc), maxval(ccc)
|
|
|
|
call d2dz(ddd, aaa)
|
|
write(*,*) minval(ddd), maxval(ddd)
|
|
|
|
|
|
|
|
call m_calculate_finalize
|
|
|
|
|
|
deallocate(aaa)
|
|
deallocate(bbb)
|
|
deallocate(ccc)
|
|
deallocate(ddd)
|
|
|
|
end program
|