1#ifndef CHI_MESHCONTINUUM_H_
2#define CHI_MESHCONTINUUM_H_
7#include "../chi_mesh.h"
22class ChiMPICommunicatorSet;
27class GridFaceHistogram;
40 std::vector<std::unique_ptr<chi_mesh::Cell>>
42 std::vector<std::unique_ptr<chi_mesh::Cell>>
95 static std::shared_ptr<MeshContinuum>
New()
97 return std::make_shared<MeshContinuum>();
112 bool per_material =
false,
113 int options = 0)
const;
116 bool suppress_node_sets =
false,
117 bool suppress_side_sets =
false)
const;
119 std::shared_ptr<GridFaceHistogram>
121 double slave_tolerance = 1.1)
const;
123 bool IsCellLocal(uint64_t cell_global_index)
const;
129 std::vector<short>& dof_mapping)
const;
133 std::vector<short>& dof_mapping)
const;
168 std::array<size_t, 3> ortho_Nis = {0, 0, 0})
bool CheckPointInsideCell(const chi_mesh::Cell &cell, const chi_mesh::Vector3 &point) const
chi_mesh::Vector3 ComputeCentroidFromListOfNodes(const std::vector< uint64_t > &list) const
std::vector< std::unique_ptr< chi_mesh::Cell > > ghost_cells_
Locally stored ghosts.
void ExportCellsToExodus(const std::string &file_base_name, bool suppress_node_sets=false, bool suppress_side_sets=false) const
MeshAttributes Attributes() const
std::shared_ptr< GridFaceHistogram > MakeGridFaceHistogram(double master_tolerance=100.0, double slave_tolerance=1.1) const
MeshAttributes attributes
LocalCellHandler local_cells
void FindAssociatedCellVertices(const chi_mesh::CellFace &cur_face, std::vector< short > &dof_mapping) const
MPILocalCommSetPtr MakeMPILocalCommunicatorSet() const
std::map< uint64_t, std::string > & GetBoundaryIDMap()
std::map< uint64_t, uint64_t > global_cell_id_to_local_id_map_
std::array< size_t, 3 > GetIJKInfo() const
std::vector< chi_mesh::Vector3 > MakeCellOrthoSizes() const
uint64_t GetGlobalVertexCount() const
chi_data_types::NDArray< uint64_t > MakeIJKToGlobalIDMapping() const
static std::shared_ptr< MeshContinuum > New()
std::map< uint64_t, std::string > boundary_id_map_
static int GetCellDimension(const chi_mesh::Cell &cell)
bool IsCellLocal(uint64_t cell_global_index) const
void ClearCellReferences()
std::pair< chi_mesh::Vector3, chi_mesh::Vector3 > GetLocalBoundingBox() const
void SetAttributes(MeshAttributes new_attribs, std::array< size_t, 3 > ortho_Nis={0, 0, 0})
uint64_t MakeBoundaryID(const std::string &boundary_name) const
size_t MapCellGlobalID2LocalID(uint64_t global_id) const
void ExportCellsToVTK(const std::string &file_base_name) const
std::vector< std::unique_ptr< chi_mesh::Cell > > local_cells_
Actual local cells.
static size_t MapCellFace(const chi_mesh::Cell &cur_cell, const chi_mesh::Cell &adj_cell, unsigned int f)
const std::map< uint64_t, std::string > & GetBoundaryIDMap() const
std::shared_ptr< chi::ChiMPICommunicatorSet > MPILocalCommSetPtr
size_t CountCellsInLogicalVolume(const chi_mesh::LogicalVolume &log_vol) const
void ExportCellsToObj(const char *fileName, bool per_material=false, int options=0) const
size_t GetGlobalNumberOfCells() const
void FindAssociatedVertices(const chi_mesh::CellFace &cur_face, std::vector< short > &dof_mapping) const
void SetGlobalVertexCount(const uint64_t count)
std::vector< uint64_t > GetDomainUniqueBoundaryIDs() const
std::map< uint64_t, uint64_t > global_cell_id_to_nonlocal_id_map_
struct chi_mesh::MeshContinuum::@0 ortho_attributes
uint64_t global_vertex_count_
std::shared_ptr< chi::ChiMPICommunicatorSet > MPILocalCommSetPtr