Chi-Tech
|
#include <volmesher_predefunpart.h>
Public Member Functions | |
VolumeMesherPredefinedUnpartitioned (std::shared_ptr< const chi_mesh::UnpartitionedMesh > in_umesh) | |
void | Execute () override |
Public Member Functions inherited from chi_mesh::VolumeMesher | |
VolumeMesher (VolumeMesherType type) | |
virtual | ~VolumeMesher ()=default |
void | SetContinuum (MeshContinuumPtr &grid) |
MeshContinuumPtr & | GetContinuum () |
void | SetGridAttributes (MeshAttributes new_attribs, std::array< size_t, 3 > ortho_Nis={0, 0, 0}) |
VolumeMesherType | Type () const |
virtual void | Execute () |
Static Public Member Functions | |
static bool | CellHasLocalScope (const chi_mesh::UnpartitionedMesh::LightWeightCell &lwcell, uint64_t cell_global_id, const std::vector< std::set< uint64_t > > &vertex_subscriptions, const std::vector< int64_t > &cell_partition_ids) |
static std::vector< int64_t > | KBA (const chi_mesh::UnpartitionedMesh &umesh) |
static std::vector< int64_t > | PARMETIS (const UnpartitionedMesh &umesh) |
static std::unique_ptr< chi_mesh::Cell > | MakeCell (const chi_mesh::UnpartitionedMesh::LightWeightCell &raw_cell, uint64_t global_id, uint64_t partition_id, const std::vector< chi_mesh::Vector3 > &vertices) |
Static Public Member Functions inherited from chi_mesh::VolumeMesher | |
static std::pair< int, int > | GetCellXYPartitionID (chi_mesh::Cell *cell) |
static std::tuple< int, int, int > | GetCellXYZPartitionID (chi_mesh::Cell *cell) |
static void | CreatePolygonCells (const chi_mesh::UnpartitionedMesh &umesh, chi_mesh::MeshContinuumPtr &grid) |
static void | SetMatIDFromLogical (const chi_mesh::LogicalVolume &log_vol, bool sense, int mat_id) |
static void | SetBndryIDFromLogical (const chi_mesh::LogicalVolume &log_vol, bool sense, const std::string &bndry_name) |
static void | SetMatIDToAll (int mat_id) |
static void | SetMatIDFromLuaFunction (const std::string &lua_fname) |
static void | SetBndryIDFromLuaFunction (const std::string &lua_fname) |
static void | SetupOrthogonalBoundaries () |
Private Attributes | |
std::shared_ptr< const chi_mesh::UnpartitionedMesh > | umesh_ptr_ = nullptr |
Additional Inherited Members | |
Public Types inherited from chi_mesh::VolumeMesher | |
enum | PartitionType { KBA_STYLE_XYZ = 2 , PARMETIS = 3 } |
Data Fields inherited from chi_mesh::VolumeMesher | |
VOLUME_MESHER_OPTIONS | options |
This volume mesher merely applies a partitioning of an unpartitioned mesh.
Definition at line 10 of file volmesher_predefunpart.h.
|
inlineexplicit |
Definition at line 17 of file volmesher_predefunpart.h.
|
static |
Determines if a chi_mesh::UnpartitionedMesh::LightWeightCell is a neighbor to the current partition for ParMETIS-style partitioning. This method loops over the faces of the lightweight cell and determines the partition-id of each the neighbors. If the neighbor has a partition id equal to that of the current process then it means this reference cell is a neighbor.
Definition at line 14 of file volmesher_predefunpart_utils.cc.
|
overridevirtual |
Executes the predefined3D mesher.
Reimplemented from chi_mesh::VolumeMesher.
Definition at line 18 of file volmesher_predefunpart_execute.cc.
|
static |
Applies KBA-style partitioning to the mesh.
Definition at line 16 of file volmesher_predefunpart_kba.cc.
|
static |
Adds a cell to the grid from a light-weight cell.
Definition at line 7 of file volmesher_predefunpart_addcells.cc.
|
static |
Applies KBA-style partitioning to the mesh.
Definition at line 15 of file volmesher_predefunpart_parmetis.cc.
|
private |
Definition at line 14 of file volmesher_predefunpart.h.