Module of objets to work with Eulerian data in LEAP.
Eulerian objects (eulerian_obj_r, eulerian_obj_i):
- represent a field quantity (e.g., pressure field).
- can be of type real (at working precision) or integer.
- can be cell centered (staggering = 0), or face centered
(staggering = 1,2,3).
- have methods to manage ghost cells.
- have some overloaded operations (addition, subtraction,
multiplication). Note that multiplication by a scalar can only be
done on the right side.
Eulerian Sets (eulerian_set):
- represent a data set, i.e., a collection of Eulerian objects.
- offer additional methods to manage Eulerian objects (such as
adding an object to the set).
- there is no restriction on the number of objects that can be added to
a set.
- offer methods for IO of one or all objects in the set.
module~~leapeulerian~~UsesGraph
module~leapeulerian
leapEulerian
iso_fortran_env
iso_fortran_env
module~leapeulerian->iso_fortran_env
module~leapblock
leapBlock
module~leapeulerian->module~leapblock
module~leapio
leapIO
module~leapeulerian->module~leapio
module~leapkinds
leapKinds
module~leapeulerian->module~leapkinds
module~leapparallel
leapParallel
module~leapeulerian->module~leapparallel
module~leaputils
leapUtils
module~leapeulerian->module~leaputils
mpi_f08
mpi_f08
module~leapeulerian->mpi_f08
module~leapblock->iso_fortran_env
module~leapblock->module~leapkinds
module~leapblock->module~leapparallel
module~leapblock->mpi_f08
module~leapio_hdf5
leapIO_hdf5
module~leapblock->module~leapio_hdf5
module~leapio_h5hut
leapIO_h5hut
module~leapio->module~leapio_h5hut
module~leapio->module~leapio_hdf5
module~leapio_silo
leapIO_silo
module~leapio->module~leapio_silo
module~leapio_xdmf
leapIO_xdmf
module~leapio->module~leapio_xdmf
module~leapkinds->iso_fortran_env
module~leapparallel->iso_fortran_env
module~leapparallel->module~leapkinds
module~leapparallel->mpi_f08
module~leaputils->module~leapkinds
module~leapio_h5hut->module~leapkinds
module~leapio_h5hut->module~leapparallel
module~leapio_h5hut->module~leapio_hdf5
module~leapio_hdf5->module~leapkinds
module~leapio_hdf5->module~leapparallel
module~leapio_hdf5->module~leaputils
hdf5
hdf5
module~leapio_hdf5->hdf5
module~leapio_silo->module~leapkinds
module~leapio_silo->module~leapparallel
module~leapio_silo->module~leaputils
module~leapio_silo->mpi_f08
module~leapio_xdmf->module~leapkinds
module~leapio_xdmf->module~leaputils
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
module~~leapeulerian~~UsedByGraph
module~leapeulerian
leapEulerian
module~cdifs
cdifs
module~cdifs->module~leapeulerian
module~leapbc
leapBC
module~cdifs->module~leapbc
module~leapdiffop
leapDiffOp
module~cdifs->module~leapdiffop
module~leaphypre
leapHypre
module~cdifs->module~leaphypre
module~particles_resolved
particles_resolved
module~cdifs->module~particles_resolved
module~collisions
collisions
module~cdifs->module~collisions
module~immersed_boundaries
immersed_boundaries
module~cdifs->module~immersed_boundaries
module~grans
grans
module~grans->module~leapeulerian
module~grans->module~leapbc
module~grans->module~leapdiffop
module~grans->module~leaphypre
module~particles_point
particles_point
module~grans->module~particles_point
module~grans->module~particles_resolved
module~grans->module~collisions
module~grans->module~immersed_boundaries
module~immersed_boundaries_markers
immersed_boundaries_markers
module~immersed_boundaries_markers->module~leapeulerian
module~immersed_boundaries_markers->module~leapbc
module~immersed_boundaries_markers->module~leapdiffop
module~immersed_boundaries_markers->module~leaphypre
module~immersed_boundaries_solids
immersed_boundaries_solids
module~immersed_boundaries_solids->module~leapeulerian
module~immersed_boundaries_solids->module~immersed_boundaries_markers
module~leapbc->module~leapeulerian
module~leapdiffop->module~leapeulerian
module~leapdiffop->module~leapbc
module~leapfft
leapFFT
module~leapfft->module~leapeulerian
module~leaphypre->module~leapeulerian
module~particles_point->module~leapeulerian
module~particles_point->module~leapdiffop
module~particles_point->module~immersed_boundaries
module~particles_resolved->module~leapeulerian
module~particles_resolved->module~leapbc
module~particles_resolved->module~leapdiffop
module~particles_resolved->module~immersed_boundaries
proc~bc_set_buildmask
bc_set%bc_set_BuildMask
proc~bc_set_buildmask->module~leapeulerian
program~main
main
program~main->module~leapeulerian
program~main~10
main
program~main~10->module~leapeulerian
program~main~11
main
program~main~11->module~leapeulerian
program~main~12
main
program~main~12->module~leapeulerian
program~main~13
main
program~main~13->module~leapeulerian
program~main~14
main
program~main~14->module~leapeulerian
program~main~2
main
program~main~2->module~leapeulerian
program~main~3
main
program~main~3->module~leapeulerian
program~main~4
main
program~main~4->module~leapeulerian
program~main~5
main
program~main~5->module~leapeulerian
program~main~6
main
program~main~6->module~leapeulerian
program~main~7
main
program~main~7->module~leapeulerian
program~main~8
main
program~main~8->module~leapeulerian
program~main~9
main
program~main~9->module~leapeulerian
module~cdifs_advancesolution_smod
cdifs_AdvanceSolution_smod
module~cdifs_advancesolution_smod->module~cdifs
module~cdifs_monitor_smod
cdifs_Monitor_smod
module~cdifs_monitor_smod->module~cdifs
module~cdifs_preparesolver_smod
cdifs_PrepareSolver_smod
module~cdifs_preparesolver_smod->module~cdifs
module~cdifs_writeoutputdata_smod
cdifs_WriteOutputData_smod
module~cdifs_writeoutputdata_smod->module~cdifs
module~cdifs_writerestartdata_smod
cdifs_WriteRestartData_smod
module~cdifs_writerestartdata_smod->module~cdifs
module~collisions->module~particles_point
module~collisions->module~particles_resolved
module~collisions->module~immersed_boundaries
module~grans_advancesolution_smod
grans_AdvanceSolution_smod
module~grans_advancesolution_smod->module~grans
module~grans_module_smod
grans_module_smod
module~grans_module_smod->module~grans
module~grans_preparesolver_smod
grans_PrepareSolver_smod
module~grans_preparesolver_smod->module~grans
module~grans_writeoutputdata_smod
grans_WriteOutputData_smod
module~grans_writeoutputdata_smod->module~grans
module~grans_writerestartdata_smod
grans_WriteRestartData_smod
module~grans_writerestartdata_smod->module~grans
module~immersed_boundaries->module~immersed_boundaries_markers
module~immersed_boundaries->module~immersed_boundaries_solids
proc~cdifs_obj_preparesolverbodyforce
cdifs_obj_PrepareSolverBodyforce
proc~cdifs_obj_preparesolverbodyforce->module~leapbc
proc~cdifs_obj_preparesolveroperators
cdifs_obj_PrepareSolverOperators
proc~cdifs_obj_preparesolveroperators->module~leapbc
proc~cdifs_obj_preparesolveroperatorsdiv
cdifs_obj_PrepareSolverOperatorsDIV
proc~cdifs_obj_preparesolveroperatorsdiv->module~leapbc
proc~cdifs_obj_preparesolveroperatorspgrad
cdifs_obj_PrepareSolverOperatorsPGRAD
proc~cdifs_obj_preparesolveroperatorspgrad->module~leapbc
proc~cdifs_obj_preparesolveroperatorsvlap
cdifs_obj_PrepareSolverOperatorsVLAP
proc~cdifs_obj_preparesolveroperatorsvlap->module~leapbc
proc~grans_obj_preparesolveroperators
grans_obj_PrepareSolverOperators
proc~grans_obj_preparesolveroperators->module~leapdiffop
proc~marker_set_computesolidvolfrac
marker_set%marker_set_ComputeSolidVolFrac
proc~marker_set_computesolidvolfrac->module~leapdiffop
proc~setupcasebcs
SetUpCaseBCS
proc~setupcasebcs->module~leapbc
proc~setupcasebcs~10
SetUpCaseBCS
proc~setupcasebcs~10->module~leapbc
proc~setupcasebcs~11
SetUpCaseBCS
proc~setupcasebcs~11->module~leapbc
proc~setupcasebcs~12
SetUpCaseBCS
proc~setupcasebcs~12->module~leapbc
proc~setupcasebcs~13
SetUpCaseBCS
proc~setupcasebcs~13->module~leapbc
proc~setupcasebcs~14
SetUpCaseBCS
proc~setupcasebcs~14->module~leapbc
proc~setupcasebcs~2
SetUpCaseBCS
proc~setupcasebcs~2->module~leapbc
proc~setupcasebcs~3
SetUpCaseBCS
proc~setupcasebcs~3->module~leapbc
proc~setupcasebcs~4
SetUpCaseBCS
proc~setupcasebcs~4->module~leapbc
proc~setupcasebcs~5
SetUpCaseBCS
proc~setupcasebcs~5->module~leapbc
proc~setupcasebcs~6
SetUpCaseBCS
proc~setupcasebcs~6->module~leapbc
proc~setupcasebcs~7
SetUpCaseBCS
proc~setupcasebcs~7->module~leapbc
proc~setupcasebcs~8
SetUpCaseBCS
proc~setupcasebcs~8->module~leapbc
proc~setupcasebcs~9
SetUpCaseBCS
proc~setupcasebcs~9->module~leapbc
proc~setupcasepp
SetUpCasePP
proc~setupcasepp->module~particles_point
proc~setupcasepp~2
SetUpCasePP
proc~setupcasepp~2->module~particles_point
proc~setupcaserespart
SetUpCaseResPart
proc~setupcaserespart->module~particles_resolved
proc~setupcaserespart~2
SetUpCaseResPart
proc~setupcaserespart~2->module~particles_resolved
proc~setupcaserp
SetUpCaseRP
proc~setupcaserp->module~particles_resolved
proc~setupcaserp~2
SetUpCaseRP
proc~setupcaserp~2->module~particles_resolved
proc~setupcaserp~3
SetUpCaseRP
proc~setupcaserp~3->module~particles_resolved
program~main~15
main
program~main~15->module~cdifs
program~main~15->module~grans
proc~setupcaseib
SetUpCaseIB
proc~setupcaseib->module~immersed_boundaries
proc~setupcaseib~2
SetUpCaseIB
proc~setupcaseib~2->module~immersed_boundaries
proc~setupcaseib~3
SetUpCaseIB
proc~setupcaseib~3->module~immersed_boundaries
proc~setupcaseib~4
SetUpCaseIB
proc~setupcaseib~4->module~immersed_boundaries
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility Attributes
Name
Initial
integer,
private,
parameter
::
EULERIAN_SET_HTBL_SIZE
=
20
Derived Types
Eulerian data of type integer
Components
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
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
Type-Bound Procedures
procedure, public ::
AddUpGhostCells => eulerian_obj_AddUpGhostCells
procedure, public ::
AddUpGhostCells_x => eulerian_obj_AddUpGhostCells_x
procedure, public ::
AddUpGhostCells_y => eulerian_obj_AddUpGhostCells_y
procedure, public ::
AddUpGhostCells_z => eulerian_obj_AddUpGhostCells_z
procedure, public ::
Allocate => eulerian_obj_Allocate
procedure, public ::
Deallocate => eulerian_obj_Deallocate
procedure, public ::
Finalize => eulerian_obj_Final
procedure, public ::
Info => eulerian_obj_Info
procedure, public ::
Initialize => eulerian_obj_Init
procedure, public ::
Mean => eulerian_obj_Mean
procedure, public ::
Norm2 => eulerian_obj_Norm2
procedure, public ::
UpdateGhostCells => eulerian_obj_UpdateGhostCells
procedure, public ::
UpdateGhostCells_x => eulerian_obj_UpdateGhostCells_x
procedure, public ::
UpdateGhostCells_y => eulerian_obj_UpdateGhostCells_y
procedure, public ::
UpdateGhostCells_z => eulerian_obj_UpdateGhostCells_z
generic, public ::
assignment(=) => eulerian_obj_AssignEulerianObj , eulerian_obj_AssignReal0D , eulerian_obj_AssignInt0D
generic, public ::
operator(*) => eulerian_obj_MulReal0D , eulerian_obj_MulInt0D
generic, public ::
operator(+) => eulerian_obj_AddEulerianRObj , eulerian_obj_AddEulerianIObj
generic, public ::
operator(-) => eulerian_obj_SubEulerianRObj , eulerian_obj_SubEulerianIObj
Eulerian data of type real
Components
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
Type-Bound Procedures
procedure, public ::
AddUpGhostCells => eulerian_obj_AddUpGhostCells
procedure, public ::
AddUpGhostCells_x => eulerian_obj_AddUpGhostCells_x
procedure, public ::
AddUpGhostCells_y => eulerian_obj_AddUpGhostCells_y
procedure, public ::
AddUpGhostCells_z => eulerian_obj_AddUpGhostCells_z
procedure, public ::
Allocate => eulerian_obj_Allocate
procedure, public ::
Deallocate => eulerian_obj_Deallocate
procedure, public ::
Finalize => eulerian_obj_Final
procedure, public ::
Info => eulerian_obj_Info
procedure, public ::
Initialize => eulerian_obj_Init
procedure, public ::
Mean => eulerian_obj_Mean
procedure, public ::
Norm2 => eulerian_obj_Norm2
procedure, public ::
UpdateGhostCells => eulerian_obj_UpdateGhostCells
procedure, public ::
UpdateGhostCells_x => eulerian_obj_UpdateGhostCells_x
procedure, public ::
UpdateGhostCells_y => eulerian_obj_UpdateGhostCells_y
procedure, public ::
UpdateGhostCells_z => eulerian_obj_UpdateGhostCells_z
generic, public ::
assignment(=) => eulerian_obj_AssignEulerianObj , eulerian_obj_AssignReal0D , eulerian_obj_AssignInt0D
generic, public ::
operator(*) => eulerian_obj_MulReal0D , eulerian_obj_MulInt0D
generic, public ::
operator(+) => eulerian_obj_AddEulerianRObj , eulerian_obj_AddEulerianIObj
generic, public ::
operator(-) => eulerian_obj_SubEulerianRObj , eulerian_obj_SubEulerianIObj
A utility to manage Eulerian objects.
Components
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
Type-Bound Procedures
procedure, public ::
Add => eulerian_set_Add
procedure, public ::
Finalize => eulerian_set_Final
procedure, public ::
GetIndex => eulerian_set_GetIndex
procedure, public ::
GetOverwrite => eulerian_set_GetOverwrite
procedure, public ::
GetReadFileName => eulerian_set_GetReadFileName
procedure, public ::
GetWriteFileName => eulerian_set_GetWriteFileName
procedure, public ::
Info => eulerian_set_Info
procedure, public ::
Initialize => eulerian_set_Init
procedure, public ::
Read => eulerian_set_ReadHDF5
procedure, public ::
ReadH5HUT => eulerian_set_ReadH5HUT
procedure, public ::
ReadHDF5 => eulerian_set_ReadHDF5
generic, public ::
ReadSingle => eulerian_set_ReadSingleH5HUT , eulerian_set_ReadSingleHDF5
procedure, public ::
SetOverwrite => eulerian_set_SetOverwrite
procedure, public ::
SetReadFileName => eulerian_set_SetReadFileName
procedure, public ::
SetWriteFileName => eulerian_set_SetWriteFileName
procedure, public ::
Write => eulerian_set_WriteHDF5
procedure, public ::
WriteH5HUT => eulerian_set_WriteH5HUT
procedure, public ::
WriteHDF5 => eulerian_set_WriteHDF5
procedure, public ::
WriteSILO => eulerian_set_WriteSILO
generic, public ::
WriteSingle => eulerian_set_WriteSingleH5HUT , eulerian_set_WriteSingleHDF5 , eulerian_set_WriteSingleSILO
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
Base structure for Rulerian data. This typically represents
a field quantity.
Components
Type
Visibility Attributes
Name
Initial
type(block_obj ),
public,
pointer
::
block
=>
null()
Associated block structure
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
Type-Bound Procedures
procedure, public ::
AddUpGhostCells => eulerian_obj_AddUpGhostCells
procedure, public ::
AddUpGhostCells_x => eulerian_obj_AddUpGhostCells_x
procedure, public ::
AddUpGhostCells_y => eulerian_obj_AddUpGhostCells_y
procedure, public ::
AddUpGhostCells_z => eulerian_obj_AddUpGhostCells_z
procedure, public ::
Allocate => eulerian_obj_Allocate
procedure, public ::
Deallocate => eulerian_obj_Deallocate
procedure, public ::
Finalize => eulerian_obj_Final
procedure, public ::
Info => eulerian_obj_Info
procedure, public ::
Initialize => eulerian_obj_Init
procedure, public ::
Mean => eulerian_obj_Mean
procedure, public ::
Norm2 => eulerian_obj_Norm2
procedure, public ::
UpdateGhostCells => eulerian_obj_UpdateGhostCells
procedure, public ::
UpdateGhostCells_x => eulerian_obj_UpdateGhostCells_x
procedure, public ::
UpdateGhostCells_y => eulerian_obj_UpdateGhostCells_y
procedure, public ::
UpdateGhostCells_z => eulerian_obj_UpdateGhostCells_z
generic, public ::
assignment(=) => eulerian_obj_AssignEulerianObj , eulerian_obj_AssignReal0D , eulerian_obj_AssignInt0D
generic, public ::
operator(*) => eulerian_obj_MulReal0D , eulerian_obj_MulInt0D
generic, public ::
operator(+) => eulerian_obj_AddEulerianRObj , eulerian_obj_AddEulerianIObj
generic, public ::
operator(-) => eulerian_obj_SubEulerianRObj , eulerian_obj_SubEulerianIObj
procedure, private ::
eulerian_obj_AddEulerianIObj
procedure, private ::
eulerian_obj_AddEulerianRObj
procedure, private ::
eulerian_obj_AssignEulerianObj
procedure, private ::
eulerian_obj_AssignInt0D
procedure, private ::
eulerian_obj_AssignReal0D
procedure, private ::
eulerian_obj_MulInt0D
procedure, private ::
eulerian_obj_MulReal0D
procedure, private ::
eulerian_obj_SubEulerianIObj
procedure, private ::
eulerian_obj_SubEulerianRObj
Polymorphic pointer to either real or complex
Eulerian data
Components
Type
Visibility Attributes
Name
Initial
class(eulerian_obj_base ),
public,
pointer
::
p
=>
null()
Functions
Performs addition of integer Eulerian objects.
Arguments
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 addition of real Eulerian objects.
Arguments
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
Computes the mean of an Eulerian_obj.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(in)
::
this
An Eulerian object
Return Value
real(kind=wp)
Performs multiplication of integer Eulerian objects by integer scalar.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(in)
::
this
An Eulerian object
integer,
intent(in)
::
in
An Eulerian object
Result
Performs multiplication of real Eulerian objects by real scalar.
Arguments
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
Computes norm2 of an Eulerian_obj.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(in)
::
this
An Eulerian object
Return Value
real(kind=wp)
Performs subtraction of integer Eulerian objects.
Arguments
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.
Arguments
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
Returns the index of an Eulerian_obj contained
in this%fields given its name.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(in)
::
this
An Eulerian Set
character(len=*),
intent(in)
::
name
Name of the field
Return Value
integer
Result
Returns whether overwriting is true or false
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(in)
::
this
An Eulerian Set
Return Value
logical
Overwrite value
Returns the base name of file to write
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(in)
::
this
An Eulerian Set
Return Value
character(len=str64)
Name of file
Returns the base name of file to write.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(in)
::
this
An Eulerian Set
Return Value
character(len=str64)
Name of file
Subroutines
Updates and add-up the ghostcells.
Arguments
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.
Arguments
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.
Arguments
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.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Allocates Cell array in Eulerian object.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Performs assignment for Eulerian_obj.
Arguments
Performs assignment for Eulerian_obj.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
integer,
intent(in)
::
in
Object to assign
Performs assignment for Eulerian_obj.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
real(kind=wp),
intent(in)
::
in
Object to assign
Deallocate Cell array in Eulerian object.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Finalizes the Eulerian object and free memory.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Prints info about this structure.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Initializes an Eulerian field.
Arguments
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
Updates the ghostcells.
Arguments
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.
Arguments
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.
Arguments
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.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_obj_base ),
intent(inout)
::
this
An Eulerian object
Adds a eulerian object to the eulerian set.
Arguments
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.
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(inout)
::
this
An Eulerian Set
Prints info about this collection of eulerian objects
Arguments
Type
Intent Optional Attributes
Name
class(eulerian_set ),
intent(inout)
::
this
An Eulerian Set
Initializes an Eulerian Set.
Arguments
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.
Arguments
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.
Arguments
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
integer,
intent(in),
optional
::
step
User supplied step to open
Reads one Eulerian object based on name with H5HUT.
Arguments
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.
Arguments
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
Arguments
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
Arguments
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.
Arguments
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.
Arguments
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 LEAP's HDF5.
Arguments
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.
Arguments
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.
Arguments
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.
Arguments
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.
Arguments
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