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 |