53 #ifndef __INTREPID2_CELLDATA_HPP__ 54 #define __INTREPID2_CELLDATA_HPP__ 56 #include "Intrepid2_ConfigDefs.hpp" 58 #include "Shards_CellTopology.hpp" 110 template<
typename DeviceType>
113 using ConstViewType = Kokkos::DynRankView<const double,DeviceType>;
149 get(
const ordinal_type subcellDim,
150 const unsigned parentCellKey );
168 template <
typename HostViewType>
170 set( HostViewType subcellParam,
171 const ordinal_type subcellDim,
172 const shards::CellTopology parentCell );
175 using ViewType = Kokkos::DynRankView<double,DeviceType>;
177 static ViewType triEdgesParam, quadEdgesParam;
178 static ViewType shellTriEdgesParam, shellQuadEdgesParam;
179 static ViewType tetEdgesParam, hexEdgesParam, pyrEdgesParam, wedgeEdgesParam;
180 static ViewType shellTriFacesParam, shellQuadFacesParam;
181 static ViewType tetFacesParam, hexFacesParam, pyrFacesParam, wedgeFacesParam;
205 template<
typename DeviceType>
208 using ConstViewType = Kokkos::DynRankView<const double,DeviceType>;
234 get(
const unsigned cellTopoKey);
242 using ViewType = Kokkos::DynRankView<double,DeviceType>;
243 static ViewType lineNodes, line3Nodes;
244 static ViewType triangleNodes, triangle4Nodes, triangle6Nodes;
245 static ViewType quadrilateralNodes, quadrilateral8Nodes, quadrilateral9Nodes;
246 static ViewType tetrahedronNodes, tetrahedron8Nodes, tetrahedron10Nodes, tetrahedron11Nodes;
247 static ViewType hexahedronNodes, hexahedron20Nodes, hexahedron27Nodes;
248 static ViewType pyramidNodes, pyramid13Nodes, pyramid14Nodes;
249 static ViewType wedgeNodes, wedge15Nodes, wedge18Nodes;
256 double line[2][3], line_3[3][3];
257 double triangle[3][3], triangle_4[4][3], triangle_6[6][3];
258 double quadrilateral[4][3], quadrilateral_8[8][3], quadrilateral_9[9][3];
259 double tetrahedron[4][3], tetrahedron_8[8][3], tetrahedron_10[10][3], tetrahedron_11[10][3];
260 double hexahedron[8][3], hexahedron_20[20][3], hexahedron_27[27][3];
261 double pyramid[5][3], pyramid_13[13][3], pyramid_14[14][3];
262 double wedge[6][3], wedge_15[15][3], wedge_18[18][3];
287 template<
typename DeviceType>
290 using ConstViewType = Kokkos::DynRankView<const double,DeviceType>;
316 get(
const unsigned cellTopoKey);
324 using ViewType = Kokkos::DynRankView<double,DeviceType>;
327 static ViewType quadrilateralCenter;
339 double quadrilateral[3];
340 double tetrahedron[3];
341 double hexahedron[3];
This class defines the coordinates of the barycenter of the supported reference cells. The barycenter coordinates are stored in static views. The class is templated on the Kokkos::Device Type which is used to determine layout and memory space of the views.
RefSubcellParametrization()=default
Default constructor.
static bool isReferenceNodeDataSet_
whether the nodes coordinates have been already set using the method set()
Kokkos::DynRankView< double, DeviceType > ViewType
static views containing the center coordinates allocated on DeviceType::memory_space ...
Kokkos::DynRankView< double, DeviceType > ViewType
static views containing the parametrization maps, allocated on DeviceType::memory_space ...
~RefSubcellParametrization()=default
Destructor.
Definition file for the classes: Intrepid2::RefSubcellParametrization, Intrepid2::RefCellNodes, Intrepid2::RefCellCenter.
Header function for Intrepid2::Util class and other utility functions.
~RefCellNodes()=default
Destructor.
RefCellNodes()=default
Default constructor.
This class defines the coordinates of the nodes of reference cells according for supported cell topol...
static bool isReferenceCellCenterDataSet_
whether the center coordinates have been already set using the method set()
static bool isSupported(const unsigned cellTopoKey)
Checks if a cell topology has a reference parametrization.
Contains definitions of custom data types in Intrepid2.
static bool isSubcellParametrizationSet_
whether the parametrizations have been already computed using the method set()
RefCellCenter()=default
Default constructor.
static const ReferenceNodeDataStatic refNodeDataStatic_
static struct containing the nodes coordinates on host
static const ReferenceCenterDataStatic refCenterDataStatic_
static struct containing the nodes coordinates on host
Kokkos::DynRankView< double, DeviceType > ViewType
static views containing the node coordinates allocated on DeviceType::memory_space ...
Reference node containers for each supported topology.
This class defines the parametrizations of edges and faces of supported reference cells...
Header file for small functions used in Intrepid2.
~RefCellCenter()=default
Destructor.