Convervative object class.
Operator +.
Symmetric operator cons.op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | 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_object), | 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_object), | 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. |
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(inout) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator cons / real.
Operator cons.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator *.
Symmetric operator cons.op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator cons * real.
Operator cons.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | 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_object), | intent(in) | :: | self | Conservative. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy conservative.
Destroy conservative.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(inout) | :: | self | Conservative. |
Initialize conservative.
Initialize conservative.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(inout) | :: | self | Conservative. |
||
| class(conservative_object), | intent(in), | optional | :: | initial_state | Initial state. |
Unary operator - cons.
Unary operator .op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | 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 .op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(in) | :: | self | Conservative. |
Operator result.
Return pressure value.
Return pressure value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | intent(in) | :: | self | Conservative. |
||
| class(eos_object), | intent(in) | :: | eos | Equation of state. |
Pressure value.
Operator real * cons.
Operator real.op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in) | :: | lhs | Left hand side. |
||
| class(conservative_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Operator -.
Symmetric operator cons.op.cons.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(conservative_object), | 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_object), | intent(in) | :: | self | Conservative. |
Velocity vector.
type, abstract :: conservative_object
!< Convervative object class.
contains
! deferred methods
procedure(array_interface), pass(self), deferred :: array !< Return serialized array of conservative.
procedure(compute_fluxes_interface), pass(self), deferred :: compute_fluxes !< Compute conservative fluxes.
procedure(description_interface), pass(self), deferred :: description !< Return pretty-printed object description.
procedure(destroy_interface), pass(self), deferred :: destroy !< Destroy conservative.
procedure(initialize_interface), pass(self), deferred :: initialize !< Initialize conservative.
procedure(pressure_interface), pass(self), deferred :: pressure !< Return pressure value.
procedure(velocity_interface), pass(self), deferred :: velocity !< Return velocity vector.
procedure(assignment_interface), pass(lhs), deferred :: cons_assign_cons !< Operator `=`.
procedure(cons_operator_real), pass(lhs), deferred :: cons_divide_real !< Operator `cons / real`.
procedure(symmetric_operator), pass(lhs), deferred :: cons_multiply_cons !< Operator `*`.
procedure(cons_operator_real), pass(lhs), deferred :: cons_multiply_real !< Operator `cons * real`.
procedure(real_operator_cons), pass(rhs), deferred :: real_multiply_cons !< Operator `real * cons`.
procedure(symmetric_operator), pass(lhs), deferred :: add !< Operator `+`.
procedure(unary_operator), pass(self), deferred :: positive !< Unary operator `+ cons`.
procedure(symmetric_operator), pass(lhs), deferred :: sub !< Operator `-`.
procedure(unary_operator), pass(self), deferred :: negative !< Unary operator `- cons`.
! operators
generic :: assignment(=) => cons_assign_cons !< Overload `=`.
generic :: operator(+) => add, positive !< Overload `+`.
generic :: operator(-) => sub, negative !< Overload `-`.
generic :: operator(*) => cons_multiply_cons, cons_multiply_real, real_multiply_cons !< Overload `*`.
generic :: operator(/) => cons_divide_real !< Overload `/`.
endtype conservative_object