foreseer_riemann_pattern_compressible_pvl Module

module~~foreseer_riemann_pattern_compressible_pvl~~UsesGraph module~foreseer_riemann_pattern_compressible_pvl foreseer_riemann_pattern_compressible_pvl module~foreseer_conservative_object foreseer_conservative_object module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_riemann_pattern_compressible_object foreseer_riemann_pattern_compressible_object module~foreseer_conservative_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_riemann_pattern_object foreseer_riemann_pattern_object module~foreseer_conservative_object->module~foreseer_riemann_pattern_object module~foreseer_conservative_compressible foreseer_conservative_compressible module~foreseer_conservative_object->module~foreseer_conservative_compressible vecfor vecfor vecfor->module~foreseer_riemann_pattern_compressible_pvl vecfor->module~foreseer_conservative_object vecfor->module~foreseer_riemann_pattern_compressible_object vecfor->module~foreseer_riemann_pattern_object vecfor->module~foreseer_conservative_compressible penf penf penf->module~foreseer_riemann_pattern_compressible_pvl penf->module~foreseer_conservative_object penf->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_object foreseer_eos_object penf->module~foreseer_eos_object penf->module~foreseer_conservative_compressible module~foreseer_eos_compressible foreseer_eos_compressible penf->module~foreseer_eos_compressible module~foreseer_riemann_pattern_compressible_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_pvl module~foreseer_eos_object->module~foreseer_conservative_object module~foreseer_eos_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_object->module~foreseer_riemann_pattern_object module~foreseer_eos_object->module~foreseer_conservative_compressible module~foreseer_eos_object->module~foreseer_eos_compressible module~foreseer_riemann_pattern_object->module~foreseer_riemann_pattern_compressible_object module~foreseer_conservative_compressible->module~foreseer_riemann_pattern_compressible_object module~foreseer_eos_compressible->module~foreseer_riemann_pattern_compressible_object iso_fortran_env iso_fortran_env iso_fortran_env->module~foreseer_conservative_compressible iso_fortran_env->module~foreseer_eos_compressible
Help

Define the compressible Riemann (states) PVL pattern for FORESEER library.

Used By

module~~foreseer_riemann_pattern_compressible_pvl~~UsedByGraph module~foreseer_riemann_pattern_compressible_pvl foreseer_riemann_pattern_compressible_pvl module~foreseer_riemann_solver_compressible_exact foreseer_riemann_solver_compressible_exact module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_exact module~foreseer_riemann_solver_compressible_llf foreseer_riemann_solver_compressible_llf module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_llf module~foreseer_riemann_solver_compressible_pvl foreseer_riemann_solver_compressible_pvl module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_pvl module~foreseer foreseer module~foreseer_riemann_pattern_compressible_pvl->module~foreseer module~foreseer_riemann_solver_compressible_roe foreseer_riemann_solver_compressible_roe module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_roe module~foreseer_riemann_solver_compressible_hllc foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_pattern_compressible_pvl->module~foreseer_riemann_solver_compressible_hllc module~foreseer_riemann_solver_compressible_exact->module~foreseer module~foreseer_riemann_solver_compressible_llf->module~foreseer module~foreseer_riemann_solver_compressible_pvl->module~foreseer program~foreseer_test_riemann_solver_compressible_pvl foreseer_test_riemann_solver_compressible_pvl module~foreseer->program~foreseer_test_riemann_solver_compressible_pvl module~foreseer_euler_1d foreseer_euler_1d module~foreseer->module~foreseer_euler_1d program~foreseer_test_conservative_compressible foreseer_test_conservative_compressible module~foreseer->program~foreseer_test_conservative_compressible program~foreseer_test_riemann_solver_compressible_hllc~2 foreseer_test_riemann_solver_compressible_hllc module~foreseer->program~foreseer_test_riemann_solver_compressible_hllc~2 program~foreseer_test_eos_compressible foreseer_test_eos_compressible module~foreseer->program~foreseer_test_eos_compressible program~foreseer_test_shock_tube foreseer_test_shock_tube module~foreseer->program~foreseer_test_shock_tube program~foreseer_test_riemann_solver_compressible_llf foreseer_test_riemann_solver_compressible_llf module~foreseer->program~foreseer_test_riemann_solver_compressible_llf program~foreseer_test_compressible_transformations foreseer_test_compressible_transformations module~foreseer->program~foreseer_test_compressible_transformations program~foreseer_test_riemann_solver_compressible_hllc foreseer_test_riemann_solver_compressible_hllc module~foreseer->program~foreseer_test_riemann_solver_compressible_hllc program~foreseer_test_primitive_compressible foreseer_test_primitive_compressible module~foreseer->program~foreseer_test_primitive_compressible program~foreseer_test_riemann_solver_compressible_roe foreseer_test_riemann_solver_compressible_roe module~foreseer->program~foreseer_test_riemann_solver_compressible_roe module~foreseer_riemann_solver_compressible_roe->module~foreseer module~foreseer_riemann_solver_compressible_hllc->module~foreseer module~foreseer_euler_1d->program~foreseer_test_shock_tube
Help


Abstract Interfaces

abstract interface


Derived Types

Compressible Riemann (states) PVL pattern object class.

Components

TypeVisibility AttributesNameInitial
real(kind=R8P), public :: a_1 =0._R8P

Speed of sound of state 1.

real(kind=R8P), public :: a_2 =0._R8P

Speed of sound of state 2.

real(kind=R8P), public :: a_3 =0._R8P

Speed of sound of state 3.

real(kind=R8P), public :: a_4 =0._R8P

Speed of sound of state 4.

procedure(compute_waves_interface), public, pointer:: compute_waves_=> compute_waves_up23

Compute waves speed.

type(eos_compressible), public :: eos_1

Equation of state 1.

type(eos_compressible), public :: eos_4

Equation of state 4.

real(kind=R8P), public :: p23 =0._R8P

Pressure of intermediate states.

real(kind=R8P), public :: p_1 =0._R8P

Pressure of state 1.

real(kind=R8P), public :: p_4 =0._R8P

Pressure of state 4.

real(kind=R8P), public :: r_1 =0._R8P

Density of state 1.

real(kind=R8P), public :: r_2 =0._R8P

Density of state 2.

real(kind=R8P), public :: r_3 =0._R8P

Density of state 3.

real(kind=R8P), public :: r_4 =0._R8P

Density of state 4.

real(kind=R8P), public :: s_1 =0._R8P

Left-front of left wave.

real(kind=R8P), public :: s_2 =0._R8P

Right-front of left wave.

real(kind=R8P), public :: s_3 =0._R8P

Left-front of right wave.

real(kind=R8P), public :: s_4 =0._R8P

Right-front of right wave.

real(kind=R8P), public :: u23 =0._R8P

Velocity (normal) of intermediate states.

real(kind=R8P), public :: u_1 =0._R8P

Velocity (normal) of state 1.

real(kind=R8P), public :: u_4 =0._R8P

Velocity (normal) of state 4.

Type-Bound Procedures

generic, public :: assignment(=) => rpat_assign_rpat

Overload =.

procedure, public, pass(self) :: compute_fluxes

Compute fluxes at interface x=xo.

procedure, public, pass(self) :: compute_states23_from_u23

Compute interstates 2 and 3 given veloctiy S=u23.

procedure, private, pass(self) :: compute_u23

Compute interstates velocity.

procedure, private, pass(self) :: compute_up23

Compute interstates velocity and pressure.

procedure, public, pass(self) :: compute_waves

Compute waves speed.

procedure, private, pass(self) :: compute_waves_u23

Compute waves speed by u23 algorithm.

procedure, private, pass(self) :: compute_waves_up23

Compute waves speed by up23 algorithm.

procedure, public, pass(self) :: description

Return pretty-printed object description.

procedure, public, pass(self) :: initialize

Initialize pattern with left and right states.

procedure, public, pass(lhs) :: rpat_assign_rpat

Operator =.


Subroutines

private elemental subroutine compute_u23(self)

Compute interstates velocity.

Arguments

Type IntentOptional AttributesName
class(riemann_pattern_compressible_pvl), intent(inout) :: self

Riemann (states) pattern solution.

private elemental subroutine compute_up23(self)

Compute interstates velocity and pressure.

Arguments

Type IntentOptional AttributesName
class(riemann_pattern_compressible_pvl), intent(inout) :: self

Riemann (states) pattern solution.

private pure subroutine compute_waves(self)

Compute waves speed.

Arguments

Type IntentOptional AttributesName
class(riemann_pattern_compressible_pvl), intent(inout) :: self

Riemann (states) pattern solution.

private pure subroutine compute_waves_u23(self)

Compute waves speed u23 algorithm.

Arguments

Type IntentOptional AttributesName
class(riemann_pattern_compressible_pvl), intent(inout) :: self

Riemann (states) pattern solution.

private pure subroutine compute_waves_up23(self)

Compute waves speed u23 algorithm.

Arguments

Type IntentOptional AttributesName
class(riemann_pattern_compressible_pvl), intent(inout) :: self

Riemann (states) pattern solution.