Non dimensional numbers object class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8P), | public | :: | Dt0 | = | 1._R8P | \(Dt_0=\frac{L_0}{v_0}\) Reference time interval. |
|
| real(kind=R8P), | public | :: | E0 | = | 1._R8P | \(E_0=v_0^2\) Reference specific energy. |
|
| real(kind=R8P), | public | :: | Fr | = | 1._R8P | \(\rm{Fr}=\sqrt{\frac{v_0^2}{f_0 L_0}}\) Froude number. |
|
| real(kind=R8P), | public | :: | Fr2_inv | = | 1._R8P | \(\frac{1}{\rm{Fr}^2}\) Inverse of square of Froude number (coefficient of volume forces). |
|
| real(kind=R8P), | public | :: | L0 | = | 1._R8P | Reference length. |
|
| real(kind=R8P), | public | :: | Ma | = | 1._R8P | \(\rm{We}=\sqrt{\frac{v_0}{a_0}}\) Mach number. |
|
| real(kind=R8P), | public | :: | Pr | = | 1._R8P | \(\rm{Pr}=\frac{\mu_0 c_p}{k_0}\) Prandtl number. |
|
| real(kind=R8P), | public | :: | PrRe_inv | = | 1._R8P | \(\frac{1}{\rm{Pr Re}}\) Inverse of Prandtl and Reynolds numbers (coef. of condution terms). |
|
| real(kind=R8P), | public | :: | Re | = | 1._R8P | \(\rm{Re}=\frac{\rho_0 v_0 L_0}{\mu_0}\) Reynolds number. |
|
| real(kind=R8P), | public | :: | Re_inv | = | 1._R8P | \(\frac{1}{\rm{Re}}\) Inverse of Reynolds number (coefficient of viscous terms). |
|
| real(kind=R8P), | public | :: | T0 | = | 1._R8P | \(T_0=\frac{v_0^2}{c_0}\) Reference temperature. |
|
| real(kind=R8P), | public | :: | We | = | 1._R8P | \(\rm{We}=\sqrt{\frac{\rho_0 v_0^2 L_0}{\sigma_0}}\) Weber number. |
|
| real(kind=R8P), | public | :: | a0 | = | 1._R8P | \(a_0=v_0\) Reference speed of sound. |
|
| real(kind=R8P), | public | :: | c0 | = | 1._R8P | Reference specific heats (\f$cp_0 = cv_0 = R_0 = c_0\f$). |
|
| type(error_object), | public | :: | error | Errors handler. |
|||
| real(kind=R8P), | public | :: | f0 | = | 1._R8P | \(f_0= \frac{v_0^2}{L_0 \rm{Fr}^2}\) Reference specific force. |
|
| real(kind=R8P), | public | :: | k0 | = | 1._R8P | \(k_0= \frac{\mu_0 c_0}{\rm{Pr}}\) Reference thermal conductivity coefficient. |
|
| real(kind=R8P), | public | :: | mu0 | = | 1._R8P | \(\mu_0= \frac{\rho_0 v_0 L_0}{\rm{Re}}\) Reference dynamic viscosity. |
|
| real(kind=R8P), | public | :: | p0 | = | 1._R8P | \(p_0=\rho_0 v_0^2\) Reference pressure. |
|
| real(kind=R8P), | public | :: | q0 | = | 1._R8P | \(q_0=\frac{v_0^3}{L_0}\) Reference specific heat. |
|
| real(kind=R8P), | public | :: | r0 | = | 1._R8P | Reference density. |
|
| real(kind=R8P), | public | :: | v0 | = | 1._R8P | Reference velocity. |
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | lhs | Left hand side. |
||
| type(non_dimensional_numbers_object), | intent(in) | :: | rhs | Right hand side. |
Overload =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | lhs | Left hand side. |
||
| type(non_dimensional_numbers_object), | intent(in) | :: | rhs | Right hand side. |
Compute derived reference values.
Compute derived reference values.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | self | Non dimensional numbers. |
Return a pretty-formatted description of the numbers.
Return a pretty-formatted description of the numbers.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(in) | :: | self | Non dimensional numbers. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy numbers value.
Destroy numbers value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | self | Non dimensional numbers. |
Initialize numbers value.
Initialize numbers value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | self | Non dimensional numbers. |
Load from file.
Load from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | self | Non dimensional numbers. |
||
| type(file_ini), | intent(in) | :: | fini | Simulation parameters ini file handler. |
||
| logical, | intent(in), | optional | :: | go_on_fail | Go on if load fails. |
Save into file.
Save into file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(non_dimensional_numbers_object), | intent(inout) | :: | self | Simulation parameters. |
||
| type(file_ini), | intent(inout) | :: | fini | Simulation parameters ini file handler. |
type :: non_dimensional_numbers_object
!< Non dimensional numbers object class.
type(error_object) :: error !< Errors handler.
! non dimensional numbers imposed
real(R8P) :: Re=1._R8P !< \(\rm{Re}=\frac{\rho_0 v_0 L_0}{\mu_0}\) Reynolds number.
real(R8P) :: Fr=1._R8P !< \(\rm{Fr}=\sqrt{\frac{v_0^2}{f_0 L_0}}\) Froude number.
real(R8P) :: We=1._R8P !< \(\rm{We}=\sqrt{\frac{\rho_0 v_0^2 L_0}{\sigma_0}}\) Weber number.
real(R8P) :: Ma=1._R8P !< \(\rm{We}=\sqrt{\frac{v_0}{a_0}}\) Mach number.
real(R8P) :: Pr=1._R8P !< \(\rm{Pr}=\frac{\mu_0 c_p}{k_0}\) Prandtl number.
! reference values imposed
real(R8P) :: L0=1._R8P !< Reference length.
real(R8P) :: r0=1._R8P !< Reference density.
real(R8P) :: v0=1._R8P !< Reference velocity.
real(R8P) :: c0=1._R8P !< Reference specific heats (\f$cp_0 = cv_0 = R_0 = c_0\f$).
! derived reference values
real(R8P) :: mu0=1._R8P !< \(\mu_0= \frac{\rho_0 v_0 L_0}{\rm{Re}}\) Reference dynamic viscosity.
real(R8P) :: f0 =1._R8P !< \(f_0= \frac{v_0^2}{L_0 \rm{Fr}^2}\) Reference specific force.
real(R8P) :: k0 =1._R8P !< \(k_0= \frac{\mu_0 c_0}{\rm{Pr}}\) Reference thermal conductivity coefficient.
real(R8P) :: Dt0=1._R8P !< \(Dt_0=\frac{L_0}{v_0}\) Reference time interval.
real(R8P) :: p0 =1._R8P !< \(p_0=\rho_0 v_0^2\) Reference pressure.
real(R8P) :: a0 =1._R8P !< \(a_0=v_0\) Reference speed of sound.
real(R8P) :: T0 =1._R8P !< \(T_0=\frac{v_0^2}{c_0}\) Reference temperature.
real(R8P) :: E0 =1._R8P !< \(E_0=v_0^2\) Reference specific energy.
real(R8P) :: q0 =1._R8P !< \(q_0=\frac{v_0^3}{L_0}\) Reference specific heat.
! equations coefficients
real(R8P) :: Re_inv=1._R8P !< \(\frac{1}{\rm{Re}}\) Inverse of Reynolds number (coefficient of viscous terms).
real(R8P) :: Fr2_inv=1._R8P !< \(\frac{1}{\rm{Fr}^2}\) Inverse of square of Froude number (coefficient of volume forces).
real(R8P) :: PrRe_inv=1._R8P !< \(\frac{1}{\rm{Pr Re}}\) Inverse of Prandtl and Reynolds numbers (coef. of condution terms).
contains
! public methods
procedure, pass(self) :: compute_reference_values !< Compute derived reference values.
procedure, pass(self) :: description !< Return a pretty-formatted description of the numbers.
procedure, pass(self) :: destroy !< Destroy numbers value.
procedure, pass(self) :: initialize !< Initialize numbers value.
procedure, pass(self) :: load_from_file !< Load from file.
procedure, pass(self) :: save_into_file !< Save into file.
! operators
generic :: assignment(=) => adim_assign_adim !< Overload `=`.
! private methods
procedure, pass(lhs) :: adim_assign_adim !< Operator `=`.
endtype non_dimensional_numbers_object