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
19
20const CellTopologyData*
21Intrepid2::getCellTopologyData(const unsigned& cellTopologyKey){
22 const CellTopologyData* cellTopologyData;
23 switch (cellTopologyKey) {
24 case shards::Node::key:
25 cellTopologyData = shards::getCellTopologyData<shards::Node>();
26 break;
27 case shards::Line<2>::key:
28 cellTopologyData = shards::getCellTopologyData<shards::Line<2>>();
29 break;
30 case shards::Triangle<3>::key:
31 cellTopologyData = shards::getCellTopologyData<shards::Triangle<3>>();
32 break;
33 case shards::Quadrilateral<4>::key:
34 cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<4>>();
35 break;
36 case shards::Tetrahedron<4>::key:
37 cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<4>>();
38 break;
39 case shards::Hexahedron<8>::key:
40 cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<8>>();
41 break;
42 case shards::Wedge<6>::key:
43 cellTopologyData = shards::getCellTopologyData<shards::Wedge<6>>();
44 break;
45 case shards::Pyramid<5>::key:
46 cellTopologyData = shards::getCellTopologyData<shards::Pyramid<5>>();
47 break;
48
49 case shards::Line<3>::key:
50 cellTopologyData = shards::getCellTopologyData<shards::Line<3>>();
51 break;
52 case shards::Triangle<6>::key:
53 cellTopologyData = shards::getCellTopologyData<shards::Triangle<6>>();
54 break;
55 case shards::Quadrilateral<8>::key:
56 cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<8>>();
57 break;
58 case shards::Quadrilateral<9>::key:
59 cellTopologyData = shards::getCellTopologyData<shards::Quadrilateral<9>>();
60 break;
61 case shards::Tetrahedron<10>::key:
62 cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<10>>();
63 break;
64 case shards::Tetrahedron<11>::key:
65 cellTopologyData = shards::getCellTopologyData<shards::Tetrahedron<11>>();
66 break;
67 case shards::Hexahedron<20>::key:
68 cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<20>>();
69 break;
70 case shards::Hexahedron<27>::key:
71 cellTopologyData = shards::getCellTopologyData<shards::Hexahedron<27>>();
72 break;
73 case shards::Wedge<15>::key:
74 cellTopologyData = shards::getCellTopologyData<shards::Wedge<15>>();
75 break;
76 case shards::Wedge<18>::key:
77 cellTopologyData = shards::getCellTopologyData<shards::Wedge<18>>();
78 break;
79 case shards::Pyramid<13>::key:
80 cellTopologyData = shards::getCellTopologyData<shards::Pyramid<13>>();
81 break;
82 case shards::Pyramid<14>::key:
83 cellTopologyData = shards::getCellTopologyData<shards::Pyramid<14>>();
84 break;
85 default: {
86 INTREPID2_TEST_FOR_EXCEPTION( true, std::invalid_argument,
87 ">>> ERROR (Intrepid2::getBaseCellTopology): invalid cell topology.");
88 }
89 }
90 return cellTopologyData;
91}
92
93#endif
94
Header file for the classes: Intrepid2::RefSubcellParametrization, Intrepid2::RefCellNodes,...