| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private, | parameter | :: | EULERIAN_SET_HTBL_SIZE | = | 20 |
Eulerian data of type integer
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| integer, | public, | allocatable | :: | cell(:,:,:) |
Cell data |
||
| character(len=:), | public, | allocatable | :: | name |
Name of variable |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| integer, | public | :: | staggering | = | 0 |
Eulerian data of type real
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| real(kind=wp), | public, | allocatable | :: | cell(:,:,:) |
Cell data |
||
| character(len=:), | public, | allocatable | :: | name |
Name of variable |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| integer, | public | :: | staggering | = | 0 |
A collection of eulerian objects
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| type(eulerian_ptr), | public, | allocatable | :: | field(:) |
A collection of Eulerian objects |
||
| logical, | public | :: | overwrite | = | .true. |
Switch to overwrite IO files |
|
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| character(len=str64), | public | :: | read_file |
file to read |
|||
| character(len=str64), | public | :: | write_file |
file to write |
|||
| type(hashtbl_obj), | private | :: | tbl |
Hash table |
Base structure for eulerian data
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| character(len=:), | public, | allocatable | :: | name |
Name of variable |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| integer, | public | :: | staggering | = | 0 |
Polymorphic pointer to either real or complex Eulerian data
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | public, | pointer | :: | p | => | null() |
Addition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| type(eulerian_obj_i), | intent(in) | :: | in |
An Eulerian field |
Addition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| type(eulerian_obj_r), | intent(in) | :: | in |
An Eulerian field |
Multiplication
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| integer, | intent(in) | :: | in |
An Eulerian field |
Multiplication
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| real(kind=wp), | intent(in) | :: | in |
An Eulerian field |
Addition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| type(eulerian_obj_i), | intent(in) | :: | in |
An Eulerian field |
Addition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| type(eulerian_obj_r), | intent(in) | :: | in |
An Eulerian field |
Compute the mean of an Eulerian_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
Compute norm2 of an Eulerian_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
Returns the index of an Eulerian_obj contained in this%fields given its name.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| character(len=*), | intent(in) | :: | name |
Name of the field |
Return the base name of file to write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
Name of file
Return the base name of file to write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
Name of file
Update and add-up the ghostcells
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Add up ghostcells in the x direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Add up ghostcells in the y direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Add up ghostcells in the z direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Assignment for Eulerian_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
||
| class(eulerian_obj_base), | intent(in) | :: | in |
Object to assign |
Assignment for Eulerian_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
||
| integer, | intent(in) | :: | in |
Object to assign |
Assignment for Eulerian_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
||
| real(kind=wp), | intent(in) | :: | in |
Object to assign |
Finalize the Eulerian object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Print info about this structure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Initialize an Eulerian field
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
||
| character(len=*), | intent(in) | :: | name |
Name of variable |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
parallel structure from main program |
|
| integer, | intent(in) | :: | stag |
Staggering |
Update the ghostcells
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Update the ghostcells in the x direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Update the ghostcells in the y direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Update the ghostcells in the z direction with non-blocking mpi directives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Allocate an Eulerian object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Deallocate an Eulerian object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
Add a new element to a collection of Eulerian objects
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| 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 |
Finalize structure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
Print info about this collection of eulerian objects
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
Initialize a collection of Eulerian objects
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
parallel structure from main program |
Read Eulerian data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| 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 |
Read all Eulerian objects in file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| type(ngadata_obj), | intent(inout) | :: | ngadata |
NGAdata structure |
Read Eulerian data using MPI binary file tools
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| integer, | intent(out) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(out) | :: | time |
Time at write |
Read one Eulerian object based on name
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |
Set file overwritting
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| 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 |
A collection of Eulerian objects |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Set the base name of file to write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Write Eulerian data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| 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 |
A collection of Eulerian objects |
||
| 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
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_set), | intent(inout) | :: | this |
A collection of Eulerian objects |
||
| type(h5hut_obj), | intent(inout) | :: | h5 |
H5hut structure |
||
| 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 |
A collection of Eulerian objects |
||
| type(silo_obj), | intent(inout) | :: | silo |
Silo structure |
||
| integer, | intent(in) | :: | ind |
Index of Eulerian object |