setup_scheme Subroutine

public subroutine setup_scheme(residue, F, G, H, control, dims)

Arguments

Type IntentOptional AttributesName
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


Calls

proc~~setup_scheme~~CallsGraph proc~setup_scheme setup_scheme interface~alloc alloc proc~setup_scheme->interface~alloc proc~setup_interpolant_scheme setup_interpolant_scheme proc~setup_scheme->proc~setup_interpolant_scheme proc~alloc_rank2_real alloc_rank2_real interface~alloc->proc~alloc_rank2_real proc~alloc_rank4_real alloc_rank4_real interface~alloc->proc~alloc_rank4_real proc~alloc_rank3_real alloc_rank3_real interface~alloc->proc~alloc_rank3_real proc~alloc_rank2_integer alloc_rank2_integer interface~alloc->proc~alloc_rank2_integer proc~alloc_rank1_integer alloc_rank1_integer interface~alloc->proc~alloc_rank1_integer proc~alloc_rank6_real alloc_rank6_real interface~alloc->proc~alloc_rank6_real proc~alloc_rank5_real alloc_rank5_real interface~alloc->proc~alloc_rank5_real proc~alloc_rank3_integer alloc_rank3_integer interface~alloc->proc~alloc_rank3_integer proc~alloc_rank1_real alloc_rank1_real interface~alloc->proc~alloc_rank1_real proc~setup_interpolant_scheme->interface~alloc

Called by

proc~~setup_scheme~~CalledByGraph proc~setup_scheme setup_scheme proc~setup_solver setup_solver proc~setup_solver->proc~setup_scheme proc~start_run start_run proc~start_run->proc~setup_solver program~main main program~main->proc~start_run

Contents

Source Code


Source Code

        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