Convervative compressible object class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8P), | public | :: | density | = | 0._R8P | Density, |
|
| real(kind=R8P), | public | :: | energy | = | 0._R8P | Energy, |
|
| type(vector), | public | :: | momentum | Momentum, |
Overload conservative_compressible name with its constructor.
Return and instance of conservative_compressible.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in), | optional | :: | density | Density, |
|
| type(vector), | intent(in), | optional | :: | momentum | Momentum, |
|
| real(kind=R8P), | intent(in), | optional | :: | energy | Energy, |
Instance of conservative_compressible.
Operator +.
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return serialized array of conservative.
Return serialized array of conservative.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Serialized array of conservative.
Overload =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(inout) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Compute conservative fluxes.
Compute conservative fluxes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
||
| type(vector), | intent(in) | :: | normal | Normal (versor) of face where fluxes are given. |
||
| class(conservative_object), | intent(out) | :: | fluxes | Conservative fluxes. |
Compute conservative fluxes from primitives at interface.
Compute conservative fluxes from primitives at interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(inout) | :: | self | Conservative. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
||
| real(kind=R8P), | intent(in) | :: | p | Pressure at interface. |
||
| real(kind=R8P), | intent(in) | :: | r | Density at interface. |
||
| real(kind=R8P), | intent(in) | :: | u | Velocity (normal component) at interface. |
||
| type(vector), | intent(in) | :: | normal | Normal (versor) of face where fluxes are given. |
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(inout) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator cons / real.
Operator cons / real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator *.
Operator *.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator cons * real.
Operator cons * real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return pretty-printed object description.
Return a pretty-formatted object description.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy conservative.
Destroy conservative.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(inout) | :: | self | Conservative. |
Initialize conservative.
Initialize conservative.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(inout) | :: | self | Conservative. |
||
| class(conservative_object), | intent(in), | optional | :: | initial_state | Initial state. |
Unary operator - cons.
Unary operator - cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Operator result.
Overload *.
Operator *.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator cons * real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator real * cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_compressible), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Overload +.
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Unary operator + cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Operator result.
Overload -.
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Unary operator - cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Operator result.
Overload /.
Operator cons / real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Unary operator + cons.
Unary operator + cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Operator result.
Return pressure value.
Return pressure value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
Pressure value.
Operator real * cons.
Operator real * cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_compressible), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator -.
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return velocity vector.
Return velocity vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_compressible), | intent(in) | :: | self | Conservative. |
Velocity vector.
type, extends(conservative_object) :: conservative_compressible
!< Convervative compressible object class.
real(R8P) :: density=0._R8P !< Density, `rho`.
type(vector) :: momentum !< Momentum, `rho * v`, `rho` being the density and `v` the velocity vector.
real(R8P) :: energy=0._R8P !< Energy, `rho * E`, `rho` being the density and `E` the specific energy.
contains
! public methods
procedure, pass(self) :: compute_fluxes_from_primitive !< Compute conservative fluxes from primitives at interface.
! deferred methods
procedure, pass(self) :: array !< Return serialized array of conservative.
procedure, pass(self) :: compute_fluxes !< Compute conservative fluxes.
procedure, pass(self) :: description !< Return pretty-printed object description.
procedure, pass(self) :: destroy !< Destroy conservative.
procedure, pass(self) :: initialize !< Initialize conservative.
procedure, pass(self) :: pressure !< Return pressure value.
procedure, pass(self) :: velocity !< Return velocity vector.
procedure, pass(lhs) :: cons_assign_cons !< Operator `=`.
procedure, pass(lhs) :: cons_divide_real !< Operator `cons / real`.
procedure, pass(lhs) :: cons_multiply_real !< Operator `cons * real`.
procedure, pass(lhs) :: cons_multiply_cons !< Operator `*`.
procedure, pass(rhs) :: real_multiply_cons !< Operator `real * cons`.
procedure, pass(lhs) :: add !< Operator `+`.
procedure, pass(self) :: positive !< Unary operator `+ cons`.
procedure, pass(lhs) :: sub !< Operator `-`.
procedure, pass(self) :: negative !< Unary operator `- cons`.
endtype conservative_compressible