Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(:, :, :, :), allocatable, target | :: | residue | Store residue at each cell-center |
|
real(kind=wp), | intent(out), | dimension(:, :, :, :), allocatable | :: | F | Store fluxes throught the I faces |
|
real(kind=wp), | intent(out), | dimension(:, :, :, :), allocatable | :: | G | Store fluxes throught the J faces |
|
real(kind=wp), | intent(out), | dimension(:, :, :, :), allocatable | :: | H | Store fluxes throught the K faces |
|
type(controltype), | intent(in) | :: | control | Control parameters |
||
type(extent), | intent(in) | :: | dims | extent of the 3D domain |
subroutine setup_scheme(residue, F,G,H, control, dims)
implicit none
type(controltype), intent(in) :: control
!< Control parameters
type(extent), intent(in) :: dims
!< extent of the 3D domain
real(wp), dimension(:, :, :, :), allocatable, intent(out), target :: residue
!< Store residue at each cell-center
real(wp), dimension(:, :, :, :), allocatable, intent(out) :: F
!< Store fluxes throught the I faces
real(wp), dimension(:, :, :, :), allocatable, intent(out) :: G
!< Store fluxes throught the J faces
real(wp), dimension(:, :, :, :), allocatable, intent(out) :: H
!< Store fluxes throught the K faces
imx = dims%imx
jmx = dims%jmx
kmx = dims%kmx
n_var = control%n_var
call setup_interpolant_scheme(dims)
call alloc(F, 1, imx, 1, jmx-1, 1, kmx-1, 1, n_var, &
errmsg='Error: Unable to allocate memory for ' // &
'F - Scheme')
call alloc(G, 1, imx-1, 1, jmx, 1, kmx-1, 1, n_var, &
errmsg='Error: Unable to allocate memory for ' // &
'G - Scheme')
call alloc(H, 1, imx-1, 1, jmx-1, 1, kmx, 1, n_var, &
errmsg='Error: Unable to allocate memory for ' // &
'H - Scheme')
call alloc(residue, 1, imx-1, 1, jmx-1, 1, kmx-1, 1, n_var, &
errmsg='Error: Unable to allocate memory for ' // &
'residue - Scheme')
end subroutine setup_scheme