The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
MPI constructs and subroutines for global operations.
MPI types for global mesh information
Functions to intialize the MPI structure
Functions/Subroutines | |
subroutine | bmesh_global_init (self) |
Driver for global mesh initialization. | |
subroutine | bmesh_global_link (self, parent) |
Driver for global seam linkage construction. | |
subroutine | elinkage_from_parent (self, parent) |
Construct processor to processor edge linkage for stitching operations. | |
subroutine | mesh_global_decomp (self, part_meth) |
Perform mesh decomposition and local construction. | |
subroutine | mesh_global_elinkage (self) |
Construct processor to processor edge linkage for stitching operations. | |
subroutine | mesh_global_flinkage (self) |
Construct processor to processor face linkage for stitching operations. | |
subroutine | mesh_global_init (self) |
Driver for global mesh initialization. | |
subroutine | mesh_global_link (self) |
Driver for global seam linkage construction. | |
subroutine | mesh_global_partition (self, meshpart, part_meth) |
Perform mesh decomposition (METIS) and local construction. | |
subroutine | mesh_global_plinkage (self) |
Construct processor to processor point linkage for stitching operations. | |
subroutine | mesh_global_proccon (self, lptmp, np) |
Determine neighboring processors for MPI linkage. | |
subroutine | mesh_global_sync (self) |
Scatters base mesh information to all processors. | |
subroutine | plinkage_from_parent (self, parent) |
Construct processor to processor point linkage for stitching operations. | |
subroutine | smesh_global_init (self) |
Driver for global mesh initialization. | |
subroutine bmesh_global_init | ( | class(oft_mesh), intent(inout) | self | ) |
Driver for global mesh initialization.
Initialize global mesh enviroment
[in,out] | self | Mesh object |
subroutine bmesh_global_link | ( | class(oft_bmesh), intent(inout) | self, |
class(oft_mesh), intent(inout), optional | parent | ||
) |
Driver for global seam linkage construction.
Construct inter-processor linkage information
[in,out] | self | Mesh object |
[in,out] | parent | Parent volume mesh (if present) |
subroutine elinkage_from_parent | ( | class(oft_bmesh), intent(inout) | self, |
class(oft_mesh), intent(inout) | parent | ||
) |
Construct processor to processor edge linkage for stitching operations.
[in,out] | self | Mesh object |
[in,out] | parent | Parent volume mesh |
subroutine mesh_global_decomp | ( | class(oft_amesh), intent(inout) | self, |
integer(i4), intent(in) | part_meth | ||
) |
Perform mesh decomposition and local construction.
[in,out] | self | Mesh object |
[in] | part_meth | Method to use for partitioning (see mesh_global_partition) |
subroutine mesh_global_elinkage | ( | class(oft_amesh), intent(inout) | self | ) |
Construct processor to processor edge linkage for stitching operations.
[in,out] | self | Mesh object |
subroutine mesh_global_flinkage | ( | class(oft_mesh), intent(inout) | self | ) |
Construct processor to processor face linkage for stitching operations.
[in,out] | self | Mesh object |
subroutine mesh_global_init | ( | class(oft_mesh), intent(inout) | self | ) |
Driver for global mesh initialization.
Initialize global mesh enviroment
[in,out] | self | Mesh object |
subroutine mesh_global_link | ( | class(oft_mesh), intent(inout) | self | ) |
Driver for global seam linkage construction.
Construct inter-processor linkage information
[in,out] | self | Mesh object |
subroutine mesh_global_partition | ( | class(oft_amesh), intent(inout) | self, |
integer(i4), dimension(:), intent(inout) | meshpart, | ||
integer(i4), intent(in) | part_meth | ||
) |
Perform mesh decomposition (METIS) and local construction.
Supported partition methods are:
part_meth==1
: Partition using METIS library2 <= part_meth <= 4
: Axial spatial partitioning along coordinate part_meth-1
part_meth==5
: Cylindrical spatial partitioning in azimuthal direction [in,out] | self | Mesh object |
[in,out] | meshpart | Partition flag [selfnc] |
[in] | part_meth | Method to use for partitioning |
subroutine mesh_global_plinkage | ( | class(oft_amesh), intent(inout) | self | ) |
Construct processor to processor point linkage for stitching operations.
[in,out] | self | Mesh object |
subroutine mesh_global_proccon | ( | class(oft_amesh), intent(inout) | self, |
integer(i4), dimension(np), intent(in) | lptmp, | ||
integer(i4), intent(in) | np | ||
) |
Determine neighboring processors for MPI linkage.
[in,out] | self | Mesh object |
[in] | lptmp | List of global point indices from initialization |
[in] | np | number of points |
subroutine mesh_global_sync | ( | class(oft_amesh), intent(inout) | self | ) |
Scatters base mesh information to all processors.
Scatters mesh information from head task to all other tasks using MPI_BCAST calls.
[in,out] | self | Mesh object |
subroutine plinkage_from_parent | ( | class(oft_bmesh), intent(inout) | self, |
class(oft_mesh), intent(inout) | parent | ||
) |
Construct processor to processor point linkage for stitching operations.
[in,out] | self | Mesh object |
[in,out] | parent | Parent volume mesh |
subroutine smesh_global_init | ( | class(oft_bmesh), intent(inout) | self | ) |
Driver for global mesh initialization.
Initialize global mesh enviroment
[in,out] | self | Mesh object |