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 |
Variable name |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| integer, | public | :: | staggering | = | 0 |
0 = cell centered; 1 = X1-face centered 2 = X2-face centered; 3 = X3-face centered |
Updates and add-up the ghostcells.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Adds 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 object |
Adds 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 object |
Adds 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 object |
Allocates Cell array in Eulerian object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Deallocate Cell array in Eulerian object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Finalizes the Eulerian object and free memory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Prints info about this structure.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Initializes an Eulerian field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
||
| 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 to link with |
|
| integer, | intent(in) | :: | stag |
Staggering |
Computes the mean of an Eulerian_obj.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
Computes norm2 of an Eulerian_obj.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
Updates the ghostcells.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
Updates 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 object |
Updates 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 object |
Updates 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 object |
Performs assignment for Eulerian_obj.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
||
| class(eulerian_obj_base), | intent(in) | :: | in |
Object to assign |
Performs assignment for Eulerian_obj.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
||
| real(kind=wp), | intent(in) | :: | in |
Object to assign |
Performs assignment for Eulerian_obj.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(inout) | :: | this |
An Eulerian object |
||
| integer, | intent(in) | :: | in |
Object to assign |
Performs multiplication of real Eulerian objects by real scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| real(kind=wp), | intent(in) | :: | in |
An Eulerian object |
Result
Performs multiplication of integer Eulerian objects by integer scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| integer, | intent(in) | :: | in |
An Eulerian object |
Result
Performs addition of real Eulerian objects.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| type(eulerian_obj_r), | intent(in) | :: | in |
An Eulerian object |
Result
Performs addition of integer Eulerian objects.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| type(eulerian_obj_i), | intent(in) | :: | in |
An Eulerian object |
Result
Performs subtraction of real Eulerian objects.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| type(eulerian_obj_r), | intent(in) | :: | in |
An Eulerian object |
Result
Performs subtraction of integer Eulerian objects.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| type(eulerian_obj_i), | intent(in) | :: | in |
An Eulerian object |
Result
type, extends (eulerian_obj_base) :: eulerian_obj_r !> Eulerian data of type real real(wp), allocatable :: cell(:,:,:) !! Cell data end type eulerian_obj_r