Skip to content

adam_maps_object

ADAM, maps class definition

Source: src/lib/common/adam_maps_object.F90

Dependencies

Contents

Derived Types

maps_object

Maps class definition

Components

NameTypeAttributesDescription
mpihtype(mpih_object)MPI handler.
gridtype(grid_object)pointerGrid data.
treetype(tree_object)pointerTree data.
local_mapinteger(kind=I8P)allocatableLocal map, list block index changes of my nodes.
local_map_ghostinteger(kind=I8P)allocatableLocal map for ghost cells updating [fec_number, 4].
local_map_ghost_cellinteger(kind=I8P)allocatableLocal map ghost cells update, cells order.
local_map_bc_faceinteger(kind=I8P)allocatableLocal map for face BC ghost cells.
local_map_bc_edgeinteger(kind=I8P)allocatableLocal map for edge BC ghost cells.
local_map_bc_cornerinteger(kind=I8P)allocatableLocal map for corner BC ghost cells.
local_map_bc_crowninteger(kind=I8P)allocatableLocal map for face BC ghost cells, crown order.
my_nodes_numberinteger(kind=I4P)Number of my nodes, keep_nodes_number + recv_nodes_number.
send_nodes_numberinteger(kind=I4P)Number of nodes to be sent.
recv_nodes_numberinteger(kind=I4P)Number of nodes to be received.
keep_nodes_numberinteger(kind=I4P)Number of nodes to be keept.
inner_blocks_numberinteger(kind=I4P)Number of inner blocks where I need fecs.
inner_outer_block_mapinteger(kind=I4P)allocatableInner/outer blocks map.
comm_map_n_sendinteger(kind=I4P)allocatableCommunication map, number of blocks to send [procs_number].
comm_map_n_recvinteger(kind=I4P)allocatableCommunication map, number of blocks to recv [procs_number].
comm_map_send_ptrinteger(kind=I4P)allocatableCommunication map, pointers in list to send [procs_number+1].
comm_map_recv_ptrinteger(kind=I4P)allocatableCommunication map, pointers in list to recv [procs_number+1].
comm_map_sendinteger(kind=I8P)allocatableCommunication map, blocks to send [sum(comm_map_n_send)].
comm_map_recvinteger(kind=I8P)allocatableCommunication map, blocks to receive [sum(comm_map_n_recv)].
comm_map_n_send_ghostinteger(kind=I4P)allocatableCommunication map, number of ghost celss to send [procs_number].
comm_map_n_recv_ghostinteger(kind=I4P)allocatableCommunication map, number of ghost celss to recv [procs_number].
comm_map_send_ptr_ghostinteger(kind=I4P)allocatableCommunication map, pointers in list to send [procs_number+1].
comm_map_recv_ptr_ghostinteger(kind=I4P)allocatableCommunication map, pointers in list to recv [procs_number+1].
comm_map_send_ghostinteger(kind=I8P)allocatableCommunication map, send ghost cells, fec order.
comm_map_send_ghost_cellinteger(kind=I8P)allocatableCommunication map, send ghost cells, cells order.
comm_map_recv_ghostinteger(kind=I8P)allocatableCommunication map, recv ghost cells, fec order.
comm_map_recv_ghost_cellinteger(kind=I8P)allocatableCommunication map, recv ghost cells, cells order.
send_buffer_ghostreal(kind=R8P)allocatableSend buffer of ghost cells.
recv_buffer_ghostreal(kind=R8P)allocatableReceive buffer of ghost cells.

Type-Bound Procedures

NameAttributesDescription
blocks_reorderpass(self)Reorder blocks indexes in field.
initializepass(self)Initialize maps.
make_comm_local_mapspass(self)Make communication/local maps.
make_comm_local_maps_ghostpass(self)Make communication/local maps of ghost cells.
make_local_maps_bcpass(self)Make local maps of boundary conditions.
mpi_gather_nodes_datapass(self)Gather nodes data between MPI processes.
save_local_mappass(self)Save local map.
alloc_comm_local_maps_ghostpass(self)Allocate communication/local maps of ghost cells.
count_bc_numberspass(self)Count BC numbers.
ijk_mmdpass(self)Return IJK min/max/delta.
ijk_mmd_ghostpass(self)Return IJK min/max/delta, ghost maps.
make_comm_map_recv_ghost_cellpass(self)Make communication recv map of ghost cells in cell order.
make_comm_map_send_ghost_cellpass(self)Make communication send map of ghost cells in cell order.
make_local_map_ghost_cellpass(self)Make local map of ghost cells in cell order.
populate_comm_local_maps_ghostpass(self)Populate communication/local maps of ghost cells.

Subroutines

blocks_reorder

Reorder blocks indexes in field.

fortran
subroutine blocks_reorder(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.

Call graph

initialize

Initialize maps.

fortran
subroutine initialize(self, grid, tree)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
gridtype(grid_object)intargetThe grid.
treetype(tree_object)intargetThe tree.

Call graph

make_comm_local_maps

Make communication/local maps.

   comm_map_send     = [ 17, 511, 92, 3, 54, 56, 11, 12...] (block index).
                          |   |       |  ||       |
   comm_map_send_ptr = [  0,  1,  3,  4,  4, 6, (8)]        (pointer to comm_map_send)
   comm_map_recv     = [ 23, 4, 51, 69, 145, 2, 72, 16, 6]  (block index).
                         |       |  ||          |       |
   comm_map_recv_prt = [ 0,  2,  3,  3,  6, 8, (9)]         (pointer to comm_map_recv)
fortran
subroutine make_comm_local_maps(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.

Call graph

make_comm_local_maps_ghost

Make communication/local maps of ghost cells.

fortran
subroutine make_comm_local_maps_ghost(self, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
nvinteger(kind=I4P)inNumber of field variables.

Call graph

mpi_gather_nodes_data

Gather nodes data status between MPI processes.

fortran
subroutine mpi_gather_nodes_data(self, node_member)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
node_membercharacter(len=*)inNode member to be shared.

Call graph

save_local_map

Save local map.

fortran
subroutine save_local_map(self, file_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inThe maps.
file_namecharacter(len=*)inOutput file name.

make_local_maps_bc

Make local maps of boundary conditions.

fortran
subroutine make_local_maps_bc(self, verbose)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
verboselogicalinoptionalFlag to activate verbose mode.

Call graph

alloc_comm_local_maps_ghost

Allocate communication/local maps of ghost cells, local_map_ghost, comm_map_send_ghost, comm_map_recv_ghost.

fortran
subroutine alloc_comm_local_maps_ghost(self, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
nvinteger(kind=I4P)inNumber of field variables.

Call graph

count_bc_numbers

Count faces/edges/corners BC numbers.

fortran
subroutine count_bc_numbers(self, fec_bc_faces_number, fec_bc_edges_number, fec_bc_corners_number)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
fec_bc_faces_numberinteger(kind=I4P)outBC faces number.
fec_bc_edges_numberinteger(kind=I4P)outBC edges number.
fec_bc_corners_numberinteger(kind=I4P)outBC corners number.

Call graph

make_comm_map_recv_ghost_cell

Make communication receive map of ghost cells in cell order.

fortran
subroutine make_comm_map_recv_ghost_cell(self, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
nvinteger(kind=I4P)inNumber of field variables.

Call graph

make_comm_map_send_ghost_cell

Make communication send map of ghost cells in cell order.

fortran
subroutine make_comm_map_send_ghost_cell(self, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.
nvinteger(kind=I4P)inNumber of field variables.

Call graph

make_local_map_ghost_cell

Make local map of ghost cells in cell order.

fortran
subroutine make_local_map_ghost_cell(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.

Call graph

populate_comm_local_maps_ghost

Populate communication/local maps of ghost cells, local_map_ghost, comm_map_send_ghost, comm_map_recv_ghost.

fortran
subroutine populate_comm_local_maps_ghost(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inoutThe maps.

Call graph

populate_local_map_bc_crown

Populate map of BC cells in crown order.

fortran
subroutine populate_local_map_bc_crown(local_map_bc, local_map_bc_crown, c_crown)

Arguments

NameTypeIntentAttributesDescription
local_map_bcinteger(kind=I8P)inLocal map for BC ghost cells.
local_map_bc_crowninteger(kind=I8P)inoutLocal map for face BC ghost cells, crown order.
c_crowninteger(kind=I4P)inoutCounter.

Call graph

set_local_map_bc

Set data into faces/edges/corners local map BC.

fortran
subroutine set_local_map_bc(fec, block_index, neighbor_bc_fec, ijk_min_max_delta, fec_bc_type, local_map_bc)

Arguments

NameTypeIntentAttributesDescription
fecinteger(kind=I4P)inCurrent fec.
block_indexinteger(kind=I8P)inBlock index in field blocks array.
neighbor_bc_fecinteger(kind=I8P)inNeighbors fec for BC.
ijk_min_max_deltainteger(kind=I8P)inIJK min/max/delta.
fec_bc_typeinteger(kind=I8P)inBC type.
local_map_bcinteger(kind=I8P)inoutLocal map BC data.

Call graph

Functions

ijk_mmd

Return IJK min/max/delta.

Returns: integer(kind=I8P)

fortran
function ijk_mmd(self, fec, neighbor_bc_fec) result(ijk_min_max_delta)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inThe maps.
fecinteger(kind=I4P)inCurrent fec number.
neighbor_bc_fecinteger(kind=I4P)inNeighbors fec for BC.

Call graph

ijk_mmd_ghost

Return IJK min/max/delta, ghost maps.

Returns: integer(kind=I8P)

fortran
function ijk_mmd_ghost(self, fec, portion) result(ijk_min_max_delta)

Arguments

NameTypeIntentAttributesDescription
selfclass(maps_object)inThe maps.
fecinteger(kind=I4P)inCurrent fec number.
portioninteger(kind=I8P)inCurrent portion.

Call graph

bc_cells_number

Return BC cells number.

Returns: integer(kind=I4P)

fortran
function bc_cells_number(local_map_bc) result(cells_number)

Arguments

NameTypeIntentAttributesDescription
local_map_bcinteger(kind=I8P)inLocal map for BC ghost cells.

Call graph