Define the abstract primitive compressible state of a Riemann Problem for FORESEER library.
Overload primitive_compressible name with its constructor.
Return and instance of primitive_compressible.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in), | optional | :: | density | Density, |
|
| type(vector), | intent(in), | optional | :: | velocity | Velocity, |
|
| real(kind=R8P), | intent(in), | optional | :: | pressure | Pressure, |
Instance of primitive_compressible.
Convervative compressible object class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8P), | public | :: | density | = | 0._R8P | Density, |
|
| real(kind=R8P), | public | :: | pressure | = | 0._R8P | Pressure, |
|
| type(vector), | public | :: | velocity | Velocity, |
Overload primitive_compressible name with its constructor.
| private elemental function primitive_compressible_instance(density, velocity, pressure) | Return and instance of primitive_compressible. |
| procedure, public, pass(lhs) :: add | Operator |
| procedure, public, pass(self) :: array | Return serialized array of primitive. |
| generic, public :: assignment(=) => prim_assign_prim | Overload |
| procedure, public, pass(self) :: description | Return pretty-printed object description. |
| procedure, public, pass(self) :: destroy | Destroy primitive. |
| procedure, public, pass(self) :: energy | Return energy value. |
| procedure, public, pass(self) :: initialize | Initialize primitive. |
| procedure, public, pass(self) :: left_eigenvectors | Return the left eigenvectors matrix |
| procedure, public, pass(self) :: momentum | Return momentum vector. |
| procedure, public, pass(self) :: negative | Unary operator |
| generic, public :: operator(*) => prim_multiply_prim, prim_multiply_real, real_multiply_prim | Overload |
| generic, public :: operator(+) => add, positive | Overload |
| generic, public :: operator(-) => sub, negative | Overload |
| generic, public :: operator(/) => prim_divide_real | Overload |
| procedure, public, pass(self) :: positive | Unary operator |
| procedure, public, pass(lhs) :: prim_assign_prim | Operator |
| procedure, public, pass(lhs) :: prim_divide_real | Operator |
| procedure, public, pass(lhs) :: prim_multiply_prim | Operator |
| procedure, public, pass(lhs) :: prim_multiply_real | Operator |
| procedure, public, pass(rhs) :: real_multiply_prim | Operator |
| procedure, public, pass(self) :: right_eigenvectors | Return the right eigenvectors matrix |
| procedure, public, pass(lhs) :: sub | Operator |
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(primitive_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return serialized array of primitive.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
Serialized array of primitive.
Return a pretty-formatted object description.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Return energy value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
Energy value.
Return the left eigenvectors matrix L as dF/dP = A = R ^ L.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
Eigenvectors.
Return momentum vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
Momentum vector.
Unary operator - prim.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
Operator result.
Unary operator + prim.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
Operator result.
Operator prim / real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator *.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(primitive_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator prim * real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return and instance of primitive_compressible.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in), | optional | :: | density | Density, |
|
| type(vector), | intent(in), | optional | :: | velocity | Velocity, |
|
| real(kind=R8P), | intent(in), | optional | :: | pressure | Pressure, |
Instance of primitive_compressible.
Return primitive_compressible pointer associated to primitive_object or its extensions until primitive_compressible included.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_object), | intent(in), | target | :: | to | Target of associate. |
|
| character(len=*), | intent(in), | optional | :: | error_message | Auxiliary error message. |
Associated pointer.
Operator real * prim.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in) | :: | lhs | Left hand side. |
||
| class(primitive_compressible), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Return the right eigenvectors matrix R as dF/dP = A = R ^ L.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | self | Primitive. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
Eigenvectors.
Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(primitive_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Destroy primitive.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(inout) | :: | self | Primitive. |
Initialize primitive.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(inout) | :: | self | Primitive. |
||
| class(primitive_object), | intent(in), | optional | :: | initial_state | Initial state. |
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(inout) | :: | lhs | Left hand side. |
||
| class(primitive_object), | intent(in) | :: | rhs | Right hand side. |