OFF time object definition and implementation.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=4), | private, | parameter | :: | INI_SECTION_NAME | = | 'time' | INI (config) file section name containing the time parameters. |
Time object class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8P), | public | :: | CFL | = | 0.3_R8P | Courant-Friedrichs-Lewy stability coefficient. |
|
| type(error_object), | public | :: | error | Errors handler. |
|||
| logical, | public | :: | is_unsteady | = | .true. | Type of simulation: unsteady or steady. |
|
| integer(kind=I8P), | public | :: | n | = | 0 | Time steps counter. |
|
| integer(kind=I8P), | public | :: | n_max | = | 0 | Maximum number of time steps computed. |
|
| real(kind=R8P), | public | :: | t | = | 0._R8P | Time. |
|
| real(kind=R8P), | public | :: | t_max | = | 0._R8P | Maximum time of integration, ignored if |
| generic, public :: assignment(=) => time_assign_time | Overload |
| procedure, public, pass(self) :: description | Return a pretty-formatted description of time parameters. |
| procedure, public, pass(self) :: destroy | Destroy time. |
| procedure, public, pass(self) :: initialize | Initialize time. |
| procedure, public, pass(self) :: is_the_end | Return true if the end of simulation is reached. |
| procedure, public, pass(self) :: load_from_file | Load from file. |
| procedure, public, pass(self) :: progress | Return the progress of simulation. |
| procedure, public, pass(self) :: save_into_file | Save into file. |
| procedure, public, pass(self) :: set_stop | Set simulation stop condition. |
| procedure, public, pass(lhs) :: time_assign_time | Operator |
| procedure, public, pass(self) :: update | Update time. |
Return a pretty-formatted description of time parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(in) | :: | self | Time object. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Return true if the end of simulation is reached.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(in) | :: | self | Time object. |
Test result.
Return the progress of simulation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(in) | :: | self | Time object. |
Actual progress value.
Destroy time.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time object. |
Initialize time.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time object. |
Load from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time 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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time object. |
||
| type(file_ini), | intent(inout) | :: | fini | Simulation parameters ini file handler. |
Set simulation stop condition.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time object. |
Operator =.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | lhs | Left hand side. |
||
| type(time_object), | intent(in) | :: | rhs | Right hand side. |
Update time.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(time_object), | intent(inout) | :: | self | Time object. |
||
| real(kind=R8P), | intent(inout) | :: | global_min_dt | Global (all processes/images, all blocks) minimum time step. |