incomp-flame-post/code/m_terms.f90
2019-04-20 00:22:49 +09:00

84 lines
1.6 KiB
Fortran

module m_terms
use m_parameters
use m_arrays
use m_calculate
implicit none
real*8, allocatable, dimension(:,:,:) :: c_auto
real*8, allocatable, dimension(:,:,:) :: fsd_auto
real*8, allocatable, dimension(:,:,:) :: wrate_auto
real*8, allocatable, dimension(:,:,:) :: dx_c_auto
real*8, allocatable, dimension(:,:,:) :: dy_c_auto
real*8, allocatable, dimension(:,:,:) :: dz_c_auto
contains
subroutine m_terms_init
integer :: ierr
allocate(c_auto(nxp,nyp,nzp), stat=ierr) ; c_auto = 0.
allocate(fsd_auto(nxp,nyp,nzp), stat=ierr) ; fsd_auto = 0.
allocate(wrate_auto(nxp,nyp,nzp), stat=ierr) ; wrate_auto = 0.
allocate(dx_c_auto(nxp,nyp,nzp), stat=ierr) ; dx_c_auto = 0.
allocate(dy_c_auto(nxp,nyp,nzp), stat=ierr) ; dy_c_auto = 0.
allocate(dz_c_auto(nxp,nyp,nzp), stat=ierr) ; dz_c_auto = 0.
end subroutine m_terms_init
subroutine m_terms_finalize
deallocate(c_auto)
deallocate(fsd_auto)
deallocate(wrate_auto)
deallocate(dx_c_auto)
deallocate(dy_c_auto)
deallocate(dz_c_auto)
end subroutine m_terms_finalize
subroutine m_terms_calculate_instant
integer :: i, j, k
do k = 1, nzp
do j = 1, nyp
do i = 1, nxp
c_auto(i,j,k) = ( 1.0 - y(i,j,k) )
end do
end do
end do
do k = 1, nzp
do j = 1, nyp
do i = 1, nxp
fsd_auto(i,j,k) = ( sqrt ( ( ( ((dx_c_auto(i,j,k))*(dx_c_auto(i,j,k))) + ((dy_c_auto(i,j,k))*(dy_c_auto(i,j,k))) ) + ((dz_c_auto(i,j,k))*(dz_c_auto(i,j,k))) ) ) )
end do
end do
end do
do k = 1, nzp
do j = 1, nyp
do i = 1, nxp
wrate_auto(i,j,k) = ( rxn_rate ( c_auto(i,j,k) ) )
end do
end do
end do
end subroutine m_terms_calculate_instant
end module m_terms