libMesh
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
libMesh::ExodusII_IO_Helper::Conversion Class Reference

#include <exodusII_io_helper.h>

Public Member Functions

 Conversion (const int *nm, size_t nm_size, const int *inm, size_t inm_size, const int *sm, size_t sm_size, const int *ism, size_t ism_size, const ElemType ct, std::string ex_type)
 Constructor. More...
 
 Conversion (const int *nm, size_t nm_size, const int *inm, size_t inm_size, const int *sm, size_t sm_size, const int *ism, size_t ism_size, const int *sfm, size_t sfm_size, const int *isfm, size_t isfm_size, size_t sfi_offset, const ElemType ct, std::string ex_type)
 Constructor. More...
 
int get_node_map (int i) const
 
int get_inverse_node_map (int i) const
 
int get_side_map (int i) const
 
int get_inverse_side_map (int i) const
 
int get_inverse_shellface_map (int i) const
 
ElemType get_canonical_type () const
 
std::string exodus_elem_type () const
 
int get_shellface_index_offset () const
 

Static Public Attributes

static const int invalid_id = std::numeric_limits<int>::max()
 An invalid_id that can be returned to signal failure in case something goes wrong. More...
 

Private Attributes

const intnode_map
 Pointer to the node map for this element. More...
 
size_t node_map_size
 The size of the node map array, this helps with bounds checking... More...
 
const intinverse_node_map
 Pointer to the inverse node map for this element. More...
 
size_t inverse_node_map_size
 The size of the inverse node map array, this helps with bounds checking... More...
 
const intside_map
 Pointer to the side map for this element. More...
 
size_t side_map_size
 The size of the side map array, this helps with bounds checking... More...
 
const intinverse_side_map
 Pointer to the inverse side map for this element. More...
 
size_t inverse_side_map_size
 The size of the inverse side map array, this helps with bounds checking... More...
 
const intshellface_map
 Pointer to the shellface map for this element. More...
 
size_t shellface_map_size
 The size of the shellface map array, this helps with bounds checking... More...
 
const intinverse_shellface_map
 Pointer to the inverse shellface map for this element. More...
 
size_t inverse_shellface_map_size
 The size of the inverse shellface map array, this helps with bounds checking... More...
 
size_t shellface_index_offset
 The shellface index offset defines the offset due to a difference between libMesh and Exodus in indexing sidesets. More...
 
const ElemType canonical_type
 The canonical (i.e. More...
 
const std::string exodus_type
 The string corresponding to the Exodus type for this element. More...
 

Detailed Description

Definition at line 643 of file exodusII_io_helper.h.

Constructor & Destructor Documentation

libMesh::ExodusII_IO_Helper::Conversion::Conversion ( const int nm,
size_t  nm_size,
const int inm,
size_t  inm_size,
const int sm,
size_t  sm_size,
const int ism,
size_t  ism_size,
const ElemType  ct,
std::string  ex_type 
)

Constructor.

Initializes the const private member variables.

Definition at line 651 of file exodusII_io_helper.h.

661  : node_map(nm),
662  node_map_size(nm_size),
663  inverse_node_map(inm),
664  inverse_node_map_size(inm_size),
665  side_map(sm),
666  side_map_size(sm_size),
667  inverse_side_map(ism),
668  inverse_side_map_size(ism_size),
674  canonical_type(ct),
675  exodus_type(ex_type)
676  {}
size_t inverse_node_map_size
The size of the inverse node map array, this helps with bounds checking...
size_t shellface_map_size
The size of the shellface map array, this helps with bounds checking...
const class libmesh_nullptr_t libmesh_nullptr
const std::string exodus_type
The string corresponding to the Exodus type for this element.
const int * inverse_node_map
Pointer to the inverse node map for this element.
size_t node_map_size
The size of the node map array, this helps with bounds checking...
const int * inverse_side_map
Pointer to the inverse side map for this element.
size_t inverse_shellface_map_size
The size of the inverse shellface map array, this helps with bounds checking...
const int * node_map
Pointer to the node map for this element.
size_t side_map_size
The size of the side map array, this helps with bounds checking...
const int * shellface_map
Pointer to the shellface map for this element.
size_t shellface_index_offset
The shellface index offset defines the offset due to a difference between libMesh and Exodus in index...
const int * side_map
Pointer to the side map for this element.
const ElemType canonical_type
The canonical (i.e.
const int * inverse_shellface_map
Pointer to the inverse shellface map for this element.
size_t inverse_side_map_size
The size of the inverse side map array, this helps with bounds checking...
libMesh::ExodusII_IO_Helper::Conversion::Conversion ( const int nm,
size_t  nm_size,
const int inm,
size_t  inm_size,
const int sm,
size_t  sm_size,
const int ism,
size_t  ism_size,
const int sfm,
size_t  sfm_size,
const int isfm,
size_t  isfm_size,
size_t  sfi_offset,
const ElemType  ct,
std::string  ex_type 
)

Constructor.

Initializes the const private member variables. In this case we also initialize shellface data.

Definition at line 682 of file exodusII_io_helper.h.

697  : node_map(nm),
698  node_map_size(nm_size),
699  inverse_node_map(inm),
700  inverse_node_map_size(inm_size),
701  side_map(sm),
702  side_map_size(sm_size),
703  inverse_side_map(ism),
704  inverse_side_map_size(ism_size),
705  shellface_map(sfm),
706  shellface_map_size(sfm_size),
707  inverse_shellface_map(isfm),
708  inverse_shellface_map_size(isfm_size),
709  shellface_index_offset(sfi_offset),
710  canonical_type(ct),
711  exodus_type(ex_type)
712  {}
size_t inverse_node_map_size
The size of the inverse node map array, this helps with bounds checking...
size_t shellface_map_size
The size of the shellface map array, this helps with bounds checking...
const std::string exodus_type
The string corresponding to the Exodus type for this element.
const int * inverse_node_map
Pointer to the inverse node map for this element.
size_t node_map_size
The size of the node map array, this helps with bounds checking...
const int * inverse_side_map
Pointer to the inverse side map for this element.
size_t inverse_shellface_map_size
The size of the inverse shellface map array, this helps with bounds checking...
const int * node_map
Pointer to the node map for this element.
size_t side_map_size
The size of the side map array, this helps with bounds checking...
const int * shellface_map
Pointer to the shellface map for this element.
size_t shellface_index_offset
The shellface index offset defines the offset due to a difference between libMesh and Exodus in index...
const int * side_map
Pointer to the side map for this element.
const ElemType canonical_type
The canonical (i.e.
const int * inverse_shellface_map
Pointer to the inverse shellface map for this element.
size_t inverse_side_map_size
The size of the inverse side map array, this helps with bounds checking...

Member Function Documentation

std::string libMesh::ExodusII_IO_Helper::Conversion::exodus_elem_type ( ) const
Returns
The string corresponding to the Exodus type for this element.

Definition at line 782 of file exodusII_io_helper.h.

Referenced by libMesh::Nemesis_IO_Helper::write_elements(), and libMesh::ExodusII_IO_Helper::write_elements().

782 { return exodus_type; }
const std::string exodus_type
The string corresponding to the Exodus type for this element.
ElemType libMesh::ExodusII_IO_Helper::Conversion::get_canonical_type ( ) const
Returns
The canonical element type for this element.

The canonical element type is the standard element type understood by this library.

Definition at line 777 of file exodusII_io_helper.h.

Referenced by libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Nemesis_IO::read(), and libMesh::ExodusII_IO_Helper::write_elements().

777 { return canonical_type; }
const ElemType canonical_type
The canonical (i.e.
int libMesh::ExodusII_IO_Helper::Conversion::get_inverse_node_map ( int  i) const
Returns
The ith component of the inverse node map for this element.

The inverse node map maps the libmesh node numbering to Exodus' node numbering.

Note
All elements except Hex27 currently have the same node numbering as libmesh elements.

Definition at line 736 of file exodusII_io_helper.h.

Referenced by libMesh::ExodusII_IO_Helper::write_elements().

737  {
738  libmesh_assert_less (static_cast<size_t>(i), inverse_node_map_size);
739  return inverse_node_map[i];
740  }
size_t inverse_node_map_size
The size of the inverse node map array, this helps with bounds checking...
const int * inverse_node_map
Pointer to the inverse node map for this element.
int libMesh::ExodusII_IO_Helper::Conversion::get_inverse_shellface_map ( int  i) const
Returns
The ith component of the shellface map for this element.

Definition at line 765 of file exodusII_io_helper.h.

Referenced by libMesh::ExodusII_IO_Helper::write_sidesets().

766  {
767  libmesh_assert_less (static_cast<size_t>(i), inverse_shellface_map_size);
768  return inverse_shellface_map[i];
769  }
size_t inverse_shellface_map_size
The size of the inverse shellface map array, this helps with bounds checking...
const int * inverse_shellface_map
Pointer to the inverse shellface map for this element.
int libMesh::ExodusII_IO_Helper::Conversion::get_inverse_side_map ( int  i) const
Returns
The ith component of the side map for this element.

The side map maps the libMesh side numbering format to this exodus's format.

Definition at line 756 of file exodusII_io_helper.h.

Referenced by libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::Nemesis_IO_Helper::write_sidesets(), and libMesh::ExodusII_IO_Helper::write_sidesets().

757  {
758  libmesh_assert_less (static_cast<size_t>(i), inverse_side_map_size);
759  return inverse_side_map[i];
760  }
const int * inverse_side_map
Pointer to the inverse side map for this element.
size_t inverse_side_map_size
The size of the inverse side map array, this helps with bounds checking...
int libMesh::ExodusII_IO_Helper::Conversion::get_node_map ( int  i) const
Returns
The ith component of the node map for this element.

The node map maps the exodusII node numbering format to this library's format.

Definition at line 720 of file exodusII_io_helper.h.

Referenced by libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), and libMesh::Nemesis_IO::read().

721  {
722  libmesh_assert_less (static_cast<size_t>(i), node_map_size);
723  return node_map[i];
724  }
size_t node_map_size
The size of the node map array, this helps with bounds checking...
const int * node_map
Pointer to the node map for this element.
int libMesh::ExodusII_IO_Helper::Conversion::get_shellface_index_offset ( ) const
Returns
The shellface index offset.

Definition at line 787 of file exodusII_io_helper.h.

Referenced by libMesh::ExodusII_IO::read().

787 { return shellface_index_offset; }
size_t shellface_index_offset
The shellface index offset defines the offset due to a difference between libMesh and Exodus in index...
int libMesh::ExodusII_IO_Helper::Conversion::get_side_map ( int  i) const
Returns
The ith component of the side map for this element.

The side map maps the exodusII side numbering format to this library's format.

Definition at line 2438 of file exodusII_io_helper.C.

Referenced by libMesh::Nemesis_IO::read(), and libMesh::ExodusII_IO::read().

2439 {
2440  // If we asked for a side that doesn't exist, return an invalid_id
2441  // and allow higher-level code to handle it.
2442  if (static_cast<size_t>(i) >= side_map_size)
2443  return invalid_id;
2444 
2445  return side_map[i];
2446 }
static const int invalid_id
An invalid_id that can be returned to signal failure in case something goes wrong.
size_t side_map_size
The size of the side map array, this helps with bounds checking...
const int * side_map
Pointer to the side map for this element.

Member Data Documentation

const ElemType libMesh::ExodusII_IO_Helper::Conversion::canonical_type
private

The canonical (i.e.

standard for this library) element type.

Definition at line 869 of file exodusII_io_helper.h.

const std::string libMesh::ExodusII_IO_Helper::Conversion::exodus_type
private

The string corresponding to the Exodus type for this element.

Definition at line 874 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::Conversion::invalid_id = std::numeric_limits<int>::max()
static

An invalid_id that can be returned to signal failure in case something goes wrong.

Definition at line 793 of file exodusII_io_helper.h.

Referenced by libMesh::ExodusII_IO::read().

const int* libMesh::ExodusII_IO_Helper::Conversion::inverse_node_map
private

Pointer to the inverse node map for this element.

For all elements except for the Hex27, this is the same as the node map.

Definition at line 811 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::inverse_node_map_size
private

The size of the inverse node map array, this helps with bounds checking...

Definition at line 816 of file exodusII_io_helper.h.

const int* libMesh::ExodusII_IO_Helper::Conversion::inverse_shellface_map
private

Pointer to the inverse shellface map for this element.

Definition at line 851 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::inverse_shellface_map_size
private

The size of the inverse shellface map array, this helps with bounds checking...

Definition at line 856 of file exodusII_io_helper.h.

const int* libMesh::ExodusII_IO_Helper::Conversion::inverse_side_map
private

Pointer to the inverse side map for this element.

Definition at line 831 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::inverse_side_map_size
private

The size of the inverse side map array, this helps with bounds checking...

Definition at line 836 of file exodusII_io_helper.h.

const int* libMesh::ExodusII_IO_Helper::Conversion::node_map
private

Pointer to the node map for this element.

Definition at line 799 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::node_map_size
private

The size of the node map array, this helps with bounds checking...

Definition at line 804 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::shellface_index_offset
private

The shellface index offset defines the offset due to a difference between libMesh and Exodus in indexing sidesets.

This is relevant for shell elements, for example, since Exodus includes extra "shell face" sides in that case.

Definition at line 863 of file exodusII_io_helper.h.

const int* libMesh::ExodusII_IO_Helper::Conversion::shellface_map
private

Pointer to the shellface map for this element.

Definition at line 841 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::shellface_map_size
private

The size of the shellface map array, this helps with bounds checking...

Definition at line 846 of file exodusII_io_helper.h.

const int* libMesh::ExodusII_IO_Helper::Conversion::side_map
private

Pointer to the side map for this element.

Definition at line 821 of file exodusII_io_helper.h.

size_t libMesh::ExodusII_IO_Helper::Conversion::side_map_size
private

The size of the side map array, this helps with bounds checking...

Definition at line 826 of file exodusII_io_helper.h.


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