off_non_dimensional_numbers_object Module

module~~off_non_dimensional_numbers_object~~UsesGraph module~off_non_dimensional_numbers_object off_non_dimensional_numbers_object module~off_error_object off_error_object module~off_error_object->module~off_non_dimensional_numbers_object finer finer finer->module~off_non_dimensional_numbers_object penf penf penf->module~off_non_dimensional_numbers_object penf->module~off_error_object iso_fortran_env iso_fortran_env iso_fortran_env->module~off_error_object
Help

OFF non dimensional numbers object definition and implementation.

Used By

module~~off_non_dimensional_numbers_object~~UsedByGraph module~off_non_dimensional_numbers_object off_non_dimensional_numbers_object module~off_simulation_object off_simulation_object module~off_non_dimensional_numbers_object->module~off_simulation_object module~off_objects off_objects module~off_non_dimensional_numbers_object->module~off_objects module~off_simulation_object->module~off_objects program~off_test_save_load_file_parameters off_test_save_load_file_parameters module~off_objects->program~off_test_save_load_file_parameters program~off_test_load_file_parameters off_test_load_file_parameters module~off_objects->program~off_test_load_file_parameters program~off_test_save_load_file_grid off_test_save_load_file_grid module~off_objects->program~off_test_save_load_file_grid
Help


Variables

TypeVisibility AttributesNameInitial
character(len=23), private, parameter:: INI_SECTION_NAME ='non_dimensional_numbers'

INI (config) file section name containing the values of non dimensional numbers.


Derived Types

Non dimensional numbers object class.

Components

TypeVisibility AttributesNameInitial
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.

Type-Bound Procedures

procedure, public, pass(lhs) :: adim_assign_adim

Operator =.

generic, public :: assignment(=) => adim_assign_adim

Overload =.

procedure, public, pass(self) :: compute_reference_values

Compute derived reference values.

procedure, public, pass(self) :: description

Return a pretty-formatted description of the numbers.

procedure, public, pass(self) :: destroy

Destroy numbers value.

procedure, public, pass(self) :: initialize

Initialize numbers value.

procedure, public, pass(self) :: load_from_file

Load from file.

procedure, public, pass(self) :: save_into_file

Save into file.


Functions

private pure function description(self, prefix) result(desc)

Return a pretty-formatted description of the numbers.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(in) :: self

Non dimensional numbers.

character(len=*), intent(in), optional :: prefix

Prefixing string.

Return Value character(len=:), allocatable

Description.


Subroutines

private pure subroutine adim_assign_adim(lhs, rhs)

Operator =.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(inout) :: lhs

Left hand side.

type(non_dimensional_numbers_object), intent(in) :: rhs

Right hand side.

private elemental subroutine compute_reference_values(self)

Compute derived reference values.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(inout) :: self

Non dimensional numbers.

private elemental subroutine destroy(self)

Destroy numbers value.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(inout) :: self

Non dimensional numbers.

private elemental subroutine initialize(self)

Initialize numbers value.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(inout) :: self

Non dimensional numbers.

private subroutine load_from_file(self, fini, go_on_fail)

Load from file.

Arguments

Type IntentOptional AttributesName
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.

private subroutine save_into_file(self, fini)

Save into file.

Arguments

Type IntentOptional AttributesName
class(non_dimensional_numbers_object), intent(inout) :: self

Simulation parameters.

type(file_ini), intent(inout) :: fini

Simulation parameters ini file handler.