- partitionerSpecifies a mesh partitioner to use when splitting the mesh for a parallel computation.
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies a mesh partitioner to use when splitting the mesh for a parallel computation.
LibmeshPartitioner
Mesh partitioning using capabilities defined in libMesh.
The libMesh partitioners available are:
METIS
, which uses the METIS library for graph partitioningParMETIS
, which uses the parallel METIS library for graph partitioninglinear
partitioner, which partitions elements based solely on their ids.centroid
partitioner, which partitions based on the element centroids. An ordering relation must be created to order the element centroidshilbert_sfc
partitioner which uses Hilbert's space filling curve algorithmmorton_sfc
partitioner which uses Morton's space filling curve algorithmsubdomain partitioner
, which partitions using the element subdomains
The LibmeshPartitioner
partitions the mesh, not the numerical system. If parts of the mesh have more variables/DoFs than others, this may cause imbalance.
Example input syntax
In this example, a LibmeshPartitioner
is used to perform linear partitioning of the mesh.
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 100
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 10.0
[]
# Custom linear partitioner
[./Partitioner]
type = LibmeshPartitioner
partitioner = linear
[../]
parallel_type = replicated
[]
(moose/test/tests/mesh/custom_partitioner/custom_linear_partitioner_test.i)Input Parameters
- blocksBlock is seperated by ;, and partition mesh block by block.
C++ Type:std::vector<std::vector<SubdomainName>>
Unit:(no unit assumed)
Controllable:No
Description:Block is seperated by ;, and partition mesh block by block.
- centroid_partitioner_directionSpecifies the sort direction if using the centroid partitioner. Available options: x, y, z, radial
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies the sort direction if using the centroid partitioner. Available options: x, y, z, radial
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Set the enabled status of the MooseObject.