Appearance
adam_adam_object
ADAM, ADAM class definition.
Source: src/lib/common/adam_adam_object.F90
Dependencies
Contents
- adam_object
- adapt
- amr_update
- blocks_reorder
- check_blocks_number
- compute_blocks_number
- load_restart_files
- initialize
- interpolate_at_point
- make_comm_local_maps_ghost_bc
- mpi_gather_refinement_needed
- mpi_redistribute
- prune
- refine_uniform
- save_restart_files
- save_hdf5
- save_slice
- save_vtk
- save_xh5f
- save_xh5f_field_3D_R8P
- save_xh5f_field_4D_R8P
- save_xh5f_field_3D_R4P
- save_xh5f_field_4D_R4P
- save_xh5f_field_3D_I8P
- save_xh5f_field_4D_I8P
- save_xh5f_field_3D_I4P
- save_xh5f_field_4D_I4P
- save_xh5f_field_3D_I2P
- save_xh5f_field_4D_I2P
- save_xh5f_field_3D_I1P
- save_xh5f_field_4D_I1P
- close_hdf5
- open_hdf5
- save_hdf5_block
- close_xdmf
- open_xdmf
- save_xdmf_block
- description
Derived Types
adam_object
ADAM class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
mpih | type(mpih_object) | The MPI handler. | |
grid | type(grid_object) | The grid. | |
tree | type(tree_object) | The tree. | |
maps | type(maps_object) | The maps. | |
field | type(field_object) | The field. | |
io | type(io_object) | The IO handler. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
adapt | pass(self) | Adapt tree/field accordingly to refine/derefine necessity. |
amr_update | pass(self) | Update AMR status. |
blocks_reorder | pass(self) | Reorder blocks (for asyncrhonous MPI) |
check_blocks_number | pass(self) | Check if blocks number is groving too much. |
compute_blocks_number | pass(self) | Compute maximum blocks number allocatable on memory available. |
description | pass(self) | Return pretty-printed object description. |
initialize | pass(self) | Initialize ADAM. |
interpolate_at_point | pass(self) | Interpolate a scalar variable at a given point. |
load_restart_files | pass(self) | Load restart files. |
make_comm_local_maps_ghost_bc | pass(self) | Make communication/local maps of ghost cells. |
mpi_gather_refinement_needed | pass(self) | Gather refinement needed. |
mpi_redistribute | pass(self) | Redistribute nodes/blocks to processes, load balancing. |
prune | pass(self) | Prune nodes/blocks. |
refine_uniform | pass(self) | Refine all blocks uniformly. |
save_hdf5 | pass(self) | Save ADAM in HDF5 format. |
save_restart_files | pass(self) | Save restart files. |
save_slice | pass(self) | Save slice. |
save_vtk | pass(self) | Save ADAM in VTK format. |
save_xh5f | pass(self) | Save ADAM in XH5F format. |
save_xh5f_field | Save fields by XH5F file handler. | |
save_xh5f_field_3D_R8P | pass(self) | Save fields by XH5F file handler, rank 3D, kind R8P. |
save_xh5f_field_4D_R8P | pass(self) | Save fields by XH5F file handler, rank 4D, kind R8P. |
save_xh5f_field_3D_R4P | pass(self) | Save fields by XH5F file handler, rank 3D, kind R4P. |
save_xh5f_field_4D_R4P | pass(self) | Save fields by XH5F file handler, rank 4D, kind R4P. |
save_xh5f_field_3D_I8P | pass(self) | Save fields by XH5F file handler, rank 3D, kind I8P. |
save_xh5f_field_4D_I8P | pass(self) | Save fields by XH5F file handler, rank 4D, kind I8P. |
save_xh5f_field_3D_I4P | pass(self) | Save fields by XH5F file handler, rank 3D, kind I4P. |
save_xh5f_field_4D_I4P | pass(self) | Save fields by XH5F file handler, rank 4D, kind I4P. |
save_xh5f_field_3D_I2P | pass(self) | Save fields by XH5F file handler, rank 3D, kind I2P. |
save_xh5f_field_4D_I2P | pass(self) | Save fields by XH5F file handler, rank 4D, kind I2P. |
save_xh5f_field_3D_I1P | pass(self) | Save fields by XH5F file handler, rank 3D, kind I1P. |
save_xh5f_field_4D_I1P | pass(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
q | real(kind=R8P) | inout | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
q | real(kind=R8P) | inout | Field cell centered variables. | |
is_marked_by_field | logical | in | optional | Flag to check if marker is field. |
is_marked_by_tree | logical | in | optional | Flag to check if marker is tree. |
do_mpi_redistribute | logical | in | optional | Flag to activate MPI redistribute. |
do_blocks_reorder | logical | in | optional | Flag to activate blocks reorder. |
is_grid_changed | logical | out | optional | Flag to check if grid is changed. |
Call graph
blocks_reorder
Reorder blocks (for asyncrhonous MPI)
fortran
subroutine blocks_reorder(self, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
q | real(kind=R8P) | inout | Field cell centered variables. |
Call graph
check_blocks_number
Check if blocks number is groving too much.
fortran
subroutine check_blocks_number(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. |
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | in | ADAM. | |
memory_avail | real(kind=R8P) | in | Memory available for single MPI process (GBytes). | |
fields_number | integer(kind=I4P) | in | Fields number. | |
nb | integer(kind=I4P) | out | Maximum blocks number for single MPI process. | |
nodes_number | integer(kind=I8P) | out | Maximum 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
basename | character(len=*) | in | Base name of output files. | |
t | integer(kind=I4P) | out | Time iteration. | |
time | real(kind=R8P) | out | Time. | |
q | real(kind=R8P) | inout | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
nb | integer(kind=I4P) | in | Number of all blocks that can be stored in field. | |
file_parameters | type(file_ini) | inout | optional | INI file handler. |
do_grid_init | logical | in | optional | Flag to activate grid initialize. |
ni | integer(kind=I4P) | in | optional | Number of cells in X direction. |
nj | integer(kind=I4P) | in | optional | Number of cells in Y direction. |
nk | integer(kind=I4P) | in | optional | Number of cells in Z direction. |
ngc | integer(kind=I4P) | in | optional | Number of ghost cells. |
emin | real(kind=R8P) | in | optional | Coordinates of minium abscissa. |
emax | real(kind=R8P) | in | optional | Coordinates of maxium abscissa. |
bc_type | integer(kind=I4P) | in | optional | Type of boundary conditions in the 6 faces of grid. |
do_tree_init | logical | in | optional | Flag to activate tree initialize. |
max_load | real(kind=R8P) | in | optional | Maximum load of tree buckets. |
nodes_number | integer(kind=I8P) | in | optional | Nodes number to be stored in the tree. |
buckets_number | integer(kind=I8P) | in | optional | Number of buckets for initialize the tree. |
ratio | integer(kind=I4P) | in | optional | Refinement ratio. |
max_level | integer(kind=I4P) | in | optional | Maximum refinement level. |
add_adam | logical | in | optional | Add ADAM node, the ancestor of all nodes. |
iu_ref_levels | integer(kind=I4P) | in | optional | Uniform initial refinement. |
i_prune | integer(kind=I4P) | in | optional | Pruning along x. |
j_prune | integer(kind=I4P) | in | optional | Pruning along y. |
k_prune | integer(kind=I4P) | in | optional | Pruning along z. |
l_prune | integer(kind=I4P) | in | optional | Pruning level. |
do_maps_init | logical | in | optional | Flag to activate maps initialize. |
do_field_init | logical | in | optional | Flag to activate field initialize. |
nv | integer(kind=I4P) | in | optional | Number of field variables. |
q | real(kind=R8P) | inout | allocatable, optional | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
itype | character(len=*) | in | Type of interpolation. | |
point | real(kind=R8P) | in | Interpolation point xyz coordinates. | |
q | real(kind=R8P) | in | Q variables to be interpolated. | |
qp | real(kind=R8P) | out | Q variables interpolated at given point. | |
is_mine | logical | out | Flag to check if point interpolation belongs to myrank. | |
p | integer(kind=I4P) | in | optional | Power parameter. |
qc | real(kind=R8P) | out | optional | Closest cells q-variable values. |
ijk | integer(kind=I4P) | out | optional | Closest cells indexes. |
xyz | real(kind=R8P) | out | optional | Closest cells center-coordinates. |
code | integer(kind=I8P) | out | optional | Closest block Morton code. |
v | integer(kind=I4P) | out | optional | Closest 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. |
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
is_marked_by_field | logical | in | optional | Flag to check if marker is field. |
is_marked_by_tree | logical | in | optional | Flag to check if marker is tree. |
Call graph
mpi_redistribute
Redistribute nodes/blocks to processes, load balancing.
fortran
subroutine mpi_redistribute(self, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
q | real(kind=R8P) | inout | Field cell centered variables. |
Call graph
prune
Prune nodes/blocks.
fortran
subroutine prune(self, q, ijkl_prune, do_blocks_reorder)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | Adam. | |
q | real(kind=R8P) | inout | Field cell centered variables. | |
ijkl_prune | integer(kind=I4P) | inout | Maximum coordinates after which the prune operates. | |
do_blocks_reorder | logical | in | optional | Flag 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | Adam. | |
refinement_levels | integer(kind=I4P) | in | Number of refinement to be performed. | |
q | real(kind=R8P) | inout | Field cell centered variables. | |
do_mpi_redistribute | logical | in | optional | Flag to activate MPI redistribute. |
do_blocks_reorder | logical | in | optional | Flag to activate blocks reorder. |
Call graph
save_restart_files
Save restart files.
fortran
subroutine save_restart_files(self, basename, t, time, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | in | ADAM. | |
basename | character(len=*) | in | Base name of output files. | |
t | integer(kind=I4P) | in | Time iteration. | |
time | real(kind=R8P) | in | Time. | |
q | real(kind=R8P) | in | Field 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
basename | character(len=*) | in | Base name of output files. | |
q | real(kind=R8P) | in | Q variables to be saved. | |
q_aux | real(kind=R8P) | in | optional | Q auxiliary variables to be saved. |
q_name | character(len=*) | in | optional | Q variables names. |
q_aux_name | character(len=*) | in | optional | Q auxiliary variables names. |
phi | real(kind=R8P) | in | optional | (IB) distance function. |
directory | character(len=*) | in | optional | Directory name of output files. |
with_ghost | logical | in | optional | Flag to save ghost cells. |
with_cell_morton | logical | in | optional | Flag to save Morton code also in cells. |
t | integer(kind=I4P) | in | optional | Time iteration. |
time | real(kind=R8P) | in | optional | Time. |
Call graph
save_slice
Save slice.
fortran
subroutine save_slice(self, itype, points, basename, q, q_name, phi, t, time)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
itype | character(len=*) | in | Type of interpolation. | |
points | real(kind=R8P) | in | Interpolation points coordinates [1:3,1:ni,1:nj,1:nk]. | |
basename | character(len=*) | in | Base name of output files. | |
q | real(kind=R8P) | in | Q variables to be saved. | |
q_name | character(len=*) | in | optional | Variables names. |
phi | real(kind=R8P) | in | optional | Distance function. |
t | integer(kind=I4P) | in | optional | Time iteration. |
time | real(kind=R8P) | in | optional | Time. |
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
basename | character(len=*) | in | Base name of output files. | |
q | real(kind=R8P) | in | Q variables to be saved. | |
q_aux | real(kind=R8P) | in | optional | Q auxiliary variables to be saved. |
q_name | character(len=*) | in | optional | Variables names. |
q_aux_name | character(len=*) | in | optional | Q auxiliary variables names. |
directory | character(len=*) | in | optional | Output directory name. |
with_ghost | logical | in | optional | Flag to save ghost cells. |
with_cell_morton | logical | in | optional | Flag to save Morton code in cells. |
t | integer(kind=I4P) | in | optional | Time iteration. |
time | real(kind=R8P) | in | optional | Time. |
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
basename | character(len=*) | in | Base name of output files. | |
q | real(kind=R8P) | in | Q-vector variables [nv,ni,nj,nk,nb]. | |
q_name | character(len=*) | in | optional | Q-vector variables names [nv]. |
directory | character(len=*) | in | optional | Directory name of output files. |
with_ghost | logical | in | optional | Flag to save ghost cells. |
with_cell_morton | logical | in | optional | Flag to save Morton code also in cells. |
t | integer(kind=I4P) | in | optional | Time iteration. |
time | real(kind=R8P) | in | optional | Time. |
q_a1 | real(kind=R8P) | in | optional | Q-vector auxiliary 1 variables [nv,ni,nj,nk,nb]. |
q_a1_name | character(len=*) | in | optional | Q-vector auxiliary 1 variables names [nv]. |
q_a2 | real(kind=R8P) | in | optional | Q-vector auxiliary 2 variables [nv,ni,nj,nk,nb]. |
q_a2_name | character(len=*) | in | optional | Q-vector auxiliary 2 variables names [nv]. |
q_a3 | real(kind=R8P) | in | optional | Q-vector auxiliary 3 variables [nv,ni,nj,nk,nb]. |
q_a3_name | character(len=*) | in | optional | Q-vector auxiliary 3 variables names [nv]. |
s_a1 | real(kind=R8P) | in | optional | Scalar auxiliary 1 variable [ni,nj,nk,nb]. |
s_a1_name | character(len=*) | in | optional | Scalar auxiliary 1 variable name. |
s_a2 | real(kind=R8P) | in | optional | Scalar auxiliary 2 variable [ni,nj,nk,nb]. |
s_a2_name | character(len=*) | in | optional | Scalar auxiliary 2 variable name. |
s_a3 | real(kind=R8P) | in | optional | Scalar auxiliary 3 variable [ni,nj,nk,nb]. |
s_a3_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | real(kind=R8P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | real(kind=R8P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | real(kind=R4P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | real(kind=R4P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I8P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I8P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I4P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I4P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I2P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I2P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I1P) | in | Scalar field [ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Scalar 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | inout | ADAM. | |
xh5f | type(xh5f_file_object) | inout | XH5F file handler. | |
block_name | character(len=*) | in | Block name. | |
ijk | integer(kind=I4P) | in | Blocks extents. | |
nijk | integer(kind=I8P) | in | Blocks dimensions. | |
q | integer(kind=I1P) | in | Vector fields [nv,ni,nj,nk]. | |
q_name | character(len=*) | in | optional | Vector fields names [nv]. |
Call graph
close_hdf5
Close HDF5 file.
fortran
subroutine close_hdf5(h5_file_id, h5_dspace_id)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
h5_file_id | integer(kind=HID_T) | in | H5 File identifier. | |
h5_dspace_id | integer(kind=HID_T) | in | H5 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
h5_file_name | character(len=*) | in | H5 file name. | |
ni | integer(kind=I8P) | in | Blocks dimensions. | |
nj | integer(kind=I8P) | in | Blocks dimensions. | |
nk | integer(kind=I8P) | in | Blocks dimensions. | |
h5_file_id | integer(kind=HID_T) | out | H5 File identifier. | |
h5_dspace_id | integer(kind=HID_T) | out | H5 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
h5_file_id | integer(kind=HID_T) | in | H5 File identifier. | |
h5_dspace_id | integer(kind=HID_T) | in | H5 Dataspace identifier. | |
myrank | integer(kind=I4P) | in | MPI rank process. | |
code | integer(kind=I8P) | in | Block Morton code. | |
block_index | integer(kind=I8P) | in | Block index. | |
ii | integer(kind=I4P) | in | First and last i indexes. | |
jj | integer(kind=I4P) | in | First and last j indexes. | |
kk | integer(kind=I4P) | in | First and last k indexes. | |
q | real(kind=R8P) | in | Q variables to be saved. | |
q_name | character(len=*) | in | Q variables names. | |
with_cell_morton | logical | in | Flag to save Morton code also in cells. | |
q_aux_name | character(len=*) | in | Q auxiliary variables names. | |
q_aux | real(kind=R8P) | in | optional | Q auxiliary variables to be saved. |
phi | real(kind=R8P) | in | optional | (IB) distance function. |
Call graph
close_xdmf
Close XDMF file.
fortran
subroutine close_xdmf(file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | XDMF file unit. |
Call graph
open_xdmf
Open XDMF file.
fortran
subroutine open_xdmf(file_name, file_unit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_name | character(len=*) | in | XDMF file name. | |
file_unit | integer(kind=I4P) | out | XDMF 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
file_unit | integer(kind=I4P) | in | XDMF file unit. | |
h5_file_name | character(len=*) | in | H5 file name. | |
rank | integer(kind=I4P) | in | MPI rank. | |
code | integer(kind=I8P) | in | Block Morton code. | |
block_index | integer(kind=I8P) | in | Block index. | |
emin | real(kind=R8P) | in | Block minimum extents. | |
dxyz | real(kind=R8P) | in | Block space steps. | |
nijk | integer(kind=I4P) | in | Block dimensions. | |
q_name | character(len=*) | in | Q variables names. | |
with_cell_morton | logical | in | Flag to save Morton code also in cells. | |
q_aux_name | character(len=:) | in | allocatable | Q auxiliary variables names. |
solids_number | integer(kind=I4P) | in | Number of IB solids. | |
t | integer(kind=I4P) | in | optional | Time iteration. |
time | real(kind=R8P) | in | optional | Time. |
Call graph
Functions
description
Return a pretty-formatted object description.
Attributes: pure
Returns: character(len=:)
fortran
function description(self) result(desc)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(adam_object) | in | Adam. |
Call graph