Simulation object class.
simulation_object is a container for all simulation data for each processor/image.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(non_dimensional_numbers_object), | public | :: | adimensionals | Non dimensional numbers. |
|||
| type(block_object), | public, | allocatable | :: | blocks(:) | Blocks list. |
||
| type(command_line_interface), | public | :: | cli | Command line interface. |
|||
| type(error_object), | public | :: | error | Errors handler. |
|||
| type(file_grid_object), | public | :: | file_grid | Grid file handler. |
|||
| character(len=999), | public | :: | file_parameters | = | '' | Name of simulation parameters file. |
|
| type(free_conditions_object), | public | :: | free_conditions | Free stream conditions. |
|||
| logical, | public | :: | go_on_fail | = | .false. | Allow/disallow parameters loading failure. |
|
| type(grid_dimensions_object), | public | :: | grid_dimensions | Grid dimensions. |
|||
| logical, | public | :: | is_cli_parsed | = | .false. | Sentinel of CLI parsing. |
|
| logical, | public | :: | is_output_verbose | = | .false. | Verbose output. |
|
| type(os_object), | public | :: | os | Running Operating System. |
|||
| type(solver_object), | public | :: | solver | solver models parameters. |
|||
| type(time_object), | public | :: | time | Timing conditions. |
Allocate blocks accordingly to grid dimensions.
Allocate blocks accordingly to grid dimensions.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | Simulation data. |
Return a pretty-formatted description of the simulation.
Return a pretty-formatted description of the simulation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(in) | :: | self | Simulation parameters. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy simulation data.
Destroy simulation data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | Simulation data. |
Initialize simulation.
Initialize simulation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
||
| type(block_object), | intent(in), | optional | :: | blocks(1:) | Blocks structure. |
|
| logical, | intent(in), | optional | :: | parse_cli | Enable CLI parsing. |
|
| logical, | intent(in), | optional | :: | load_files | Enable files loading. |
Integrate the equations.
Integrate the equations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
Load grid file.
Load grid file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
||
| character(len=*), | intent(in) | :: | file_basename | File basename. |
Load file parameters.
Load file parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | Simulation object. |
||
| character(len=*), | intent(in) | :: | file_name | File name. |
||
| logical, | intent(in), | optional | :: | go_on_fail | Go on if load fails. |
Load input files.
Load from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
Parse command line interface.
Parse command line interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
Save grid file.
Save grid file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
||
| character(len=*), | intent(in) | :: | file_basename | File basename. |
||
| logical, | intent(in), | optional | :: | ascii | Ascii/binary output. |
|
| logical, | intent(in), | optional | :: | metrics | Save also metrics data. |
|
| logical, | intent(in), | optional | :: | off | Save in OFF format sentinel. |
|
| logical, | intent(in), | optional | :: | tecplot | Tecplot output format sentinel. |
|
| logical, | intent(in), | optional | :: | vtk | VTK output format sentinel. |
Save file parameters.
Save file parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | Simulation object. |
||
| character(len=*), | intent(in) | :: | file_name | File name. |
Set command line interface.
Set command line interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(simulation_object), | intent(inout) | :: | self | simulation data. |
type :: simulation_object
!< Simulation object class.
!<
!< [[simulation_object]] is a container for all simulation data for each processor/image.
type(error_object) :: error !< Errors handler.
type(command_line_interface) :: cli !< Command line interface.
type(file_grid_object) :: file_grid !< Grid file handler.
type(non_dimensional_numbers_object) :: adimensionals !< Non dimensional numbers.
type(free_conditions_object) :: free_conditions !< Free stream conditions.
type(os_object) :: os !< Running Operating System.
type(solver_object) :: solver !< solver models parameters.
type(time_object) :: time !< Timing conditions.
type(grid_dimensions_object) :: grid_dimensions !< Grid dimensions.
type(block_object), allocatable :: blocks(:) !< Blocks list.
logical :: is_cli_parsed=.false. !< Sentinel of CLI parsing.
character(999) :: file_parameters='' !< Name of simulation parameters file.
logical :: is_output_verbose=.false. !< Verbose output.
logical :: go_on_fail=.false. !< Allow/disallow parameters loading failure.
contains
! public methods
procedure, pass(self) :: allocate_blocks !< Allocate blocks accordingly to grid dimensions.
procedure, pass(self) :: description !< Return a pretty-formatted description of the simulation.
procedure, pass(self) :: destroy !< Destroy simulation data.
procedure, pass(self) :: initialize !< Initialize simulation.
procedure, pass(self) :: integrate !< Integrate the equations.
procedure, pass(self) :: load_file_grid !< Load grid file.
procedure, pass(self) :: load_file_parameters !< Load file parameters.
procedure, pass(self) :: load_input_files !< Load input files.
procedure, pass(self) :: parse_command_line_interface !< Parse command line interface.
procedure, pass(self) :: save_file_grid !< Save grid file.
procedure, pass(self) :: save_file_parameters !< Save file parameters.
! private methods
procedure, pass(self), private :: set_command_line_interface !< Set command line interface.
endtype simulation_object