Module that defines the basic structure of a LEAP solver. This is intended to be a template for solvers defined in LEAP.
Advances solution from t to t+dt.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Finalizes solver and frees its associated memory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Initializes the solver.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
||
| type(timer_obj), | intent(in), | target | :: | timer |
Timer utility |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel machinery |
|
| type(parser_obj), | intent(in), | target | :: | parser |
Parser for input file |
Links an HDF5 object to this solver.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this | |||
| type(hdf5_obj), | intent(in), | target | :: | hdf5 |
HDF5 Object |
Computes and write monitored values.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Writes single precision data needed for visualizations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Prepares data before run.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Writes simulation data to disk required for restarts.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_obj), | intent(inout) | :: | this |
A LEAP solver |
Base solver object
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | name |
Solver's name. |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| type(parser_obj), | public, | pointer | :: | parser | => | null() |
Associated parser |
| type(timer_obj), | public, | pointer | :: | timer | => | null() |
Associated timer |
| procedure(solver_Advance), public, deferred :: AdvanceSolution | |
| procedure(solver_Finalize), public, deferred :: Finalize | |
| procedure(solver_Initialize), public, deferred :: Initialize | |
| procedure(solver_LinkHDF5Object), public, deferred :: LinkHDF5Object | |
| procedure(solver_Monitor), public, deferred :: Monitor | |
| procedure(solver_Prepare), public, deferred :: PrepareSolver | |
| procedure(solver_Output), public, deferred :: WriteOutputData | |
| procedure(solver_Restart), public, deferred :: WriteRestartData |