boundary_state_reconstruction Module

Reconstruct the boundary face in case of 4th and 5th order higher order face state reconstruction method. Since the limited information is available at the boundaries, the boundary face is limiter to 3rd order accurate and is reconstructed using MUSCL Scheme even when rest of the domain is using WENO or PPM


Uses

  • module~~boundary_state_reconstruction~~UsesGraph module~boundary_state_reconstruction boundary_state_reconstruction module~face_interpolant face_interpolant module~boundary_state_reconstruction->module~face_interpolant module~vartypes vartypes module~boundary_state_reconstruction->module~vartypes module~face_interpolant->module~vartypes module~ppm ppm module~face_interpolant->module~ppm module~muscl muscl module~face_interpolant->module~muscl module~utils utils module~face_interpolant->module~utils module~weno weno module~face_interpolant->module~weno module~weno_nm weno_NM module~face_interpolant->module~weno_nm iso_fortran_env iso_fortran_env module~vartypes->iso_fortran_env module~ppm->module~vartypes module~muscl->module~vartypes module~weno->module~vartypes module~weno_nm->module~vartypes

Used by

  • module~~boundary_state_reconstruction~~UsedByGraph module~boundary_state_reconstruction boundary_state_reconstruction module~update update module~update->module~boundary_state_reconstruction module~solver solver module~solver->module~update program~main main program~main->module~solver

Contents


Variables

TypeVisibility AttributesNameInitial
integer, private :: ppm_flag =0

Flag to check if reconstruction is required

integer, private :: switch_L =1

Limiter switch

integer, private :: imx
integer, private :: jmx
integer, private :: kmx
integer, private :: n_var

Subroutines

public subroutine reconstruct_boundary_state(qp, control, scheme, bc, dims)

Call reconstruction based on the flag and boundary condition

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var):: qp
type(controltype), intent(in) :: control
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc
type(extent), intent(in) :: dims

private subroutine reconstruct_imin(qp, scheme, bc)

Reconstruct state at the IMIN boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc

private subroutine reconstruct_imax(qp, scheme, bc)

Reconstruct state at the IMAX boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc

private subroutine reconstruct_jmin(qp, scheme, bc)

Reconstruct state at the JMIN boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc

private subroutine reconstruct_jmax(qp, scheme, bc)

Reconstruct state at the JMAX boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc

private subroutine reconstruct_kmin(qp, scheme, bc)

Reconstruct state at the KMIN boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc

private subroutine reconstruct_kmax(qp, scheme, bc)

Reconstruct state at the KMAX boundary face with MUSCL scheme

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:imx+2, -2:jmx+2, -2:kmx+2, 1:n_var):: qp
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc