IOSS 2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Iogn::ExodusMesh Class Reference

#include <Iogn_DashSurfaceMesh.h>

Inheritance diagram for Iogn::ExodusMesh:
[legend]
Collaboration diagram for Iogn::ExodusMesh:
[legend]

Public Member Functions

 ExodusMesh (const ExodusData &exodusData)
 
IOSS_NODISCARD int64_t node_count () const override
 
IOSS_NODISCARD int64_t node_count_proc () const override
 
IOSS_NODISCARD int64_t element_count () const override
 
IOSS_NODISCARD int64_t element_count (int64_t blockNumber) const override
 
IOSS_NODISCARD int64_t element_count_proc () const override
 
IOSS_NODISCARD int64_t element_count_proc (int64_t blockNumber) const override
 
IOSS_NODISCARD int block_count () const override
 
IOSS_NODISCARD int nodeset_count () const override
 
IOSS_NODISCARD int64_t nodeset_node_count_proc (int64_t id) const override
 
IOSS_NODISCARD int sideset_count () const override
 
IOSS_NODISCARD int64_t sideset_side_count_proc (int64_t id) const override
 
IOSS_NODISCARD int64_t communication_node_count_proc () const override
 
void coordinates (double *coord) const override
 
void coordinates (std::vector< double > &coord) const override
 
void coordinates (int component, std::vector< double > &xyz) const override
 
void coordinates (int component, double *xyz) const override
 
void coordinates (std::vector< double > &x, std::vector< double > &y, std::vector< double > &z) const override
 
void connectivity (int64_t blockNumber, int *connectivityForBlock) const override
 
IOSS_NODISCARD std::pair< std::string, int > topology_type (int64_t blockNumber) const override
 
void sideset_elem_sides (int64_t setId, std::vector< int64_t > &elem_sides) const override
 
Ioss::NameList sideset_touching_blocks (int64_t setId) const override
 
void nodeset_nodes (int64_t nset_id, std::vector< int64_t > &nodes) const override
 
void node_communication_map (std::vector< int64_t > &map, std::vector< int > &proc) override
 
void node_map (std::vector< int > &map) const override
 
void node_map (std::vector< int64_t > &map) const override
 
void element_map (int64_t blockNumber, std::vector< int > &map) const override
 
void element_map (int64_t blockNumber, std::vector< int64_t > &map) const override
 
void element_map (std::vector< int64_t > &map) const override
 
void element_map (std::vector< int > &map) const override
 
- Public Member Functions inherited from Iogn::GeneratedMesh
 GeneratedMesh (const std::string &parameters, int proc_count=1, int my_proc=0)
 
 GeneratedMesh (int64_t num_x, int64_t num_y, int64_t num_z, int proc_count=1, int my_proc=0)
 
 GeneratedMesh ()
 
 GeneratedMesh (const GeneratedMesh &)=delete
 
GeneratedMeshoperator= (const GeneratedMesh &)=delete
 
virtual ~GeneratedMesh ()=default
 
void create_tets (bool yesno)
 
void create_pyramids (bool yesno)
 
int64_t add_shell_block (ShellLocation loc)
 
int64_t add_nodeset (ShellLocation loc)
 
int64_t add_sideset (ShellLocation loc)
 
void set_scale (double scl_x, double scl_y, double scl_z)
 
void set_offset (double off_x, double off_y, double off_z)
 
void set_bbox (double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
 
void set_rotation (const std::string &axis, double angle_degrees)
 
IOSS_NODISCARD int64_t nodeset_node_count (int64_t id) const
 
IOSS_NODISCARD int64_t sideset_side_count (int64_t id) const
 
IOSS_NODISCARD int64_t shell_element_count (ShellLocation) const
 
IOSS_NODISCARD int64_t shell_element_count_proc (ShellLocation) const
 
IOSS_NODISCARD int timestep_count () const
 
void build_node_map (Ioss::Int64Vector &map, std::vector< int > &proc, int64_t slab, size_t slabOffset, size_t adjacentProc, size_t index)
 
virtual void owning_processor (int *owner, int64_t num_node)
 
void element_surface_map (ShellLocation loc, Ioss::Int64Vector &map) const
 
void connectivity (int64_t block_number, Ioss::Int64Vector &connect) const
 
void connectivity (int64_t block_number, Ioss::IntVector &connect) const
 
void connectivity (int64_t block_number, int64_t *connect) const
 
IOSS_NODISCARD int64_t get_num_x () const
 
IOSS_NODISCARD int64_t get_num_y () const
 
IOSS_NODISCARD int64_t get_num_z () const
 
IOSS_NODISCARD size_t get_variable_count (Ioss::EntityType type) const
 

Private Member Functions

std::string get_sideset_topology () const override
 

Private Attributes

int64_t mGlobalNumberOfElements
 
int64_t mLocalNumberOfElements
 
const ExodusDatamExodusData
 
std::vector< int64_t > mElementOffsetForBlock
 

Additional Inherited Members

- Public Types inherited from Iogn::GeneratedMesh
enum  ShellLocation {
  MX = 0 , PX = 1 , MY = 2 , PY = 3 ,
  MZ = 4 , PZ = 5
}
 

Constructor & Destructor Documentation

◆ ExodusMesh()

Iogn::ExodusMesh::ExodusMesh ( const ExodusData & exodusData)
explicit

Member Function Documentation

◆ block_count()

int Iogn::ExodusMesh::block_count ( ) const
overridevirtual

Return number of element blocks in the entire model.

Reimplemented from Iogn::GeneratedMesh.

◆ communication_node_count_proc()

int64_t Iogn::ExodusMesh::communication_node_count_proc ( ) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ connectivity()

void Iogn::ExodusMesh::connectivity ( int64_t blockNumber,
int * connectivityForBlock ) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [1/5]

void Iogn::ExodusMesh::coordinates ( double * coord) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [2/5]

void Iogn::ExodusMesh::coordinates ( int component,
double * xyz ) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [3/5]

void Iogn::ExodusMesh::coordinates ( int component,
std::vector< double > & xyz ) const
overridevirtual

Return the coordinates for component comp (1=x, 2=y, 3=z) for all nodes on this processor. The vector will be resized to the size required to contain the nodal coordinates; all information in the vector will be overwritten. It is an error to request the coordinates via this function if a rotation is defined.

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [4/5]

void Iogn::ExodusMesh::coordinates ( std::vector< double > & coord) const
overridevirtual

Return the coordinates for all nodes on this processor. The first 3 entries in the coord vector are the x, y, and z coordinates of the first node, etc. The coord vector will be resized to the size required to contain the nodal coordinates; all information in coord will be overwritten.

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [5/5]

void Iogn::ExodusMesh::coordinates ( std::vector< double > & x,
std::vector< double > & y,
std::vector< double > & z ) const
overridevirtual

Return the coordinates for all nodes on this processor in separate vectors. The vectors will be resized to the size required to contain the nodal coordinates; all information in the vectors will be overwritten.

Reimplemented from Iogn::GeneratedMesh.

◆ element_count() [1/2]

int64_t Iogn::ExodusMesh::element_count ( ) const
overridevirtual

Return number of elements in all element blocks in the model.

Reimplemented from Iogn::GeneratedMesh.

◆ element_count() [2/2]

int64_t Iogn::ExodusMesh::element_count ( int64_t block_number) const
overridevirtual

Return number of elements in the element block with id block_number. The block_number ranges from 1 to block_count().

Reimplemented from Iogn::GeneratedMesh.

◆ element_count_proc() [1/2]

int64_t Iogn::ExodusMesh::element_count_proc ( ) const
overridevirtual

Return number of elements in all element blocks on this processor.

Reimplemented from Iogn::GeneratedMesh.

◆ element_count_proc() [2/2]

int64_t Iogn::ExodusMesh::element_count_proc ( int64_t block_number) const
overridevirtual

Return number of elements on this processor in the element block with id block_number. The block_number ranges from 1 to block_count().

Reimplemented from Iogn::GeneratedMesh.

◆ element_map() [1/4]

void Iogn::ExodusMesh::element_map ( int64_t blockNumber,
std::vector< int > & map ) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ element_map() [2/4]

void Iogn::ExodusMesh::element_map ( int64_t block_number,
std::vector< int64_t > & map ) const
overridevirtual

Fill the passed in map argument with the element map "map[local_position] = global_id" for the elements on this processor in block "block_number".

Reimplemented from Iogn::GeneratedMesh.

◆ element_map() [3/4]

void Iogn::ExodusMesh::element_map ( std::vector< int > & map) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ element_map() [4/4]

void Iogn::ExodusMesh::element_map ( std::vector< int64_t > & map) const
overridevirtual

Fill the passed in map argument with the element map "map[local_position] = global_id" for all elements on this processor

Reimplemented from Iogn::GeneratedMesh.

◆ get_sideset_topology()

std::string Iogn::ExodusMesh::get_sideset_topology ( ) const
overrideprivatevirtual

Return string (quad4 or tri3) giving face topology of sidesets in model

Reimplemented from Iogn::GeneratedMesh.

◆ node_communication_map()

void Iogn::ExodusMesh::node_communication_map ( std::vector< int64_t > & map,
std::vector< int > & proc )
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ node_count()

int64_t Iogn::ExodusMesh::node_count ( ) const
overridevirtual

Return number of nodes in the entire model.

Reimplemented from Iogn::GeneratedMesh.

◆ node_count_proc()

int64_t Iogn::ExodusMesh::node_count_proc ( ) const
overridevirtual

Return number of nodes on this processor.

Reimplemented from Iogn::GeneratedMesh.

◆ node_map() [1/2]

void Iogn::ExodusMesh::node_map ( std::vector< int > & map) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ node_map() [2/2]

void Iogn::ExodusMesh::node_map ( std::vector< int64_t > & map) const
overridevirtual

Fill the passed in map argument with the node map "map[local_position] = global_id" for the nodes on this processor.

Reimplemented from Iogn::GeneratedMesh.

◆ nodeset_count()

int Iogn::ExodusMesh::nodeset_count ( ) const
overridevirtual

Return number of nodesets in the entire model.

Reimplemented from Iogn::GeneratedMesh.

◆ nodeset_node_count_proc()

int64_t Iogn::ExodusMesh::nodeset_node_count_proc ( int64_t id) const
overridevirtual

Return number of nodeset nodes on nodeset id on the current processor

Reimplemented from Iogn::GeneratedMesh.

◆ nodeset_nodes()

void Iogn::ExodusMesh::nodeset_nodes ( int64_t id,
std::vector< int64_t > & nodes ) const
overridevirtual

Return the list of nodes in nodeset id on this processor. The nodes vector will be resized to the size required to contain the node list. The ids are global ids.

Reimplemented from Iogn::GeneratedMesh.

◆ sideset_count()

int Iogn::ExodusMesh::sideset_count ( ) const
overridevirtual

Return number of sidesets in the entire model.

Reimplemented from Iogn::GeneratedMesh.

◆ sideset_elem_sides()

void Iogn::ExodusMesh::sideset_elem_sides ( int64_t id,
std::vector< int64_t > & elem_sides ) const
overridevirtual

Return the list of the face/ordinal pairs "elem_sides[local_position] = element global_id" and "elem_sides[local_position+1] = element local face id (0-based)" for the faces in sideset id on this processor. The elem_sides vector will be resized to the size required to contain the list. The element ids are global ids, the side ordinal is 0-based.

Reimplemented from Iogn::GeneratedMesh.

◆ sideset_side_count_proc()

int64_t Iogn::ExodusMesh::sideset_side_count_proc ( int64_t id) const
overridevirtual

Return number of sideset sides on sideset id on the current processor.

Reimplemented from Iogn::GeneratedMesh.

◆ sideset_touching_blocks()

Ioss::NameList Iogn::ExodusMesh::sideset_touching_blocks ( int64_t setId) const
overridevirtual

Reimplemented from Iogn::GeneratedMesh.

◆ topology_type()

std::pair< std::string, int > Iogn::ExodusMesh::topology_type ( int64_t block_number) const
overridevirtual

Returns pair containing "topology type string" and "number of nodes / element". The topology type string will be "hex8" for the hex element block and "shell4" for the shell element blocks.

Reimplemented from Iogn::GeneratedMesh.

Member Data Documentation

◆ mElementOffsetForBlock

std::vector<int64_t> Iogn::ExodusMesh::mElementOffsetForBlock
private

◆ mExodusData

const ExodusData& Iogn::ExodusMesh::mExodusData
private

◆ mGlobalNumberOfElements

int64_t Iogn::ExodusMesh::mGlobalNumberOfElements
private

◆ mLocalNumberOfElements

int64_t Iogn::ExodusMesh::mLocalNumberOfElements
private

The documentation for this class was generated from the following files: