A libMesh partitioner that partitions a mesh based on PartitioningBox objects owned by each processor.
More...
#include <ibtk/BoxPartitioner.h>
|
| virtual void | _do_partition (libMesh::MeshBase &mesh, const unsigned int n) override |
| | The function used to actually do the partitioning. More...
|
| |
IBAMR assumes that all Lagrangian structures exist on the finest level of the fluid mesh. This partitioner uses the data stored by the SAMRAI PatchHierarchy object (which is used, under most circumstances, to create the PartitioningBoxes object) to compute partitioning boxes corresponding to the locally owned fluid patches on the finest level: since these partition the part of the domain over which the structure exists, they can be used to partition the libMesh Mesh object across the MPI network. Put another way: this Partitioner uses Eulerian grid data to partition the structural meshes.
◆ BoxPartitioner() [1/2]
◆ BoxPartitioner() [2/2]
| IBTK::BoxPartitioner::BoxPartitioner |
( |
const PartitioningBoxes & |
partitioning_boxes, |
|
|
const libMesh::System & |
position_system |
|
) |
| |
Constructor. This is like the other constructor that takes a PartitioningBoxes object, but it permits the use of a background mesh that is displaced by a vector finite element field.
- Parameters
-
| partitioning_boxes | the boxes comprising the partition. |
| position_system | the libMesh::System object whose current solution is the position of the Mesh which will subsequently be partitioned. |
◆ setLoggingEnabled()
| void IBTK::BoxPartitioner::setLoggingEnabled |
( |
bool |
enable_logging = true | ) |
|
◆ getLoggingEnabled()
| bool IBTK::BoxPartitioner::getLoggingEnabled |
( |
| ) |
const |
◆ writePartitioning()
| void IBTK::BoxPartitioner::writePartitioning |
( |
const std::string & |
file_name | ) |
const |
Write the partitioning to a file in a simple point-based format: for each patch several points are printed to the specified file in the format
x,y,z,r
format.
◆ clone()
| virtual std::unique_ptr<libMesh::Partitioner> IBTK::BoxPartitioner::clone |
( |
| ) |
const |
|
overridevirtual |
◆ _do_partition()
| virtual void IBTK::BoxPartitioner::_do_partition |
( |
libMesh::MeshBase & |
mesh, |
|
|
const unsigned int |
n |
|
) |
| |
|
overrideprotectedvirtual |
◆ d_enable_logging
| bool IBTK::BoxPartitioner::d_enable_logging = false |
|
protected |
◆ d_partitioning_boxes
The PartitioningBoxes object used to establish whether or not an Elem (via its centroid) or Node is owned by the current processor.
◆ d_position_system
| const libMesh::System* const IBTK::BoxPartitioner::d_position_system = nullptr |
|
protected |
The documentation for this class was generated from the following file: