A utility to manage Eulerian objects.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| type(eulerian_ptr), | public, | allocatable | :: | field(:) |
Array of Eulerian objects |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| logical, | private | :: | overwrite | = | .true. |
Switch to overwrite IO files |
|
| character(len=str64), | private | :: | read_file |
File to read |
|||
| type(hashtbl_obj), | private | :: | tbl |
Hash table |
|||
| character(len=str64), | private | :: | write_file |
File to write |
Adds a eulerian object to the eulerian set.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| character(len=*), | intent(in) | :: | name |
Name of variable |
||
| integer, | intent(in) | :: | stag |
Staggering |
||
| class(eulerian_obj_base), | intent(inout), | target | :: | obj |
Eulerian obj to link and Initialize |
Finalizes object and frees up memory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
Returns the index of an Eulerian_obj contained in this%fields given its name.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(in) | :: | this |
An Eulerian Set |
||
| character(len=*), | intent(in) | :: | name |
Name of the field |
Result
Returns whether overwriting is true or false
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(in) | :: | this |
An Eulerian Set |
Overwrite value
Returns the base name of file to write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(in) | :: | this |
An Eulerian Set |
Name of file
Returns the base name of file to write.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(in) | :: | this |
An Eulerian Set |
Name of file
Prints info about this collection of eulerian objects
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
Initializes an Eulerian Set.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel structure to link with |
Reads Eulerian data using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(out) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(out) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
|
| integer, | intent(in), | optional | :: | step |
User supplied step to open |
Reads Eulerian data using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(out) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(out) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
|
| integer, | intent(in), | optional | :: | step |
User supplied step to open |
Reads Eulerian data with LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
an eulerian set |
||
| integer, | intent(out) | :: | iter |
iteration in file |
||
| real(kind=wp), | intent(out) | :: | time |
time in file |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
names of fields to read |
Reads one Eulerian object based on name with H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Reads one Eulerian object based on name using LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(hdf5_obj), | intent(inout) | :: | hdf5 | |||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Sets file overwritting
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| logical, | intent(in) | :: | overwrite |
Name of file |
Set the base name of file to read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Sets the base name of file to write.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Writes Eulerian data using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(in) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(in) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
Writes Eulerian data using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(in) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(in) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
Write Eulerian data using LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(in) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(in) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
Write Eulerian data using SILO.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| integer, | intent(in) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(in) | :: | time |
Time at write |
||
| character(len=str8), | intent(in), | optional | :: | list(:) |
Names of fields to write |
Write a single Eulerian object to file using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Write a single Eulerian object to file using LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(hdf5_obj), | intent(inout) | :: | hdf5 | |||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Write a single Eulerian objects to file using SILO.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(silo_obj), | intent(inout) | :: | silo |
Silo structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Reads one Eulerian object based on name with H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Reads one Eulerian object based on name using LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(hdf5_obj), | intent(inout) | :: | hdf5 | |||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Write a single Eulerian object to file using H5HUT.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Write a single Eulerian object to file using LEAP's HDF5.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(hdf5_obj), | intent(inout) | :: | hdf5 | |||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Write a single Eulerian objects to file using SILO.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
An Eulerian Set |
||
| type(silo_obj), | intent(inout) | :: | silo |
Silo structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
type :: eulerian_set !> A utility to manage Eulerian objects. type(eulerian_ptr), allocatable :: field(:) !! Array of Eulerian objects type(parallel_obj), pointer :: parallel => null() !! Associated parallel structure type(block_obj), pointer :: block => null() !! Associated block structure character(len=str64), private :: read_file !! File to read character(len=str64), private :: write_file !! File to write logical, private :: overwrite = .true. !! Switch to overwrite IO files type(hashtbl_obj), private :: tbl !! Hash table contains procedure :: Initialize => eulerian_set_Init procedure :: Finalize => eulerian_set_Final ! Eulerian object related procedures procedure :: Add => eulerian_set_Add procedure :: GetIndex => eulerian_set_GetIndex ! I/O related procedures procedure :: SetWriteFileName => eulerian_set_SetWriteFileName procedure :: GetWriteFileName => eulerian_set_GetWriteFileName procedure :: SetReadFileName => eulerian_set_SetReadFileName procedure :: GetReadFileName => eulerian_set_GetReadFileName procedure :: SetOverwrite => eulerian_set_SetOverwrite procedure :: GetOverwrite => eulerian_set_GetOverwrite procedure :: Read => eulerian_set_ReadH5HUT procedure :: ReadHDF5 => eulerian_set_ReadHDF5 procedure :: ReadH5HUT => eulerian_set_ReadH5HUT generic :: ReadSingle => eulerian_set_ReadSingleH5HUT, & eulerian_set_ReadSingleHDF5 procedure :: Write => eulerian_set_WriteH5HUT procedure :: WriteHDF5 => eulerian_set_WriteHDF5 procedure :: WriteH5HUT => eulerian_set_WriteH5HUT procedure :: WriteSILO => eulerian_set_WriteSILO generic :: WriteSingle => eulerian_set_WriteSingleH5HUT, & eulerian_set_WriteSingleHDF5, & eulerian_set_WriteSingleSILO ! Other procedures procedure :: Info => eulerian_set_Info ! Internal/private procedures procedure, private :: eulerian_set_ReadSingleH5HUT procedure, private :: eulerian_set_ReadSingleHDF5 procedure, private :: eulerian_set_WriteSingleH5HUT procedure, private :: eulerian_set_WriteSingleHDF5 procedure, private :: eulerian_set_WriteSingleSILO end type eulerian_set