Compressible Riemann (states) PVL pattern object class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| 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. |
Overload =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(inout) | :: | lhs | Left hand side. |
||
| class(riemann_pattern_object), | intent(in) | :: | rhs | Right hand side. |
Compute fluxes at interface x=xo.
Compute fluxes at initial discontinuity interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(in) | :: | self | Riemann (states) pattern solution. |
||
| type(vector), | intent(in) | :: | normal | Normal (versor) of face where fluxes are given. |
||
| class(conservative_object), | intent(inout) | :: | fluxes | Fluxes at initial discontinuity interface. |
Compute interstates 2 and 3 given veloctiy S=u23.
Compute interstates 2 and 3 given (an approximation of) veloctiy S=u23.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(inout) | :: | self | Riemann (states) pattern solution. |
||
| real(kind=R8P), | intent(out) | :: | p_2 | Pressure of state 2. |
||
| real(kind=R8P), | intent(out) | :: | p_3 | Pressure of state 3. |
Compute interstates velocity.
Compute interstates velocity.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_pvl), | intent(inout) | :: | self | Riemann (states) pattern solution. |
Compute interstates velocity and pressure.
Compute interstates velocity and pressure.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_pvl), | intent(inout) | :: | self | Riemann (states) pattern solution. |
Compute waves speed.
Compute waves speed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_pvl), | intent(inout) | :: | self | Riemann (states) pattern solution. |
Compute waves speed by u23 algorithm.
Compute waves speed u23 algorithm.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_pvl), | intent(inout) | :: | self | Riemann (states) pattern solution. |
Compute waves speed by up23 algorithm.
Compute waves speed u23 algorithm.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_pvl), | intent(inout) | :: | self | Riemann (states) pattern solution. |
Return pretty-printed object description.
Return a pretty-formatted object description.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(in) | :: | self | Riemann pattern. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Initialize pattern with left and right states.
Initialize pattern with left and right states.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(inout) | :: | self | Riemann (states) pattern solution. |
||
| class(eos_object), | intent(in) | :: | eos_left | Equation of state for left state. |
||
| class(conservative_object), | intent(in) | :: | state_left | Left Riemann state. |
||
| class(eos_object), | intent(in) | :: | eos_right | Equation of state for right state. |
||
| class(conservative_object), | intent(in) | :: | state_right | Right Riemann state. |
||
| type(vector), | intent(in) | :: | normal | Normal (versor) of face where fluxes are given. |
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(riemann_pattern_compressible_object), | intent(inout) | :: | lhs | Left hand side. |
||
| class(riemann_pattern_object), | intent(in) | :: | rhs | Right hand side. |
type, extends(riemann_pattern_compressible_object) :: riemann_pattern_compressible_pvl
!< Compressible Riemann (states) PVL pattern object class.
procedure(compute_waves_interface), pointer :: compute_waves_ => compute_waves_up23 !< Compute waves speed.
contains
procedure, pass(self) :: compute_waves !< Compute waves speed.
! private methods
procedure, pass(self), private :: compute_u23 !< Compute interstates velocity.
procedure, pass(self), private :: compute_up23 !< Compute interstates velocity and pressure.
procedure, pass(self), private :: compute_waves_u23 !< Compute waves speed by `u23` algorithm.
procedure, pass(self), private :: compute_waves_up23 !< Compute waves speed by `up23` algorithm.
endtype riemann_pattern_compressible_pvl