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 |
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 |
Print info about this structure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian field |
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 |
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 |
||
| real(kind=wp), | 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 |
Deallocate an Eulerian object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
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 |
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 |
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 |
Finalize the Eulerian object
| 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 |
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 |
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 |
Multiplication
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian field |
||
| integer, | 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 |
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 |
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 |