Equation of State (EOS) object class.
Return fluid constant R=cp-cv.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Overload =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_compressible), | intent(inout) | :: | lhs | Left hand side. |
||
| class(eos_object), | intent(in) | :: | rhs | Right hand side. |
Return specific heat at constant pressure.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return specific heat at constant volume.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return (gamma - 1) / 2.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return density.
Return density.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| real(kind=R8P), | intent(in), | optional | :: | energy | Specific internal energy value. |
|
| real(kind=R8P), | intent(in), | optional | :: | pressure | Pressure value. |
|
| real(kind=R8P), | intent(in), | optional | :: | speed_of_sound | Speed of sound value. |
|
| real(kind=R8P), | intent(in), | optional | :: | temperature | Temperature value. |
Density value.
Return pretty-printed object description.
Return a pretty-formatted object description.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Return specific internal energy.
Return specific internal energy.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| real(kind=R8P), | intent(in), | optional | :: | density | Density value. |
|
| real(kind=R8P), | intent(in), | optional | :: | pressure | Pressure value. |
|
| real(kind=R8P), | intent(in), | optional | :: | temperature | Temperature value. |
Energy value.
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(inout) | :: | lhs | Left hand side. |
||
| class(eos_object), | intent(in) | :: | rhs | Right hand side. |
Return 2 * gamma / (gamma - 1).
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return specific heats ratio gamma=cp/cv.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return gamma - 1.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return gamma + 1.
Return a scalar real value by only self data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
Scalar value.
Return pressure.
Return pressure.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| real(kind=R8P), | intent(in), | optional | :: | density | Density value. |
|
| real(kind=R8P), | intent(in), | optional | :: | energy | Specific internal energy value. |
|
| real(kind=R8P), | intent(in), | optional | :: | temperature | Temperature value. |
Pressure value.
Return speed of sound.
Return speed of sound.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| real(kind=R8P), | intent(in) | :: | density | Density value. |
||
| real(kind=R8P), | intent(in) | :: | pressure | Pressure value. |
Speed of sound value.
Return temperature.
Return temperature.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eos_object), | intent(in) | :: | self | Equation of state. |
||
| real(kind=R8P), | intent(in), | optional | :: | density | Density value. |
|
| real(kind=R8P), | intent(in), | optional | :: | energy | Specific internal energy value. |
|
| real(kind=R8P), | intent(in), | optional | :: | pressure | Pressure value. |
Temperature value.
type, abstract :: eos_object
!< Equation of State (EOS) object class.
contains
! deferred methods
procedure(scalar_interface), pass(self), deferred :: cp !< Return specific heat at constant pressure.
procedure(scalar_interface), pass(self), deferred :: cv !< Return specific heat at constant volume.
procedure(density_interface), pass(self), deferred :: density !< Return density.
procedure(scalar_interface), pass(self), deferred :: delta !< Return `(gamma - 1) / 2`.
procedure(description_interface), pass(self), deferred :: description !< Return pretty-printed object description.
procedure(energy_interface), pass(self), deferred :: energy !< Return specific internal energy.
procedure(assignment_interface), pass(lhs), deferred :: eos_assign_eos !< Operator `=`.
procedure(scalar_interface), pass(self), deferred :: eta !< Return `2 * gamma / (gamma - 1)`.
procedure(scalar_interface), pass(self), deferred :: g !< Return specific heats ratio `gamma=cp/cv`.
procedure(scalar_interface), pass(self), deferred :: gm1 !< Return `gamma - 1`.
procedure(scalar_interface), pass(self), deferred :: gp1 !< Return `gamma + 1`.
procedure(pressure_interface), pass(self), deferred :: pressure !< Return pressure.
procedure(scalar_interface), pass(self), deferred :: R !< Return fluid constant `R=cp-cv`.
procedure(speed_of_sound_interface), pass(self), deferred :: speed_of_sound !< Return speed of sound.
procedure(temperature_interface), pass(self), deferred :: temperature !< Return temperature.
! operators
generic :: assignment(=) => eos_assign_eos !< Overload `=`.
endtype eos_object