Solver object class.
Class designed to handle the general solver models parameters.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8P), | public | :: | artificial_viscosity | = | 0._R8P | Artifiical viscosity. |
|
| real(kind=R8P), | public | :: | chimera_forcing | = | 0._R8P | Chimera forcing coefficient. |
|
| character(len=:), | public, | allocatable | :: | convective_operator | Convective operator model: tvd, eno3, weno3(5-17)… |
||
| character(len=:), | public, | allocatable | :: | diffusive_operator | Diffusive operator model: centered2(4-10)… |
||
| type(error_object), | public | :: | error | Errors handler. |
|||
| real(kind=R8P), | public | :: | pseudo_compressibility | = | 0._R8P | Pseudo compressibility. |
|
| real(kind=R8P), | public | :: | residuals_tolerance | = | 0._R8P | Tolerance on residuals value. |
|
| character(len=:), | public, | allocatable | :: | time_integrator | Time integrator model: euler, rk2(3-10), ab2(3-12)… |
||
| character(len=:), | public, | allocatable | :: | turbulence_model | Turbulence_model: k-e, k-w, less… |
Overload =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(inout) | :: | lhs | Left hand side. |
||
| type(solver_object), | intent(in) | :: | rhs | Right hand side. |
Return a pretty-formatted description of solver parameters.
Return a pretty-formatted description of solver parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(in) | :: | self | Solver object. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy solver.
Destroy solver.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(inout) | :: | self | Solver object. |
Initialize solver.
Initialize solver.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(inout) | :: | self | Solver object. |
Load from file.
Load from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(inout) | :: | self | Solver object. |
||
| 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(solver_object), | intent(inout) | :: | self | Solver object. |
||
| type(file_ini), | intent(inout) | :: | fini | Simulation parameters ini file handler. |
Operator =.
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_object), | intent(inout) | :: | lhs | Left hand side. |
||
| type(solver_object), | intent(in) | :: | rhs | Right hand side. |
type :: solver_object
!< Solver object class.
!<
!< Class designed to handle the general solver models parameters.
type(error_object) :: error !< Errors handler.
character(len=:), allocatable :: time_integrator !< Time integrator model: euler, rk2(3-10), ab2(3-12)...
character(len=:), allocatable :: convective_operator !< Convective operator model: tvd, eno3, weno3(5-17)...
character(len=:), allocatable :: diffusive_operator !< Diffusive operator model: centered2(4-10)...
character(len=:), allocatable :: turbulence_model !< Turbulence_model: k-e, k-w, less...
real(R8P) :: artificial_viscosity=0._R8P !< Artifiical viscosity.
real(R8P) :: residuals_tolerance=0._R8P !< Tolerance on residuals value.
real(R8P) :: pseudo_compressibility=0._R8P !< Pseudo compressibility.
real(R8P) :: chimera_forcing=0._R8P !< Chimera forcing coefficient.
contains
! public methods
procedure, pass(self) :: description !< Return a pretty-formatted description of solver parameters.
procedure, pass(self) :: destroy !< Destroy solver.
procedure, pass(self) :: initialize !< Initialize solver.
procedure, pass(self) :: load_from_file !< Load from file.
procedure, pass(self) :: save_into_file !< Save into file.
! operators
generic :: assignment(=) => solver_assign_solver !< Overload `=`.
! private methods
procedure, pass(lhs) :: solver_assign_solver !< Operator `=`.
endtype solver_object