Intrepid2
Intrepid2_CellData.cpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Intrepid2 Package
4 //
5 // Copyright 2007 NTESS and the Intrepid2 contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
15 #ifndef __INTREPID2_CELLDATA_CPP__
16 #define __INTREPID2_CELLDATA_CPP__
17 
18 #include "Intrepid2_CellData.hpp"
19 
20 const CellTopologyData*
21 Intrepid2::getCellTopologyData(const unsigned& cellTopologyKey){
22  const CellTopologyData* cellTopologyData;
23  switch (cellTopologyKey) {
24  case shards::Line<2>::key:
25  cellTopologyData = shards::getCellTopologyData<shards::Line<2>>();
26  break;
27  case shards::Triangle<3>::key:
28  cellTopologyData = shards::getCellTopologyData<shards::Triangle<3>>();
29  break;
30  case shards::Quadrilateral<4>::key:
31  cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<4>>();
32  break;
33  case shards::Tetrahedron<4>::key:
34  cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<4>>();
35  break;
36  case shards::Hexahedron<8>::key:
37  cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<8>>();
38  break;
39  case shards::Wedge<6>::key:
40  cellTopologyData = shards::getCellTopologyData<shards::Wedge<6>>();
41  break;
42  case shards::Pyramid<5>::key:
43  cellTopologyData = shards::getCellTopologyData<shards::Pyramid<5>>();
44  break;
45 
46  case shards::Line<3>::key:
47  cellTopologyData = shards::getCellTopologyData<shards::Line<3>>();
48  break;
49  case shards::Triangle<6>::key:
50  cellTopologyData = shards::getCellTopologyData<shards::Triangle<6>>();
51  break;
52  case shards::Quadrilateral<8>::key:
53  cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<8>>();
54  break;
55  case shards::Quadrilateral<9>::key:
56  cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<9>>();
57  break;
58  case shards::Tetrahedron<10>::key:
59  cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<10>>();
60  break;
61  case shards::Tetrahedron<11>::key:
62  cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<11>>();
63  break;
64  case shards::Hexahedron<20>::key:
65  cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<20>>();
66  break;
67  case shards::Hexahedron<27>::key:
68  cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<27>>();
69  break;
70  case shards::Wedge<15>::key:
71  cellTopologyData = shards::getCellTopologyData<shards::Wedge<15>>();
72  break;
73  case shards::Wedge<18>::key:
74  cellTopologyData = shards::getCellTopologyData<shards::Wedge<18>>();
75  break;
76  case shards::Pyramid<13>::key:
77  cellTopologyData = shards::getCellTopologyData<shards::Pyramid<13>>();
78  break;
79  case shards::Pyramid<14>::key:
80  cellTopologyData = shards::getCellTopologyData<shards::Pyramid<14>>();
81  break;
82  default: {
83  INTREPID2_TEST_FOR_EXCEPTION( true, std::invalid_argument,
84  ">>> ERROR (Intrepid2::getBaseCellTopology): invalid cell topology.");
85  }
86  }
87  return cellTopologyData;
88 }
89 
90 #endif
91 
Header file for the classes: Intrepid2::RefSubcellParametrization, Intrepid2::RefCellNodes, Intrepid2::RefCellCenter.