Skip to content

adam_adam_object

ADAM, ADAM class definition.

Source: src/lib/common/adam_adam_object.F90

Dependencies

Contents

Derived Types

adam_object

ADAM class definition.

Components

NameTypeAttributesDescription
mpihtype(mpih_object)The MPI handler.
gridtype(grid_object)The grid.
treetype(tree_object)The tree.
mapstype(maps_object)The maps.
fieldtype(field_object)The field.
iotype(io_object)The IO handler.

Type-Bound Procedures

NameAttributesDescription
adaptpass(self)Adapt tree/field accordingly to refine/derefine necessity.
amr_updatepass(self)Update AMR status.
blocks_reorderpass(self)Reorder blocks (for asyncrhonous MPI)
check_blocks_numberpass(self)Check if blocks number is groving too much.
compute_blocks_numberpass(self)Compute maximum blocks number allocatable on memory available.
descriptionpass(self)Return pretty-printed object description.
initializepass(self)Initialize ADAM.
interpolate_at_pointpass(self)Interpolate a scalar variable at a given point.
load_restart_filespass(self)Load restart files.
make_comm_local_maps_ghost_bcpass(self)Make communication/local maps of ghost cells.
mpi_gather_refinement_neededpass(self)Gather refinement needed.
mpi_redistributepass(self)Redistribute nodes/blocks to processes, load balancing.
prunepass(self)Prune nodes/blocks.
refine_uniformpass(self)Refine all blocks uniformly.
save_hdf5pass(self)Save ADAM in HDF5 format.
save_restart_filespass(self)Save restart files.
save_slicepass(self)Save slice.
save_vtkpass(self)Save ADAM in VTK format.
save_xh5fpass(self)Save ADAM in XH5F format.
save_xh5f_fieldSave fields by XH5F file handler.
save_xh5f_field_3D_R8Ppass(self)Save fields by XH5F file handler, rank 3D, kind R8P.
save_xh5f_field_4D_R8Ppass(self)Save fields by XH5F file handler, rank 4D, kind R8P.
save_xh5f_field_3D_R4Ppass(self)Save fields by XH5F file handler, rank 3D, kind R4P.
save_xh5f_field_4D_R4Ppass(self)Save fields by XH5F file handler, rank 4D, kind R4P.
save_xh5f_field_3D_I8Ppass(self)Save fields by XH5F file handler, rank 3D, kind I8P.
save_xh5f_field_4D_I8Ppass(self)Save fields by XH5F file handler, rank 4D, kind I8P.
save_xh5f_field_3D_I4Ppass(self)Save fields by XH5F file handler, rank 3D, kind I4P.
save_xh5f_field_4D_I4Ppass(self)Save fields by XH5F file handler, rank 4D, kind I4P.
save_xh5f_field_3D_I2Ppass(self)Save fields by XH5F file handler, rank 3D, kind I2P.
save_xh5f_field_4D_I2Ppass(self)Save fields by XH5F file handler, rank 4D, kind I2P.
save_xh5f_field_3D_I1Ppass(self)Save fields by XH5F file handler, rank 3D, kind I1P.
save_xh5f_field_4D_I1Ppass(self)Save fields by XH5F file handler, rank 4D, kind I1P.

Subroutines

adapt

Adapt tree/field accordingly to refine/derefine necessity.

fortran
subroutine adapt(self, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
qreal(kind=R8P)inoutField cell centered variables.

Call graph

amr_update

Update AMR status.

Note: AMR update can be safely called only after update_ghost has been called for q variables, otherwise refine is not well done. Note: only if the AMR is UNIFORM and GLOBALLY made by tree, i.e. using mark_all_nodes, the mpi_redistribute can be avoided, otherwise mpi_gather_refinement_nedeed is not safe (having wrong nodes number counters).

fortran
subroutine amr_update(self, q, is_marked_by_field, is_marked_by_tree, do_mpi_redistribute, do_blocks_reorder, is_grid_changed)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
qreal(kind=R8P)inoutField cell centered variables.
is_marked_by_fieldlogicalinoptionalFlag to check if marker is field.
is_marked_by_treelogicalinoptionalFlag to check if marker is tree.
do_mpi_redistributelogicalinoptionalFlag to activate MPI redistribute.
do_blocks_reorderlogicalinoptionalFlag to activate blocks reorder.
is_grid_changedlogicaloutoptionalFlag to check if grid is changed.

Call graph

blocks_reorder

Reorder blocks (for asyncrhonous MPI)

fortran
subroutine blocks_reorder(self, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
qreal(kind=R8P)inoutField cell centered variables.

Call graph

check_blocks_number

Check if blocks number is groving too much.

fortran
subroutine check_blocks_number(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.

Call graph

compute_blocks_number

Compute maximum blocks number allocatable on memory available.

fortran
subroutine compute_blocks_number(self, memory_avail, fields_number, nb, nodes_number)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inADAM.
memory_availreal(kind=R8P)inMemory available for single MPI process (GBytes).
fields_numberinteger(kind=I4P)inFields number.
nbinteger(kind=I4P)outMaximum blocks number for single MPI process.
nodes_numberinteger(kind=I8P)outMaximum blocks number for all MPI processes (nodes).

Call graph

load_restart_files

Load restart files.

fortran
subroutine load_restart_files(self, basename, t, time, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
basenamecharacter(len=*)inBase name of output files.
tinteger(kind=I4P)outTime iteration.
timereal(kind=R8P)outTime.
qreal(kind=R8P)inoutField cell centered variables.

Call graph

initialize

Initialize ADAM.

fortran
subroutine initialize(self, nb, file_parameters, do_grid_init, ni, nj, nk, ngc, emin, emax, bc_type, do_tree_init, max_load, nodes_number, buckets_number, ratio, max_level, add_adam, iu_ref_levels, i_prune, j_prune, k_prune, l_prune, do_maps_init, do_field_init, nv, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
nbinteger(kind=I4P)inNumber of all blocks that can be stored in field.
file_parameterstype(file_ini)inoutoptionalINI file handler.
do_grid_initlogicalinoptionalFlag to activate grid initialize.
niinteger(kind=I4P)inoptionalNumber of cells in X direction.
njinteger(kind=I4P)inoptionalNumber of cells in Y direction.
nkinteger(kind=I4P)inoptionalNumber of cells in Z direction.
ngcinteger(kind=I4P)inoptionalNumber of ghost cells.
eminreal(kind=R8P)inoptionalCoordinates of minium abscissa.
emaxreal(kind=R8P)inoptionalCoordinates of maxium abscissa.
bc_typeinteger(kind=I4P)inoptionalType of boundary conditions in the 6 faces of grid.
do_tree_initlogicalinoptionalFlag to activate tree initialize.
max_loadreal(kind=R8P)inoptionalMaximum load of tree buckets.
nodes_numberinteger(kind=I8P)inoptionalNodes number to be stored in the tree.
buckets_numberinteger(kind=I8P)inoptionalNumber of buckets for initialize the tree.
ratiointeger(kind=I4P)inoptionalRefinement ratio.
max_levelinteger(kind=I4P)inoptionalMaximum refinement level.
add_adamlogicalinoptionalAdd ADAM node, the ancestor of all nodes.
iu_ref_levelsinteger(kind=I4P)inoptionalUniform initial refinement.
i_pruneinteger(kind=I4P)inoptionalPruning along x.
j_pruneinteger(kind=I4P)inoptionalPruning along y.
k_pruneinteger(kind=I4P)inoptionalPruning along z.
l_pruneinteger(kind=I4P)inoptionalPruning level.
do_maps_initlogicalinoptionalFlag to activate maps initialize.
do_field_initlogicalinoptionalFlag to activate field initialize.
nvinteger(kind=I4P)inoptionalNumber of field variables.
qreal(kind=R8P)inoutallocatable, optionalField cell centered variables.

Call graph

interpolate_at_point

Interpolate a scalar variable at a given point.

fortran
subroutine interpolate_at_point(self, itype, point, q, qp, is_mine, p, qc, ijk, xyz, code, v)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
itypecharacter(len=*)inType of interpolation.
pointreal(kind=R8P)inInterpolation point xyz coordinates.
qreal(kind=R8P)inQ variables to be interpolated.
qpreal(kind=R8P)outQ variables interpolated at given point.
is_minelogicaloutFlag to check if point interpolation belongs to myrank.
pinteger(kind=I4P)inoptionalPower parameter.
qcreal(kind=R8P)outoptionalClosest cells q-variable values.
ijkinteger(kind=I4P)outoptionalClosest cells indexes.
xyzreal(kind=R8P)outoptionalClosest cells center-coordinates.
codeinteger(kind=I8P)outoptionalClosest block Morton code.
vinteger(kind=I4P)outoptionalClosest vertex index.

Call graph

make_comm_local_maps_ghost_bc

Make communication/local maps of ghost cells and boundary conditions.

fortran
subroutine make_comm_local_maps_ghost_bc(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.

Call graph

mpi_gather_refinement_needed

Gather refinement needed.

fortran
subroutine mpi_gather_refinement_needed(self, is_marked_by_field, is_marked_by_tree)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
is_marked_by_fieldlogicalinoptionalFlag to check if marker is field.
is_marked_by_treelogicalinoptionalFlag to check if marker is tree.

Call graph

mpi_redistribute

Redistribute nodes/blocks to processes, load balancing.

fortran
subroutine mpi_redistribute(self, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
qreal(kind=R8P)inoutField cell centered variables.

Call graph

prune

Prune nodes/blocks.

fortran
subroutine prune(self, q, ijkl_prune, do_blocks_reorder)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutAdam.
qreal(kind=R8P)inoutField cell centered variables.
ijkl_pruneinteger(kind=I4P)inoutMaximum coordinates after which the prune operates.
do_blocks_reorderlogicalinoptionalFlag to activate blocks reorder.

Call graph

refine_uniform

Refine all blocks uniformly.

fortran
subroutine refine_uniform(self, refinement_levels, q, do_mpi_redistribute, do_blocks_reorder)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutAdam.
refinement_levelsinteger(kind=I4P)inNumber of refinement to be performed.
qreal(kind=R8P)inoutField cell centered variables.
do_mpi_redistributelogicalinoptionalFlag to activate MPI redistribute.
do_blocks_reorderlogicalinoptionalFlag to activate blocks reorder.

Call graph

save_restart_files

Save restart files.

fortran
subroutine save_restart_files(self, basename, t, time, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inADAM.
basenamecharacter(len=*)inBase name of output files.
tinteger(kind=I4P)inTime iteration.
timereal(kind=R8P)inTime.
qreal(kind=R8P)inField cell centered variables.

Call graph

save_hdf5

Save ADAM in HDF5 format.

fortran
subroutine save_hdf5(self, basename, q, q_aux, q_name, q_aux_name, phi, directory, with_ghost, with_cell_morton, t, time)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
basenamecharacter(len=*)inBase name of output files.
qreal(kind=R8P)inQ variables to be saved.
q_auxreal(kind=R8P)inoptionalQ auxiliary variables to be saved.
q_namecharacter(len=*)inoptionalQ variables names.
q_aux_namecharacter(len=*)inoptionalQ auxiliary variables names.
phireal(kind=R8P)inoptional(IB) distance function.
directorycharacter(len=*)inoptionalDirectory name of output files.
with_ghostlogicalinoptionalFlag to save ghost cells.
with_cell_mortonlogicalinoptionalFlag to save Morton code also in cells.
tinteger(kind=I4P)inoptionalTime iteration.
timereal(kind=R8P)inoptionalTime.

Call graph

save_slice

Save slice.

fortran
subroutine save_slice(self, itype, points, basename, q, q_name, phi, t, time)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
itypecharacter(len=*)inType of interpolation.
pointsreal(kind=R8P)inInterpolation points coordinates [1:3,1:ni,1:nj,1:nk].
basenamecharacter(len=*)inBase name of output files.
qreal(kind=R8P)inQ variables to be saved.
q_namecharacter(len=*)inoptionalVariables names.
phireal(kind=R8P)inoptionalDistance function.
tinteger(kind=I4P)inoptionalTime iteration.
timereal(kind=R8P)inoptionalTime.

Call graph

save_vtk

Save ADAM in VTK files.

fortran
subroutine save_vtk(self, basename, q, q_aux, q_name, q_aux_name, directory, with_ghost, with_cell_morton, t, time)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
basenamecharacter(len=*)inBase name of output files.
qreal(kind=R8P)inQ variables to be saved.
q_auxreal(kind=R8P)inoptionalQ auxiliary variables to be saved.
q_namecharacter(len=*)inoptionalVariables names.
q_aux_namecharacter(len=*)inoptionalQ auxiliary variables names.
directorycharacter(len=*)inoptionalOutput directory name.
with_ghostlogicalinoptionalFlag to save ghost cells.
with_cell_mortonlogicalinoptionalFlag to save Morton code in cells.
tinteger(kind=I4P)inoptionalTime iteration.
timereal(kind=R8P)inoptionalTime.

Call graph

save_xh5f

Save ADAM in XH5F format.

fortran
subroutine save_xh5f(self, basename, q, q_name, directory, with_ghost, with_cell_morton, t, time, q_a1, q_a1_name, q_a2, q_a2_name, q_a3, q_a3_name, s_a1, s_a1_name, s_a2, s_a2_name, s_a3, s_a3_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
basenamecharacter(len=*)inBase name of output files.
qreal(kind=R8P)inQ-vector variables [nv,ni,nj,nk,nb].
q_namecharacter(len=*)inoptionalQ-vector variables names [nv].
directorycharacter(len=*)inoptionalDirectory name of output files.
with_ghostlogicalinoptionalFlag to save ghost cells.
with_cell_mortonlogicalinoptionalFlag to save Morton code also in cells.
tinteger(kind=I4P)inoptionalTime iteration.
timereal(kind=R8P)inoptionalTime.
q_a1real(kind=R8P)inoptionalQ-vector auxiliary 1 variables [nv,ni,nj,nk,nb].
q_a1_namecharacter(len=*)inoptionalQ-vector auxiliary 1 variables names [nv].
q_a2real(kind=R8P)inoptionalQ-vector auxiliary 2 variables [nv,ni,nj,nk,nb].
q_a2_namecharacter(len=*)inoptionalQ-vector auxiliary 2 variables names [nv].
q_a3real(kind=R8P)inoptionalQ-vector auxiliary 3 variables [nv,ni,nj,nk,nb].
q_a3_namecharacter(len=*)inoptionalQ-vector auxiliary 3 variables names [nv].
s_a1real(kind=R8P)inoptionalScalar auxiliary 1 variable [ni,nj,nk,nb].
s_a1_namecharacter(len=*)inoptionalScalar auxiliary 1 variable name.
s_a2real(kind=R8P)inoptionalScalar auxiliary 2 variable [ni,nj,nk,nb].
s_a2_namecharacter(len=*)inoptionalScalar auxiliary 2 variable name.
s_a3real(kind=R8P)inoptionalScalar auxiliary 3 variable [ni,nj,nk,nb].
s_a3_namecharacter(len=*)inoptionalScalar auxiliary 3 variable name.

Call graph

save_xh5f_field_3D_R8P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind R8P.

fortran
subroutine save_xh5f_field_3D_R8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R8P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_R8P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind R8P.

fortran
subroutine save_xh5f_field_4D_R8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R8P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

save_xh5f_field_3D_R4P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind R4P.

fortran
subroutine save_xh5f_field_3D_R4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R4P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_R4P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind R4P.

fortran
subroutine save_xh5f_field_4D_R4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R4P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

save_xh5f_field_3D_I8P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind I8P.

fortran
subroutine save_xh5f_field_3D_I8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I8P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_I8P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I8P.

fortran
subroutine save_xh5f_field_4D_I8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I8P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

save_xh5f_field_3D_I4P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind I4P.

fortran
subroutine save_xh5f_field_3D_I4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I4P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_I4P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I4P.

fortran
subroutine save_xh5f_field_4D_I4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I4P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

save_xh5f_field_3D_I2P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind I2P.

fortran
subroutine save_xh5f_field_3D_I2P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I2P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_I2P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I2P.

fortran
subroutine save_xh5f_field_4D_I2P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I2P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

save_xh5f_field_3D_I1P

Save q-vector/s-scalar fields by XH5F file handler, rank 3, kind I1P.

fortran
subroutine save_xh5f_field_3D_I1P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I1P)inScalar field [ni,nj,nk].
q_namecharacter(len=*)inoptionalScalar field name.

Call graph

save_xh5f_field_4D_I1P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I1P.

fortran
subroutine save_xh5f_field_4D_I1P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inoutADAM.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I1P)inVector fields [nv,ni,nj,nk].
q_namecharacter(len=*)inoptionalVector fields names [nv].

Call graph

close_hdf5

Close HDF5 file.

fortran
subroutine close_hdf5(h5_file_id, h5_dspace_id)

Arguments

NameTypeIntentAttributesDescription
h5_file_idinteger(kind=HID_T)inH5 File identifier.
h5_dspace_idinteger(kind=HID_T)inH5 Dataspace identifier.

Call graph

open_hdf5

Open HDF5 file.

fortran
subroutine open_hdf5(h5_file_name, ni, nj, nk, h5_file_id, h5_dspace_id)

Arguments

NameTypeIntentAttributesDescription
h5_file_namecharacter(len=*)inH5 file name.
niinteger(kind=I8P)inBlocks dimensions.
njinteger(kind=I8P)inBlocks dimensions.
nkinteger(kind=I8P)inBlocks dimensions.
h5_file_idinteger(kind=HID_T)outH5 File identifier.
h5_dspace_idinteger(kind=HID_T)outH5 Dataspace identifier.

Call graph

save_hdf5_block

Save block into HDF5 file.

fortran
subroutine save_hdf5_block(h5_file_id, h5_dspace_id, myrank, code, block_index, ii, jj, kk, q, q_name, with_cell_morton, q_aux_name, q_aux, phi)

Arguments

NameTypeIntentAttributesDescription
h5_file_idinteger(kind=HID_T)inH5 File identifier.
h5_dspace_idinteger(kind=HID_T)inH5 Dataspace identifier.
myrankinteger(kind=I4P)inMPI rank process.
codeinteger(kind=I8P)inBlock Morton code.
block_indexinteger(kind=I8P)inBlock index.
iiinteger(kind=I4P)inFirst and last i indexes.
jjinteger(kind=I4P)inFirst and last j indexes.
kkinteger(kind=I4P)inFirst and last k indexes.
qreal(kind=R8P)inQ variables to be saved.
q_namecharacter(len=*)inQ variables names.
with_cell_mortonlogicalinFlag to save Morton code also in cells.
q_aux_namecharacter(len=*)inQ auxiliary variables names.
q_auxreal(kind=R8P)inoptionalQ auxiliary variables to be saved.
phireal(kind=R8P)inoptional(IB) distance function.

Call graph

close_xdmf

Close XDMF file.

fortran
subroutine close_xdmf(file_unit)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)inXDMF file unit.

Call graph

open_xdmf

Open XDMF file.

fortran
subroutine open_xdmf(file_name, file_unit)

Arguments

NameTypeIntentAttributesDescription
file_namecharacter(len=*)inXDMF file name.
file_unitinteger(kind=I4P)outXDMF file unit.

Call graph

save_xdmf_block

Save XDMF block.

fortran
subroutine save_xdmf_block(file_unit, h5_file_name, rank, code, block_index, emin, dxyz, nijk, q_name, with_cell_morton, q_aux_name, solids_number, t, time)

Arguments

NameTypeIntentAttributesDescription
file_unitinteger(kind=I4P)inXDMF file unit.
h5_file_namecharacter(len=*)inH5 file name.
rankinteger(kind=I4P)inMPI rank.
codeinteger(kind=I8P)inBlock Morton code.
block_indexinteger(kind=I8P)inBlock index.
eminreal(kind=R8P)inBlock minimum extents.
dxyzreal(kind=R8P)inBlock space steps.
nijkinteger(kind=I4P)inBlock dimensions.
q_namecharacter(len=*)inQ variables names.
with_cell_mortonlogicalinFlag to save Morton code also in cells.
q_aux_namecharacter(len=:)inallocatableQ auxiliary variables names.
solids_numberinteger(kind=I4P)inNumber of IB solids.
tinteger(kind=I4P)inoptionalTime iteration.
timereal(kind=R8P)inoptionalTime.

Call graph

Functions

description

Return a pretty-formatted object description.

Attributes: pure

Returns: character(len=:)

fortran
function description(self) result(desc)

Arguments

NameTypeIntentAttributesDescription
selfclass(adam_object)inAdam.

Call graph