Octopus
|
This module contains subroutines, related to the initialization of the mesh. More...
This module contains subroutines, related to the initialization of the mesh.
Functions/Subroutines | |
subroutine, public | mesh_init_stage_1 (mesh, namespace, space, box, coord_system, spacing, enlarge) |
First stage mesh initialization. More... | |
subroutine, public | mesh_init_stage_2 (mesh, namespace, space, box, stencil, regenerate) |
This subroutine creates the global array of spatial indices and the inverse mapping. More... | |
subroutine, public | mesh_init_stage_3 (mesh, namespace, space, stencil, mc, parent, regenerate) |
When running parallel in domains, stencil and np_stencil are needed to compute the ghost points. mpi_grp is the communicator group that will be used for this mesh. More... | |
subroutine | rebalance_array (data_input, data_output, output_sizes) |
re-distribute the points to improve load balancing More... | |
subroutine | reorder_points (namespace, space, idx, grid_to_spatial, grid_to_spatial_reordered) |
reorder the points in the grid according to the variables MeshOrder and MeshLocalOrder More... | |
subroutine | get_sizes_offsets (local_size, sizes, offsets, mpi_grp) |
return the sizes and offsets of a distributed array for all tasks of a mpi group. More... | |
Variables | |
integer, parameter | inner_point = 1 |
integer, parameter | enlargement_point = 2 |
integer, parameter | boundary = -1 |
subroutine, public mesh_init_oct_m::mesh_init_stage_1 | ( | class(mesh_t), intent(inout) | mesh, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
class(box_t), intent(in), target | box, | ||
class(coordinate_system_t), intent(in), target | coord_system, | ||
real(real64), dimension(1:space%dim), intent(in) | spacing, | ||
integer, dimension(1:space%dim), intent(in) | enlarge | ||
) |
First stage mesh initialization.
The function determines a parallelepiped that surrounds the box. Moreover, it adjusts the spacing to make it commensurate with the box size for periodic dimensions.
Definition at line 169 of file mesh_init.F90.
subroutine, public mesh_init_oct_m::mesh_init_stage_2 | ( | class(mesh_t), intent(inout) | mesh, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
class(box_t), intent(in) | box, | ||
type(stencil_t), intent(in) | stencil, | ||
logical, intent(in), optional | regenerate | ||
) |
This subroutine creates the global array of spatial indices and the inverse mapping.
Spatial indices form a regular mesh in spacedim dimensions with integer valued coordinates.
Definition at line 289 of file mesh_init.F90.
subroutine, public mesh_init_oct_m::mesh_init_stage_3 | ( | class(mesh_t), intent(inout) | mesh, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
type(stencil_t), intent(in) | stencil, | ||
type(multicomm_t), intent(in) | mc, | ||
type(mesh_t), intent(in), optional | parent, | ||
logical, intent(in), optional | regenerate | ||
) |
When running parallel in domains, stencil and np_stencil are needed to compute the ghost points. mpi_grp is the communicator group that will be used for this mesh.
Definition at line 537 of file mesh_init.F90.
|
private |
re-distribute the points to improve load balancing
TODO: Add some more information!
Definition at line 810 of file mesh_init.F90.
|
private |
reorder the points in the grid according to the variables MeshOrder and MeshLocalOrder
see description below.
Definition at line 906 of file mesh_init.F90.
|
private |
return the sizes and offsets of a distributed array for all tasks of a mpi group.
[in] | local_size | local size of the slice |
[out] | sizes | array of all sizes |
[out] | offsets | array of offsets |
[in] | mpi_grp | the MPI group over which the data is distributed |
Definition at line 1178 of file mesh_init.F90.
|
private |
Definition at line 156 of file mesh_init.F90.
|
private |
Definition at line 157 of file mesh_init.F90.
|
private |
Definition at line 158 of file mesh_init.F90.