nonreflecting_ghost Subroutine

private subroutine nonreflecting_ghost(state, side, q_wall, q_penult, q_ghost, no_write)

'nonreflecting' ghost: characteristic (LODI/Thompson) non-reflecting BC.

Two variants are selected by nrbc_mode: 'pressure' (isentropic pressure-relaxation) and 'characteristic' (full LODI characteristic targeting). Each retains its exact per-side ('L'/'R') and per-Mach-regime branches. @p no_write is set .true. for the supersonic-inflow guards that must leave the halo untouched.

See Thompson (1987), J. Comput. Phys. 68, 1-24; Poinsot & Lele (1992), J. Comput. Phys. 101, 104-129.

Arguments

Type IntentOptional Attributes Name
type(solver_state_t), intent(in) :: state
character(len=1), intent(in) :: side
real(kind=wp), intent(in) :: q_wall(3)
real(kind=wp), intent(in) :: q_penult(3)
real(kind=wp), intent(out) :: q_ghost(3)
logical, intent(out) :: no_write