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

#include <exodusII_io_helper.h>

Public Member Functions

 ElementMaps ()
 Constructor. More...
 
ExodusII_IO_Helper::Conversion assign_conversion (std::string type_str)
 
ExodusII_IO_Helper::Conversion assign_conversion (const ElemType type)
 

Static Public Attributes

static const int nodeelem_node_map [1] = {0}
 0D node maps. More...
 
static const int edge2_node_map [2] = {0, 1}
 1D node maps. More...
 
static const int edge3_node_map [3] = {0, 1, 2}
 The Edge3 node map. More...
 
static const int edge_edge_map [2] = {0, 1}
 1D edge maps More...
 
static const int edge_inverse_edge_map [2] = {1, 2}
 Maps the Exodus edge numbering for line elements. More...
 
static const int quad4_node_map [4] = {0, 1, 2, 3}
 2D node maps. More...
 
static const int quad8_node_map [8] = {0, 1, 2, 3, 4, 5, 6, 7}
 The Quad8 node map. More...
 
static const int quad9_node_map [9] = {0, 1, 2, 3, 4, 5, 6, 7, 8}
 The Quad9 node map. More...
 
static const int tri3_node_map [3] = {0, 1, 2}
 The Tri3 node map. More...
 
static const int tri6_node_map [6] = {0, 1, 2, 3, 4, 5}
 The Tri6 node map. More...
 
static const int tri_edge_map [3] = {0, 1, 2}
 2D edge maps More...
 
static const int trishell3_edge_map [3] = {0, 1, 2}
 Maps the Exodus edge numbering for "shell triangles". More...
 
static const int trishell3_inverse_edge_map [3] = {3, 4, 5}
 
static const int quad_edge_map [4] = {0, 1, 2, 3}
 Maps the Exodus edge numbering for quadrilaterals. More...
 
static const int quadshell4_edge_map [4] = {0, 1, 2, 3}
 Maps the Exodus edge numbering for "shell quads". More...
 
static const int quadshell4_inverse_edge_map [4] = {3, 4, 5, 6}
 
static const int tri_inverse_edge_map [3] = {1, 2, 3}
 Maps the Exodus edge numbering for triangles. More...
 
static const int quad_inverse_edge_map [4] = {1, 2, 3, 4}
 Maps the Exodus edge numbering for quadrilaterals. More...
 
static const int hex8_node_map [8] = {0, 1, 2, 3, 4, 5, 6, 7}
 3D maps. More...
 
static const int hex20_node_map [20]
 The Hex20 node map. More...
 
static const int hex27_node_map [27]
 The Hex27 node map. More...
 
static const int hex27_inverse_node_map [27]
 The Hex27 inverse node map. More...
 
static const int tet4_node_map [4] = {0, 1, 2, 3}
 The Tet4 node map. More...
 
static const int tet10_node_map [10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 The Tet10 node map. More...
 
static const int prism6_node_map [6] = {0, 1, 2, 3, 4, 5}
 The Prism6 node map. More...
 
static const int prism15_node_map [15]
 The Prism15 node map. More...
 
static const int prism18_node_map [18]
 The Prism18 node map. More...
 
static const int pyramid5_node_map [5] = {0, 1, 2, 3, 4}
 The Pyramid5 node map. More...
 
static const int pyramid13_node_map [13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
 The Pyramid13 node map. More...
 
static const int pyramid14_node_map [14] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}
 The Pyramid14 node map. More...
 
static const int trishell3_shellface_map [2] = {0, 1}
 Shell element face maps. More...
 
static const int trishell3_inverse_shellface_map [2] = {1, 2}
 
static const int quadshell4_shellface_map [2] = {0, 1}
 Maps the Exodus shell face numbering for quads. More...
 
static const int quadshell4_inverse_shellface_map [2] = {1, 2}
 
static const int hex_face_map [6] = {1, 2, 3, 4, 0, 5}
 3D face maps. More...
 
static const int hex27_face_map [6] = {1, 2, 3, 4, 0, 5}
 Maps the Exodus face numbering for 27-noded hexahedra. More...
 
static const int tet_face_map [4] = {1, 2, 3, 0}
 Maps the Exodus face numbering for general tetrahedra. More...
 
static const int prism_face_map [5] = {1, 2, 3, 0, 4}
 Maps the Exodus face numbering for general prisms. More...
 
static const int pyramid_face_map [5] = {0, 1, 2, 3, 4}
 Maps the Exodus face numbering for general pyramids. More...
 
static const int hex_inverse_face_map [6] = {5, 1, 2, 3, 4, 6}
 Maps the Exodus face numbering for general hexahedra. More...
 
static const int hex27_inverse_face_map [6] = {5, 1, 2, 3, 4, 6}
 Maps the Exodus face numbering for 27-noded hexahedra. More...
 
static const int tet_inverse_face_map [4] = {4, 1, 2, 3}
 Maps the Exodus face numbering for general tetrahedra. More...
 
static const int prism_inverse_face_map [5] = {4, 1, 2, 3, 5}
 Maps the Exodus face numbering for general prisms. More...
 
static const int pyramid_inverse_face_map [5] = {1, 2, 3, 4, 5}
 Maps the Exodus face numbering for general pyramids. More...
 

Detailed Description

Definition at line 882 of file exodusII_io_helper.h.

Constructor & Destructor Documentation

libMesh::ExodusII_IO_Helper::ElementMaps::ElementMaps ( )

Constructor.

Takes a const reference to an ExodusII_IO_Helper helper object. The functionality of ElementMaps should probably just be moved into the Helper, I have no idea why it's separate currently.

Definition at line 892 of file exodusII_io_helper.h.

892 {}

Member Function Documentation

ExodusII_IO_Helper::Conversion libMesh::ExodusII_IO_Helper::ElementMaps::assign_conversion ( std::string  type_str)
Returns
A conversion object given an element type name.

Definition at line 2042 of file exodusII_io_helper.C.

References libMesh::EDGE2.

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

2043 {
2044  init_element_equivalence_map();
2045 
2046  // Do only upper-case comparisons
2047  std::transform(type_str.begin(), type_str.end(), type_str.begin(), ::toupper);
2048 
2049  std::map<std::string, ElemType>::iterator it =
2050  element_equivalence_map.find(type_str);
2051 
2052  if (it != element_equivalence_map.end())
2053  return assign_conversion( it->second );
2054  else
2055  libmesh_error_msg("ERROR! Unrecognized element type_str: " << type_str);
2056 
2057  libmesh_error_msg("We'll never get here!");
2058  return assign_conversion (EDGE2);
2059 }
ExodusII_IO_Helper::Conversion assign_conversion(std::string type_str)
ExodusII_IO_Helper::Conversion libMesh::ExodusII_IO_Helper::ElementMaps::assign_conversion ( const ElemType  type)
Returns
A conversion object given an element type.

Definition at line 2063 of file exodusII_io_helper.C.

References libMesh::EDGE2, libMesh::EDGE3, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libmesh_nullptr, libMesh::NODEELEM, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI3SUBDIVISION, libMesh::TRI6, and libMesh::TRISHELL3.

2064 {
2065  switch (type)
2066  {
2067  case NODEELEM:
2068  {
2069  const Conversion conv(nodeelem_node_map,
2070  ARRAY_LENGTH(nodeelem_node_map),
2071  nodeelem_node_map, // inverse node map same as forward node map
2072  ARRAY_LENGTH(nodeelem_node_map),
2073  libmesh_nullptr, // NODELEM doesn't have any edges
2074  0,
2076  0,
2077  NODEELEM, "SPHERE");
2078  return conv;
2079  }
2080 
2081  case EDGE2:
2082  {
2083  const Conversion conv(edge2_node_map,
2084  ARRAY_LENGTH(edge2_node_map),
2085  edge2_node_map, // inverse node map same as forward node map
2086  ARRAY_LENGTH(edge2_node_map),
2087  edge_edge_map,
2088  ARRAY_LENGTH(edge_edge_map),
2090  ARRAY_LENGTH(edge_inverse_edge_map),
2091  EDGE2, "EDGE2");
2092  return conv;
2093  }
2094  case EDGE3:
2095  {
2096  const Conversion conv(edge3_node_map,
2097  ARRAY_LENGTH(edge3_node_map),
2098  edge3_node_map, // inverse node map same as forward node map
2099  ARRAY_LENGTH(edge3_node_map),
2100  edge_edge_map,
2101  ARRAY_LENGTH(edge_edge_map),
2103  ARRAY_LENGTH(edge_inverse_edge_map),
2104  EDGE3, "EDGE3");
2105  return conv;
2106  }
2107  case QUAD4:
2108  {
2109  const Conversion conv(quad4_node_map,
2110  ARRAY_LENGTH(quad4_node_map),
2111  quad4_node_map, // inverse node map same as forward node map
2112  ARRAY_LENGTH(quad4_node_map),
2113  quad_edge_map,
2114  ARRAY_LENGTH(quad_edge_map),
2116  ARRAY_LENGTH(quad_inverse_edge_map),
2117  QUAD4,
2118  "QUAD4");
2119  return conv;
2120  }
2121 
2122  case QUADSHELL4:
2123  {
2124  return Conversion(quad4_node_map,
2125  ARRAY_LENGTH(quad4_node_map), // node mapping is the same as for quad4
2127  ARRAY_LENGTH(quad4_node_map),
2129  ARRAY_LENGTH(quadshell4_edge_map),
2131  ARRAY_LENGTH(quadshell4_inverse_edge_map),
2133  ARRAY_LENGTH(quadshell4_shellface_map),
2135  ARRAY_LENGTH(quadshell4_inverse_shellface_map),
2136  2, // the side index offset for QUADSHELL4 is 2
2137  QUADSHELL4,
2138  "SHELL4");
2139  }
2140 
2141  case QUAD8:
2142  {
2143  const Conversion conv(quad8_node_map,
2144  ARRAY_LENGTH(quad8_node_map),
2145  quad8_node_map, // inverse node map same as forward node map
2146  ARRAY_LENGTH(quad8_node_map),
2147  quad_edge_map,
2148  ARRAY_LENGTH(quad_edge_map),
2150  ARRAY_LENGTH(quad_inverse_edge_map),
2151  QUAD8,
2152  "QUAD8");
2153  return conv;
2154  }
2155 
2156  case QUADSHELL8:
2157  {
2158  return Conversion(quad8_node_map,
2159  ARRAY_LENGTH(quad8_node_map), // node mapping is the same as for quad8
2161  ARRAY_LENGTH(quad8_node_map),
2163  ARRAY_LENGTH(quadshell4_edge_map),
2165  ARRAY_LENGTH(quadshell4_inverse_edge_map),
2167  ARRAY_LENGTH(quadshell4_shellface_map),
2169  ARRAY_LENGTH(quadshell4_inverse_shellface_map),
2170  2, // the side index offset for QUADSHELL8 is 2
2171  QUADSHELL8,
2172  "SHELL8");
2173  }
2174 
2175  case QUAD9:
2176  {
2177  const Conversion conv(quad9_node_map,
2178  ARRAY_LENGTH(quad9_node_map),
2179  quad9_node_map, // inverse node map same as forward node map
2180  ARRAY_LENGTH(quad9_node_map),
2181  quad_edge_map,
2182  ARRAY_LENGTH(quad_edge_map),
2184  ARRAY_LENGTH(quad_inverse_edge_map),
2185  QUAD9,
2186  "QUAD9");
2187  return conv;
2188  }
2189 
2190  case TRI3:
2191  {
2192  return Conversion(tri3_node_map,
2193  ARRAY_LENGTH(tri3_node_map),
2194  tri3_node_map, // inverse node map same as forward node map
2195  ARRAY_LENGTH(tri3_node_map),
2196  tri_edge_map,
2197  ARRAY_LENGTH(tri_edge_map),
2199  ARRAY_LENGTH(tri_inverse_edge_map),
2200  TRI3,
2201  "TRI3");
2202  }
2203 
2204  case TRISHELL3:
2205  {
2206  return Conversion(tri3_node_map,
2207  ARRAY_LENGTH(tri3_node_map), // node mapping is the same as for tri3
2208  tri3_node_map,
2209  ARRAY_LENGTH(tri3_node_map),
2211  ARRAY_LENGTH(trishell3_edge_map),
2213  ARRAY_LENGTH(trishell3_inverse_edge_map),
2215  ARRAY_LENGTH(trishell3_shellface_map),
2217  ARRAY_LENGTH(trishell3_inverse_shellface_map),
2218  2, // the side index offset for TRISHELL4 is 2
2219  TRISHELL3,
2220  "TRISHELL3");
2221  }
2222 
2223  case TRI3SUBDIVISION:
2224  {
2225  const Conversion conv(tri3_node_map,
2226  ARRAY_LENGTH(tri3_node_map),
2227  tri3_node_map, // inverse node map same as forward node map
2228  ARRAY_LENGTH(tri3_node_map),
2229  tri_edge_map,
2230  ARRAY_LENGTH(tri_edge_map),
2232  ARRAY_LENGTH(tri_inverse_edge_map),
2234  "TRI3");
2235  return conv;
2236  }
2237 
2238  case TRI6:
2239  {
2240  const Conversion conv(tri6_node_map,
2241  ARRAY_LENGTH(tri6_node_map),
2242  tri6_node_map, // inverse node map same as forward node map
2243  ARRAY_LENGTH(tri6_node_map),
2244  tri_edge_map,
2245  ARRAY_LENGTH(tri_edge_map),
2247  ARRAY_LENGTH(tri_inverse_edge_map),
2248  TRI6,
2249  "TRI6");
2250  return conv;
2251  }
2252 
2253  case HEX8:
2254  {
2255  const Conversion conv(hex8_node_map,
2256  ARRAY_LENGTH(hex8_node_map),
2257  hex8_node_map, // inverse node map same as forward node map
2258  ARRAY_LENGTH(hex8_node_map),
2259  hex_face_map,
2260  ARRAY_LENGTH(hex_face_map),
2262  ARRAY_LENGTH(hex_inverse_face_map),
2263  HEX8,
2264  "HEX8");
2265  return conv;
2266  }
2267 
2268  case HEX20:
2269  {
2270  const Conversion conv(hex20_node_map,
2271  ARRAY_LENGTH(hex20_node_map),
2272  hex20_node_map, // inverse node map same as forward node map
2273  ARRAY_LENGTH(hex20_node_map),
2274  hex_face_map,
2275  ARRAY_LENGTH(hex_face_map),
2277  ARRAY_LENGTH(hex_inverse_face_map),
2278  HEX20,
2279  "HEX20");
2280  return conv;
2281  }
2282 
2283  case HEX27:
2284  {
2285  const Conversion conv(hex27_node_map,
2286  ARRAY_LENGTH(hex27_node_map),
2287  hex27_inverse_node_map, // different inverse node map for Hex27!
2288  ARRAY_LENGTH(hex27_inverse_node_map),
2290  ARRAY_LENGTH(hex27_face_map),
2292  ARRAY_LENGTH(hex27_inverse_face_map),
2293  HEX27,
2294  "HEX27");
2295  return conv;
2296  }
2297 
2298  case TET4:
2299  {
2300  const Conversion conv(tet4_node_map,
2301  ARRAY_LENGTH(tet4_node_map),
2302  tet4_node_map, // inverse node map same as forward node map
2303  ARRAY_LENGTH(tet4_node_map),
2304  tet_face_map,
2305  ARRAY_LENGTH(tet_face_map),
2307  ARRAY_LENGTH(tet_inverse_face_map),
2308  TET4,
2309  "TETRA4");
2310  return conv;
2311  }
2312 
2313  case TET10:
2314  {
2315  const Conversion conv(tet10_node_map,
2316  ARRAY_LENGTH(tet10_node_map),
2317  tet10_node_map, // inverse node map same as forward node map
2318  ARRAY_LENGTH(tet10_node_map),
2319  tet_face_map,
2320  ARRAY_LENGTH(tet_face_map),
2322  ARRAY_LENGTH(tet_inverse_face_map),
2323  TET10,
2324  "TETRA10");
2325  return conv;
2326  }
2327 
2328  case PRISM6:
2329  {
2330  const Conversion conv(prism6_node_map,
2331  ARRAY_LENGTH(prism6_node_map),
2332  prism6_node_map, // inverse node map same as forward node map
2333  ARRAY_LENGTH(prism6_node_map),
2335  ARRAY_LENGTH(prism_face_map),
2337  ARRAY_LENGTH(prism_inverse_face_map),
2338  PRISM6,
2339  "WEDGE");
2340  return conv;
2341  }
2342 
2343  case PRISM15:
2344  {
2345  const Conversion conv(prism15_node_map,
2346  ARRAY_LENGTH(prism15_node_map),
2347  prism15_node_map, // inverse node map same as forward node map
2348  ARRAY_LENGTH(prism15_node_map),
2350  ARRAY_LENGTH(prism_face_map),
2352  ARRAY_LENGTH(prism_inverse_face_map),
2353  PRISM15,
2354  "WEDGE15");
2355  return conv;
2356  }
2357 
2358  case PRISM18:
2359  {
2360  const Conversion conv(prism18_node_map,
2361  ARRAY_LENGTH(prism18_node_map),
2362  prism18_node_map, // inverse node map same as forward node map
2363  ARRAY_LENGTH(prism18_node_map),
2365  ARRAY_LENGTH(prism_face_map),
2367  ARRAY_LENGTH(prism_inverse_face_map),
2368  PRISM18,
2369  "WEDGE18");
2370  return conv;
2371  }
2372 
2373  case PYRAMID5:
2374  {
2375  const Conversion conv(pyramid5_node_map,
2376  ARRAY_LENGTH(pyramid5_node_map),
2377  pyramid5_node_map, // inverse node map same as forward node map
2378  ARRAY_LENGTH(pyramid5_node_map),
2380  ARRAY_LENGTH(pyramid_face_map),
2382  ARRAY_LENGTH(pyramid_inverse_face_map),
2383  PYRAMID5,
2384  "PYRAMID5");
2385  return conv;
2386  }
2387 
2388  case PYRAMID13:
2389  {
2390  const Conversion conv(pyramid13_node_map,
2391  ARRAY_LENGTH(pyramid13_node_map),
2392  pyramid13_node_map, // inverse node map same as forward node map
2393  ARRAY_LENGTH(pyramid13_node_map),
2395  ARRAY_LENGTH(pyramid_face_map),
2397  ARRAY_LENGTH(pyramid_inverse_face_map),
2398  PYRAMID13,
2399  "PYRAMID13");
2400  return conv;
2401  }
2402 
2403  case PYRAMID14:
2404  {
2405  const Conversion conv(pyramid14_node_map,
2406  ARRAY_LENGTH(pyramid14_node_map),
2407  pyramid14_node_map, // inverse node map same as forward node map
2408  ARRAY_LENGTH(pyramid14_node_map),
2410  ARRAY_LENGTH(pyramid_face_map),
2412  ARRAY_LENGTH(pyramid_inverse_face_map),
2413  PYRAMID14,
2414  "PYRAMID14");
2415  return conv;
2416  }
2417 
2418  default:
2419  libmesh_error_msg("Unsupported element type: " << type);
2420  }
2421 
2422  libmesh_error_msg("We'll never get here!");
2423  const Conversion conv(tri3_node_map,
2424  ARRAY_LENGTH(tri3_node_map),
2425  tri3_node_map, // inverse node map same as forward node map
2426  ARRAY_LENGTH(tri3_node_map),
2427  tri_edge_map,
2428  ARRAY_LENGTH(tri_edge_map),
2430  ARRAY_LENGTH(tri_inverse_edge_map),
2431  TRI3,
2432  "TRI3");
2433  return conv;
2434 }
static const int quad9_node_map[9]
The Quad9 node map.
static const int prism_inverse_face_map[5]
Maps the Exodus face numbering for general prisms.
static const int tet10_node_map[10]
The Tet10 node map.
static const int tet_face_map[4]
Maps the Exodus face numbering for general tetrahedra.
static const int hex_face_map[6]
3D face maps.
static const int quad8_node_map[8]
The Quad8 node map.
static const int prism15_node_map[15]
The Prism15 node map.
static const int hex8_node_map[8]
3D maps.
static const int pyramid13_node_map[13]
The Pyramid13 node map.
static const int hex27_inverse_node_map[27]
The Hex27 inverse node map.
static const int tet4_node_map[4]
The Tet4 node map.
const class libmesh_nullptr_t libmesh_nullptr
static const int tet_inverse_face_map[4]
Maps the Exodus face numbering for general tetrahedra.
static const int pyramid5_node_map[5]
The Pyramid5 node map.
static const int edge2_node_map[2]
1D node maps.
static const int tri_inverse_edge_map[3]
Maps the Exodus edge numbering for triangles.
static const int pyramid_face_map[5]
Maps the Exodus face numbering for general pyramids.
static const int hex27_inverse_face_map[6]
Maps the Exodus face numbering for 27-noded hexahedra.
static const int quadshell4_edge_map[4]
Maps the Exodus edge numbering for "shell quads".
static const int pyramid14_node_map[14]
The Pyramid14 node map.
static const int quad_inverse_edge_map[4]
Maps the Exodus edge numbering for quadrilaterals.
static const int prism6_node_map[6]
The Prism6 node map.
static const int edge_inverse_edge_map[2]
Maps the Exodus edge numbering for line elements.
static const int hex27_face_map[6]
Maps the Exodus face numbering for 27-noded hexahedra.
static const int pyramid_inverse_face_map[5]
Maps the Exodus face numbering for general pyramids.
static const int trishell3_edge_map[3]
Maps the Exodus edge numbering for "shell triangles".
static const int edge_edge_map[2]
1D edge maps
static const int quad_edge_map[4]
Maps the Exodus edge numbering for quadrilaterals.
static const int hex20_node_map[20]
The Hex20 node map.
static const int tri6_node_map[6]
The Tri6 node map.
static const int edge3_node_map[3]
The Edge3 node map.
static const int hex27_node_map[27]
The Hex27 node map.
static const int trishell3_shellface_map[2]
Shell element face maps.
static const int hex_inverse_face_map[6]
Maps the Exodus face numbering for general hexahedra.
static const int prism18_node_map[18]
The Prism18 node map.
static const int prism_face_map[5]
Maps the Exodus face numbering for general prisms.
static const int quadshell4_shellface_map[2]
Maps the Exodus shell face numbering for quads.
static const int tri3_node_map[3]
The Tri3 node map.
static const int nodeelem_node_map[1]
0D node maps.
static const int tri_edge_map[3]
2D edge maps
static const int quad4_node_map[4]
2D node maps.

Member Data Documentation

const int libMesh::ExodusII_IO_Helper::ElementMaps::edge2_node_map = {0, 1}
static

1D node maps.

These define mappings from ExodusII-formatted element numberings. The Edge2 node map. Use this map for linear elements in 1D.

Definition at line 914 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::edge3_node_map = {0, 1, 2}
static

The Edge3 node map.

Use this map for quadratic elements in 1D.

Definition at line 919 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::edge_edge_map = {0, 1}
static

1D edge maps

Maps the Exodus edge numbering for line elements. Useful for reading sideset information.

Definition at line 930 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::edge_inverse_edge_map = {1, 2}
static

Maps the Exodus edge numbering for line elements.

Useful for writing sideset information.

Definition at line 936 of file exodusII_io_helper.h.

const int libMesh::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}

The Hex20 node map.

Use this map for serendipity hexahedral elements in 3D.

Definition at line 1033 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::hex27_face_map = {1, 2, 3, 4, 0, 5}
static

Maps the Exodus face numbering for 27-noded hexahedra.

Useful for reading sideset information.

Definition at line 1126 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::hex27_inverse_face_map = {5, 1, 2, 3, 4, 6}
static

Maps the Exodus face numbering for 27-noded hexahedra.

Useful for writing sideset information.

Definition at line 1156 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::hex27_inverse_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,
26, 20, 25, 24, 22, 21, 23}

The Hex27 inverse node map.

Use this map for writing tri-quadratic hexahedral elements in 3D.

Definition at line 1045 of file exodusII_io_helper.h.

const int libMesh::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}

The Hex27 node map.

Use this map for reading tri-quadratic hexahedral elements in 3D.

Definition at line 1039 of file exodusII_io_helper.h.

const int libMesh::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 1027 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::hex_face_map = {1, 2, 3, 4, 0, 5}
static

3D face maps.

Maps the Exodus face numbering for general hexahedra. Useful for reading sideset information.

Definition at line 1120 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::hex_inverse_face_map = {5, 1, 2, 3, 4, 6}
static

Maps the Exodus face numbering for general hexahedra.

Useful for writing sideset information.

Definition at line 1150 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::nodeelem_node_map = {0}
static

0D node maps.

These define mappings from ExodusII-formatted element numberings. The NodeElem node map.

Definition at line 904 of file exodusII_io_helper.h.

const int libMesh::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}

The Prism15 node map.

Use this map for "serendipity" prisms in 3D.

Definition at line 1068 of file exodusII_io_helper.h.

const int libMesh::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}

The Prism18 node map.

Definition at line 1073 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::prism6_node_map = {0, 1, 2, 3, 4, 5}
static

The Prism6 node map.

Definition at line 1062 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::prism_face_map = {1, 2, 3, 0, 4}
static

Maps the Exodus face numbering for general prisms.

Useful for reading sideset information.

Definition at line 1138 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::prism_inverse_face_map = {4, 1, 2, 3, 5}
static

Maps the Exodus face numbering for general prisms.

Useful for writing sideset information.

Definition at line 1168 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::pyramid13_node_map = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
static

The Pyramid13 node map.

Use this map for "serendipity" pyramid elements in 3D.

Definition at line 1085 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::pyramid14_node_map = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}
static

The Pyramid14 node map.

Use this map for biquadratic pyramid elements in 3D.

Definition at line 1091 of file exodusII_io_helper.h.

const int libMesh::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 1079 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::pyramid_face_map = {0, 1, 2, 3, 4}
static

Maps the Exodus face numbering for general pyramids.

Useful for reading sideset information.

Definition at line 1144 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::pyramid_inverse_face_map = {1, 2, 3, 4, 5}
static

Maps the Exodus face numbering for general pyramids.

Useful for writing sideset information.

Definition at line 1174 of file exodusII_io_helper.h.

const int libMesh::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 947 of file exodusII_io_helper.h.

const int libMesh::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 953 of file exodusII_io_helper.h.

const int libMesh::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 959 of file exodusII_io_helper.h.

const int libMesh::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 995 of file exodusII_io_helper.h.

const int libMesh::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 1016 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::quadshell4_edge_map = {0, 1, 2, 3}
static

Maps the Exodus edge numbering for "shell quads".

In this case we have "6 sides", where the the first two sides correspond to the quad faces and are mapped to "shell face" boundary conditions. The remaining four sides are mapped to edge boundary conditions.

Definition at line 1003 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::quadshell4_inverse_edge_map = {3, 4, 5, 6}
static

Definition at line 1004 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::quadshell4_inverse_shellface_map = {1, 2}
static

Definition at line 1110 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::quadshell4_shellface_map = {0, 1}
static

Maps the Exodus shell face numbering for quads.

Useful for reading sideset information.

Definition at line 1109 of file exodusII_io_helper.h.

const int libMesh::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 1057 of file exodusII_io_helper.h.

const int libMesh::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 1051 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::tet_face_map = {1, 2, 3, 0}
static

Maps the Exodus face numbering for general tetrahedra.

Useful for reading sideset information.

Definition at line 1132 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::tet_inverse_face_map = {4, 1, 2, 3}
static

Maps the Exodus face numbering for general tetrahedra.

Useful for writing sideset information.

Definition at line 1162 of file exodusII_io_helper.h.

const int libMesh::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 964 of file exodusII_io_helper.h.

const int libMesh::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 970 of file exodusII_io_helper.h.

const int libMesh::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 980 of file exodusII_io_helper.h.

const int libMesh::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 1010 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::trishell3_edge_map = {0, 1, 2}
static

Maps the Exodus edge numbering for "shell triangles".

In this case we have "5 sides", where the the first two sides correspond to the triangle faces and are mapped to "shell face" boundary conditions. The remaining three sides are mapped to edge boundary conditions.

Definition at line 988 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::trishell3_inverse_edge_map = {3, 4, 5}
static

Definition at line 989 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::trishell3_inverse_shellface_map = {1, 2}
static

Definition at line 1103 of file exodusII_io_helper.h.

const int libMesh::ExodusII_IO_Helper::ElementMaps::trishell3_shellface_map = {0, 1}
static

Shell element face maps.

Maps the Exodus shell face numbering for triangles. Useful for reading sideset information.

Definition at line 1102 of file exodusII_io_helper.h.


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