Appearance
adam_prism_time_object
ADAM, PRISM time handler class definition, CPU backend.
Source: src/app/prism/common/adam_prism_time_object.F90
Dependencies
Contents
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
INI_SECTION_NAME | character(len=4) | parameter | INI (config) file section name containing time configs. |
Derived Types
prism_time_object
prism time handler class definition, CPU backend.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
it_max | integer(kind=I4P) | Maximum number of integration time steps. | |
time_max | real(kind=R8P) | Maximum integration time. | |
CFL | real(kind=R8P) | CFL time limit. | |
it | integer(kind=I4P) | Time steps counter. | |
time | real(kind=R8P) | Time. | |
dt | real(kind=R8P) | Maximum time step accordingly to CFL criterion. | |
dt_source | character(len=18) | Origin of dt: CFL (fields) or plasma_frequencies (PIC). | |
omega_dt | real(kind=R8P) | PIC: highest plasma frequency times dt (0: not a PIC run). |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
description | pass(self) | Return pretty-printed object description. |
initialize | pass(self) | Initialize time handler. |
is_on_cadence | pass(self) | Return true if the current step is a multiple of a cadence. |
is_to_save | pass(self) | Return true if data are to save. |
load_from_file | pass(self) | Load config from file. |
print_progress | pass(self) | Print simulation progress. |
Subroutines
initialize
Initialize time handler.
fortran
subroutine initialize(self, file_parameters, physics)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | inout | Time handler. | |
file_parameters | type(file_ini) | in | Simulation parameters ini file handler. | |
physics | type(prism_physics_object) | in |
Call graph
load_from_file
Load config from file.
fortran
subroutine load_from_file(self, file_parameters, go_on_fail)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | inout | Time handler. | |
file_parameters | type(file_ini) | in | Simulation parameters ini file handler. | |
go_on_fail | logical | in | optional | Go on if load fails. |
Call graph
print_progress
Print simulation progress.
fortran
subroutine print_progress(self, nodes_number)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | in | Time handler. | |
nodes_number | integer(kind=I4P) | in | Nodes number, global blocks number. |
Call graph
Functions
description
Return a pretty-formatted object description.
Attributes: pure
Returns: character(len=:)
fortran
function description(self) result(desc)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | in | Time handler. |
Call graph
is_on_cadence
Return true if the current step is a multiple of cadence.
A non-positive cadence is never on cadence: it disables the output it drives and never reaches mod(it, 0) (issue #97). The test is nested, not cadence > 0 .and. mod(...), because Fortran does not short-circuit.
Attributes: pure
Returns: logical
fortran
function is_on_cadence(self, cadence)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | in | Time handler. | |
cadence | integer(kind=I4P) | in | Cadence in time steps. |
Call graph
is_to_save
Return true if data are to save: every it_save steps and at the end of the run.
A non-positive it_save disables saving, end of run included (as FLUME, issue #97).
Returns: logical
fortran
function is_to_save(self, it_save)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_time_object) | inout | Time handler. | |
it_save | integer(kind=I4P) | in | Save iterations frequency. |
Call graph