![]()  | 
  
    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 533 of file mesh_init.F90.
      
  | 
  private | 
re-distribute the points to improve load balancing
TODO: Add some more information!
Definition at line 806 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 902 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 1174 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.