Class SplitFileMeshGenerator

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class SplitFileMeshGenerator : public opensn::MeshGenerator

Generates the mesh only on location 0, thereafter partitions the mesh but instead of broadcasting the mesh to other locations it creates binary mesh files for each location.

Public Functions

explicit SplitFileMeshGenerator(const InputParameters &params)
virtual std::shared_ptr<MeshContinuum> Execute() override

Final execution step.

Public Static Functions

static InputParameters GetInputParameters()
static std::shared_ptr<SplitFileMeshGenerator> Create(const ParameterBlock &params)

Protected Functions

void WriteSplitMesh(const std::vector<int64_t> &cell_pids, const UnpartitionedMesh &umesh, int num_partitions) const
SplitMeshInfo ReadSplitMesh() const

Protected Attributes

const int num_partitions_
const std::string split_mesh_dir_path_
const std::string file_prefix_
const bool read_only_
const int verbosity_level_

Protected Static Functions

static std::shared_ptr<MeshContinuum> SetupLocalMesh(SplitMeshInfo &mesh_info)
static void SerializeCell(const UnpartitionedMesh::LightWeightCell &cell, ByteArray &serial_buffer)
struct SplitMeshInfo

Public Members

unsigned int dimension
CoordinateSystemType coord_sys
MeshType mesh_type
bool extruded
OrthoMeshAttributes ortho_attributes
std::map<std::pair<int, uint64_t>, UnpartitionedMesh::LightWeightCell> cells
std::map<uint64_t, Vector3> vertices
std::map<uint64_t, std::string> boundary_id_map
size_t num_global_vertices