Skip to content

Commit

Permalink
Added docs for BlockWeightedPartitioner
Browse files Browse the repository at this point in the history
  • Loading branch information
fdkong committed Jul 15, 2019
1 parent 0cea69c commit bd8dd9f
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 2 deletions.
@@ -0,0 +1,34 @@

!template load file=stubs/moose_object.md.template name=BlockWeightedPartitioner syntax=/Mesh/Partitioner/BlockWeightedPartitioner

## Overview

Under multiphysics environment, some mesh blocks have more variables and more work load than others . In parallel, the work
is spread out based on partitioners that assign equal number of elements to each processor. This will causes imbalanced simulations.
BlockWeightedPartitioner allow users to specify different weights for different blocks, e.g., low weights for light blocks
and high weights for heavy blocks. Usage:

```
[Mesh]
type = FileMesh
file = block_weighted_partitioner.e
[Partitioner]
type = BlockWeightedPartitioner
block = '1 2 3'
weight = '3 1 10'
[]
[]
```

An example:

!row!
!col! small=12 medium=6 large=3
!media weightedpartitioner4.png caption=`Weighted partition into 4 subdomains`
!col-end!

!col! small=12 medium=6 large=3
!media noweightedpartitioner4.png caption=`Regular partition into 4 subdomains`
!col-end!
!row-end!
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
19 changes: 17 additions & 2 deletions test/tests/partitioners/block_weighted_partitioner/tests
@@ -1,5 +1,5 @@
[Tests]
design = '/PetscExternalPartitioner.md'
design = '/BlockWeightedPartitioner.md'
issues = '#13675'

[./block_weighted_partitioner]
Expand All @@ -10,6 +10,21 @@
petsc_version = '>=3.10.0'
min_parallel = 4
max_parallel = 4
# different mode generates different partition
mesh_mode = REPLICATED
[../]


[./block_weighted_partitioner_distributed]
requirement = 'The system shall support block weighted partitioner with distributed mesh'
type = 'Exodiff'
input = 'block_weighted_partitioner.i'
exodiff = 'block_weighted_partitioner_out_distributed.e'
cli_args = 'Outputs/file_base=block_weighted_partitioner_out_distributed'
petsc_version = '>=3.10.0'
min_parallel = 4
max_parallel = 4
# different mode generates different partition
mesh_mode = DISTRIBUTED
[../]

[]

0 comments on commit bd8dd9f

Please sign in to comment.