ExodusII_IO_Helper::ElementMaps Class Reference
#include <exodusII_io_helper.h>
Public Member Functions | |
| ElementMaps () | |
| ExodusII_IO_Helper::Conversion | assign_conversion (const std::string type_str) |
| ExodusII_IO_Helper::Conversion | assign_conversion (const ElemType type) |
Static Public Attributes | |
| static const int | quad4_node_map [4] = {0, 1, 2, 3} |
| static const int | quad8_node_map [8] = {0, 1, 2, 3, 4, 5, 6, 7} |
| static const int | quad9_node_map [9] = {0, 1, 2, 3, 4, 5, 6, 7, 8} |
| static const int | tri3_node_map [3] = {0, 1, 2} |
| static const int | tri6_node_map [6] = {0, 1, 2, 3, 4, 5} |
| static const int | tri_edge_map [3] = {0, 1, 2} |
| static const int | quad_edge_map [4] = {0, 1, 2, 3} |
| static const int | tri_inverse_edge_map [3] = {1, 2, 3} |
| static const int | quad_inverse_edge_map [4] = {1, 2, 3, 4} |
| static const int | hex8_node_map [8] = {0, 1, 2, 3, 4, 5, 6, 7} |
| static const int | hex20_node_map [20] |
| static const int | hex27_node_map [27] |
| static const int | tet4_node_map [4] = {0, 1, 2, 3} |
| static const int | tet10_node_map [10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} |
| static const int | prism6_node_map [6] = {0, 1, 2, 3, 4, 5} |
| static const int | prism15_node_map [15] |
| static const int | prism18_node_map [18] |
| static const int | pyramid5_node_map [5] = {0, 1, 2, 3, 4} |
| static const int | hex_face_map [6] = {1, 2, 3, 4, 0, 5} |
| static const int | hex27_face_map [6] = {1, 2, 3, 4, 0, 5} |
| static const int | tet_face_map [4] = {1, 2, 3, 0} |
| static const int | prism_face_map [5] = {-1,-1,-1,-1,-1} |
| static const int | pyramid_face_map [5] = {-1,-1,-1,-1,-1} |
| static const int | hex_inverse_face_map [6] = {5, 1, 2, 3, 4, 6} |
| static const int | hex27_inverse_face_map [6] = {5, 1, 2, 3, 4, 6} |
| static const int | tet_inverse_face_map [4] = {4, 1, 2, 3} |
| static const int | prism_inverse_face_map [5] = {-1,-1,-1,-1,-1} |
| static const int | pyramid_inverse_face_map [5] = {-1,-1,-1,-1,-1} |
Detailed Description
Definition at line 675 of file exodusII_io_helper.h.
Constructor & Destructor Documentation
| ExodusII_IO_Helper::ElementMaps::ElementMaps | ( | ) | [inline] |
Member Function Documentation
| ExodusII_IO_Helper::Conversion ExodusII_IO_Helper::ElementMaps::assign_conversion | ( | const ElemType | type | ) |
- Returns:
- a conversion object given an element type.
Definition at line 902 of file exodusII_io_helper.C.
References libMeshEnums::HEX20, hex20_node_map, libMeshEnums::HEX27, hex27_face_map, hex27_inverse_face_map, hex27_node_map, libMeshEnums::HEX8, hex8_node_map, hex_face_map, hex_inverse_face_map, libMeshEnums::PRISM15, prism15_node_map, libMeshEnums::PRISM18, prism18_node_map, libMeshEnums::PRISM6, prism6_node_map, prism_face_map, prism_inverse_face_map, libMeshEnums::PYRAMID5, pyramid5_node_map, pyramid_face_map, pyramid_inverse_face_map, libMeshEnums::QUAD4, quad4_node_map, libMeshEnums::QUAD8, quad8_node_map, libMeshEnums::QUAD9, quad9_node_map, quad_edge_map, quad_inverse_edge_map, libMeshEnums::TET10, tet10_node_map, libMeshEnums::TET4, tet4_node_map, tet_face_map, tet_inverse_face_map, libMeshEnums::TRI3, tri3_node_map, libMeshEnums::TRI6, tri6_node_map, tri_edge_map, and tri_inverse_edge_map.
00903 { 00904 switch (type) 00905 { 00906 00907 case QUAD4: 00908 { 00909 const Conversion conv(quad4_node_map, quad_edge_map, quad_inverse_edge_map, QUAD4, "QUAD4"); 00910 return conv; 00911 } 00912 00913 case QUAD8: 00914 { 00915 const Conversion conv(quad8_node_map, quad_edge_map, quad_inverse_edge_map, QUAD8, "QUAD8"); 00916 return conv; 00917 } 00918 00919 case QUAD9: 00920 { 00921 const Conversion conv(quad9_node_map, quad_edge_map, quad_inverse_edge_map, QUAD9, "QUAD9"); 00922 return conv; 00923 } 00924 00925 case TRI3: 00926 { 00927 const Conversion conv(tri3_node_map, tri_edge_map, tri_inverse_edge_map, TRI3, "TRI3"); 00928 return conv; 00929 } 00930 00931 case TRI6: 00932 { 00933 const Conversion conv(tri6_node_map, tri_edge_map, tri_inverse_edge_map, TRI6, "TRI6"); 00934 return conv; 00935 } 00936 00937 case HEX8: 00938 { 00939 const Conversion conv(hex8_node_map, hex_face_map, hex_inverse_face_map, HEX8, "HEX8"); 00940 return conv; 00941 } 00942 00943 case HEX20: 00944 { 00945 const Conversion conv(hex20_node_map, hex_face_map, hex_inverse_face_map, HEX20, "HEX20"); 00946 return conv; 00947 } 00948 00949 case HEX27: 00950 { 00951 const Conversion conv(hex27_node_map, hex27_face_map, hex27_inverse_face_map, HEX27, "HEX27"); 00952 return conv; 00953 } 00954 00955 case TET4: 00956 { 00957 const Conversion conv(tet4_node_map, tet_face_map, tet_inverse_face_map, TET4, "TETRA4"); 00958 return conv; 00959 } 00960 00961 case TET10: 00962 { 00963 const Conversion conv(tet10_node_map, tet_face_map, tet_inverse_face_map, TET10, "TETRA10"); 00964 return conv; 00965 } 00966 00967 case PRISM6: 00968 { 00969 const Conversion conv(prism6_node_map, prism_face_map, prism_inverse_face_map, PRISM6, "WEDGE"); 00970 return conv; 00971 } 00972 00973 case PRISM15: 00974 { 00975 const Conversion conv(prism15_node_map, prism_face_map, prism_inverse_face_map, PRISM15, "WEDGE15"); 00976 return conv; 00977 } 00978 00979 case PRISM18: 00980 { 00981 const Conversion conv(prism18_node_map, prism_face_map, prism_inverse_face_map, PRISM18, "WEDGE18"); 00982 return conv; 00983 } 00984 00985 case PYRAMID5: 00986 { 00987 const Conversion conv(pyramid5_node_map, pyramid_face_map, pyramid_inverse_face_map, PYRAMID5, "PYRAMID5"); 00988 return conv; 00989 } 00990 00991 default: 00992 libmesh_error(); 00993 } 00994 00995 libmesh_error(); 00996 00997 const Conversion conv(tri3_node_map, tri_edge_map, tri_inverse_edge_map, TRI3, "TRI3"); // dummy 00998 return conv; 00999 }
| ExodusII_IO_Helper::Conversion ExodusII_IO_Helper::ElementMaps::assign_conversion | ( | const std::string | type_str | ) |
- Returns:
- a conversion object given an element type name.
Definition at line 828 of file exodusII_io_helper.C.
References assign_conversion(), libMeshEnums::HEX20, libMeshEnums::HEX27, libMeshEnums::HEX8, libMeshEnums::PRISM15, libMeshEnums::PRISM18, libMeshEnums::PRISM6, libMeshEnums::PYRAMID5, libMeshEnums::QUAD4, libMeshEnums::QUAD8, libMeshEnums::QUAD9, libMeshEnums::TET10, libMeshEnums::TET4, libMeshEnums::TRI3, tri3_node_map, libMeshEnums::TRI6, tri_edge_map, and tri_inverse_edge_map.
Referenced by assign_conversion(), Nemesis_IO::read(), ExodusII_IO::read(), ExodusII_IO_Helper::write_elements(), and ExodusII_IO_Helper::write_sidesets().
00829 { 00830 // ExodusII defines the following types in contrib/exodusii/Lib/include/exodusII_int.h 00831 // UNK = -1 00832 // NULL_ELEMENT= 0 00833 // TRIANGLE = 1 00834 // QUAD = 2 00835 // HEX = 3 00836 // WEDGE = 4 00837 // TETRA = 5 00838 // TRUSS = 6 00839 // BEAM = 7 00840 // SHELL = 8 00841 // SPHERE = 9 00842 // CIRCLE = 10 00843 // TRISHELL = 11 00844 // PYRAMID = 12 00845 00846 if ((type_str == "QUAD4") || (type_str == "QUAD") || (type_str == "quad")) 00847 return assign_conversion(QUAD4); 00848 00849 else if (type_str == "QUAD8") 00850 return assign_conversion(QUAD8); 00851 00852 else if (type_str == "QUAD9") 00853 return assign_conversion(QUAD9); 00854 00855 else if ((type_str == "TRI3") || (type_str == "TRIANGLE") || (type_str == "TRI") || (type_str == "tri")) 00856 return assign_conversion(TRI3); 00857 00858 else if (type_str == "TRI6") 00859 return assign_conversion(TRI6); 00860 00861 else if ((type_str == "HEX8") || (type_str == "HEX") || (type_str=="hex8")) 00862 return assign_conversion(HEX8); 00863 00864 else if (type_str == "HEX20") 00865 return assign_conversion(HEX20); 00866 00867 else if (type_str == "HEX27") 00868 return assign_conversion(HEX27); 00869 00870 else if ((type_str == "TETRA4") || (type_str == "TETRA")) 00871 return assign_conversion(TET4); 00872 00873 else if (type_str == "TETRA10") 00874 return assign_conversion(TET10); 00875 00876 else if (type_str == "WEDGE") 00877 return assign_conversion(PRISM6); 00878 00879 else if (type_str == "WEDGE15") 00880 return assign_conversion(PRISM15); 00881 00882 else if (type_str == "WEDGE18") 00883 return assign_conversion(PRISM18); 00884 00885 else if (type_str == "PYRAMID" || type_str == "PYRAMID5") 00886 return assign_conversion(PYRAMID5); 00887 00888 else 00889 { 00890 std::cerr << "ERROR! Unrecognized element type_str: " << type_str << std::endl; 00891 libmesh_error(); 00892 } 00893 00894 libmesh_error(); 00895 00896 const Conversion conv(tri3_node_map, tri_edge_map, tri_inverse_edge_map, TRI3,"TRI3"); // dummy 00897 return conv; 00898 }
Member Data Documentation
const int ExodusII_IO_Helper::ElementMaps::hex20_node_map [static] |
Initial value:
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
Definition at line 771 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex27_face_map = {1, 2, 3, 4, 0, 5} [static] |
Maps the Exodus face numbering for 27-noded hexahedrals. Useful for reading sideset information.
Definition at line 832 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex27_inverse_face_map = {5, 1, 2, 3, 4, 6} [static] |
Maps the Exodus face numbering for 27-noded hexahedrals. Useful for writing sideset information.
Definition at line 862 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex27_node_map [static] |
Initial value:
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
21, 25, 24, 26, 23, 22, 20}
Definition at line 778 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex8_node_map = {0, 1, 2, 3, 4, 5, 6, 7} [static] |
3D maps. These define mappings from ExodusII-formatted element numberings. The Hex8 node map. Use this map for bi-linear hexahedral elements in 3D.
Definition at line 764 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex_face_map = {1, 2, 3, 4, 0, 5} [static] |
3D face maps. Are these ever used for anything? Maps the Exodus face numbering for general hexahedrals. Useful for reading sideset information.
Definition at line 826 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::hex_inverse_face_map = {5, 1, 2, 3, 4, 6} [static] |
Maps the Exodus face numbering for general hexahedrals. Useful for writing sideset information.
Definition at line 856 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::prism15_node_map [static] |
Initial value:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14}
Definition at line 803 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::prism18_node_map [static] |
Initial value:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17}
Definition at line 808 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::prism6_node_map = {0, 1, 2, 3, 4, 5} [static] |
The Prism6 node map.
Definition at line 797 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::prism_face_map = {-1,-1,-1,-1,-1} [static] |
Maps the Exodus face numbering for general prisms. Useful for reading sideset information.
Definition at line 844 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::prism_inverse_face_map = {-1,-1,-1,-1,-1} [static] |
Maps the Exodus face numbering for general prisms. Useful for writing sideset information.
Definition at line 874 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::pyramid5_node_map = {0, 1, 2, 3, 4} [static] |
The Pyramid5 node map. Use this map for linear pyramid elements in 3D.
Definition at line 815 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::pyramid_face_map = {-1,-1,-1,-1,-1} [static] |
Maps the Exodus face numbering for general pyramids. Useful for reading sideset information.
Definition at line 850 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::pyramid_inverse_face_map = {-1,-1,-1,-1,-1} [static] |
Maps the Exodus face numbering for general pyramids. Useful for writing sideset information.
Definition at line 880 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::quad4_node_map = {0, 1, 2, 3} [static] |
2D node maps. These define mappings from ExodusII-formatted element numberings. The Quad4 node map. Use this map for bi-linear quadrilateral elements in 2D.
Definition at line 695 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::quad8_node_map = {0, 1, 2, 3, 4, 5, 6, 7} [static] |
The Quad8 node map. Use this map for serendipity quadrilateral elements in 2D.
Definition at line 702 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::quad9_node_map = {0, 1, 2, 3, 4, 5, 6, 7, 8} [static] |
The Quad9 node map. Use this map for bi-quadratic quadrilateral elements in 2D.
Definition at line 709 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::quad_edge_map = {0, 1, 2, 3} [static] |
Maps the Exodus edge numbering for quadrilaterals. Useful for reading sideset information.
Definition at line 739 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::quad_inverse_edge_map = {1, 2, 3, 4} [static] |
Maps the Exodus edge numbering for quadrilaterals. Useful for writing sideset information.
Definition at line 751 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tet10_node_map = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} [static] |
The Tet10 node map. Use this map for quadratic tetrahedral elements in 3D.
Definition at line 792 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tet4_node_map = {0, 1, 2, 3} [static] |
The Tet4 node map. Use this map for linear tetrahedral elements in 3D.
Definition at line 785 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tet_face_map = {1, 2, 3, 0} [static] |
Maps the Exodus face numbering for general tetrahedrals. Useful for reading sideset information.
Definition at line 838 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tet_inverse_face_map = {4, 1, 2, 3} [static] |
Maps the Exodus face numbering for general tetrahedrals. Useful for writing sideset information.
Definition at line 868 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tri3_node_map = {0, 1, 2} [static] |
The Tri3 node map. Use this map for linear triangles in 2D.
Definition at line 716 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tri6_node_map = {0, 1, 2, 3, 4, 5} [static] |
The Tri6 node map. Use this map for quadratic triangular elements in 2D.
Definition at line 723 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tri_edge_map = {0, 1, 2} [static] |
2D edge maps Maps the Exodus edge numbering for triangles. Useful for reading sideset information.
Definition at line 733 of file exodusII_io_helper.h.
Referenced by assign_conversion().
const int ExodusII_IO_Helper::ElementMaps::tri_inverse_edge_map = {1, 2, 3} [static] |
Maps the Exodus edge numbering for triangles. Useful for writing sideset information.
Definition at line 745 of file exodusII_io_helper.h.
Referenced by assign_conversion().
The documentation for this class was generated from the following files: