IOSS  2.0
Iogn::ExodusMesh Class Reference

#include <Iogn_DashSurfaceMesh.h>

Public Member Functions

 ExodusMesh (const ExodusData &exodusData)
 
 ~ExodusMesh () override=default
 
int64_t node_count () const override
 
int64_t node_count_proc () const override
 
int64_t element_count () const override
 
int64_t element_count (int64_t blockNumber) const override
 
int64_t element_count_proc () const override
 
int64_t element_count_proc (int64_t blockNumber) const override
 
int64_t block_count () const override
 
int64_t nodeset_count () const override
 
int64_t nodeset_node_count_proc (int64_t id) const override
 
int64_t sideset_count () const override
 
int64_t sideset_side_count_proc (int64_t id) const override
 
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 (std::vector< double > &x, std::vector< double > &y, std::vector< double > &z) const override
 
void connectivity (int64_t blockNumber, int *connectivityForBlock) const override
 
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
 
std::vector< std::string > 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 ()
 
virtual ~GeneratedMesh ()
 
void create_tets (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)
 
int64_t nodeset_node_count (int64_t id) const
 
int64_t sideset_side_count (int64_t id) const
 
int64_t shell_element_count (ShellLocation) const
 
int64_t shell_element_count_proc (ShellLocation) const
 
int64_t 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, MapVector &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
 
int64_t get_num_x () const
 
int64_t get_num_y () const
 
int64_t get_num_z () const
 
size_t get_variable_count (Ioss::EntityType type) const
 

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

◆ ~ExodusMesh()

Iogn::ExodusMesh::~ExodusMesh ( )
overridedefault

Member Function Documentation

◆ block_count()

int64_t 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/4]

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

Reimplemented from Iogn::GeneratedMesh.

◆ coordinates() [2/4]

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() [3/4]

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

Return the coordinates for componenet '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/4]

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< 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.

◆ element_map() [4/4]

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

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()

int64_t 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()

int64_t 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()

std::vector< std::string > 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: