Class UnpartitionedMesh

Nested Relationships

Nested Types

Class Documentation

class UnpartitionedMesh

This object is intended for unpartitioned meshes that still require partitioning.

Public Functions

UnpartitionedMesh()
~UnpartitionedMesh()
inline unsigned int GetDimension() const
inline void SetDimension(unsigned int dim)
inline CoordinateSystemType GetCoordinateSystem() const
inline void SetCoordinateSystem(const CoordinateSystemType coord_sys)
inline void SetType(MeshType type)
inline const MeshType &GetType() const
inline void SetExtruded(bool extruded)
inline bool IsExtruded() const
void SetOrthoAttributes(size_t nx, size_t ny, size_t nz)
inline const OrthoMeshAttributes &GetOrthoAttributes() const
inline const BoundBox &GetBoundingBox() const
void ComputeBoundingBox()
inline const std::map<uint64_t, std::string> &GetBoundaryIDMap() const
inline std::map<uint64_t, std::string> &GetBoundaryIDMap()
inline const std::vector<std::set<uint64_t>> &GetVertextCellSubscriptions() const
inline void AddCell(const std::shared_ptr<LightWeightCell> &cell)
inline size_t GetNumberOfCells() const
inline std::vector<std::shared_ptr<LightWeightCell>> &GetRawCells()
inline const std::vector<std::shared_ptr<LightWeightCell>> &GetRawCells() const
inline std::vector<std::shared_ptr<LightWeightCell>> &GetRawBoundaryCells()
inline const std::vector<std::shared_ptr<LightWeightCell>> &GetRawBoundaryCells() const
inline const std::vector<Vector3> &GetVertices() const
inline std::vector<Vector3> &GetVertices()
void BuildMeshConnectivity()

Establishes neighbor connectivity for the light-weight mesh.

void ComputeCentroids()

Compute centroids for all cells.

void CheckQuality()

Check element quality.

uint64_t MakeBoundaryID(const std::string &boundary_name)

Makes or gets a boundary that uniquely identifies the given name.

void AddBoundary(uint64_t id, const std::string &name)

Protected Attributes

unsigned int dim_

Spatial mesh dimension.

CoordinateSystemType coord_sys_
MeshType mesh_type_
bool extruded_
OrthoMeshAttributes ortho_attrs_
Options mesh_options_
BoundBox bound_box_
std::map<uint64_t, std::string> boundary_id_map_
std::vector<Vector3> vertices_
std::vector<std::shared_ptr<LightWeightCell>> raw_cells_
std::vector<std::shared_ptr<LightWeightCell>> raw_boundary_cells_
std::vector<std::set<uint64_t>> vertex_cell_subscriptions_
struct BoundBox

Public Members

double xmin = 0.0
double xmax = 0.0
double ymin = 0.0
double ymax = 0.0
double zmin = 0.0
double zmax = 0.0
struct LightWeightCell

Public Functions

inline explicit LightWeightCell(CellType type, CellType sub_type)

Public Members

const CellType type
const CellType sub_type
Vector3 centroid
int block_id = -1
std::vector<uint64_t> vertex_ids
std::vector<LightWeightFace> faces
struct LightWeightFace

Public Functions

LightWeightFace() = default
inline explicit LightWeightFace(std::vector<uint64_t> vertex_ids)

Public Members

std::vector<uint64_t> vertex_ids
bool has_neighbor = false
uint64_t neighbor = 0
struct Options

Public Members

std::string file_name
std::string block_id_fieldname = "BlockID"
std::string boundary_id_fieldname
double scale = 1.0