Skip to content

Commit

Permalink
Doco for GridPartioner closes idaholab#11437
Browse files Browse the repository at this point in the history
  • Loading branch information
friedmud committed May 6, 2018
1 parent 52dabda commit 16ebdc5
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# GridPartitioner

!syntax description /Mesh/Partitioner/GridPartitioner

## Description

Partitions the mesh by creating a grid in `x,y,z` and assigning each element of the mesh to a separate "cell" within the grid. This is useful when you have simple cartesian meshes and you just want to specify partitioning fairly directly. Sometimes a human is the best partitioner!

!alert warning
The number of cells (`nx*ny*nz`) MUST be equal to the number of MPI processes you're attempting to use!

## How it Works

The GridPartitioner works by creating a [/GeneratedMesh.md] for the "grid". That's the reason why this object takes similar input file parameters to a [/GeneratedMesh.md]. The GeneratedMesh created by GridPartitioner is guaranteed to contain the original domain within it.

To assign the processor IDs the centroid of each element of the mesh to be partitioned is searched for in the GeneratedMesh. The ID of the element of the GeneratedMesh that it lies within is then assigned as the `processor_id`.

!syntax parameters /Mesh/Partitioner/LibmeshPartitioner

!syntax inputs /Mesh/Partitioner/LibmeshPartitioner

!syntax children /Mesh/Partitioner/LibmeshPartitioner

!bibtex bibliography
6 changes: 6 additions & 0 deletions test/tests/partitioners/grid_partitioner/tests
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
[Tests]
[./test]
requirement = 'MOOSE shall provide a simple regular grid-based partitioner'
design = '/GridPartitioner.md'
issues = '#11437'
type = 'Exodiff'
input = 'grid_partitioner.i'
exodiff = 'grid_partitioner_out.e'
min_parallel = 4
max_parallel = 4
[../]
[./error]
requirement = 'MOOSE shall error if the GridPartitioner is run on an incompatible number of processors'
design = '/GridPartitioner.md'
issues = '#11437'
type = 'RunException'
input = 'grid_partitioner.i'
min_parallel = 2
Expand Down

0 comments on commit 16ebdc5

Please sign in to comment.