Intrepid2
Intrepid2_CubatureDirectTetSymmetric.hpp
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 
16 #ifndef __INTREPID2_CUBATURE_DIRECT_TET_SYMMETRIC_HPP__
17 #define __INTREPID2_CUBATURE_DIRECT_TET_SYMMETRIC_HPP__
18 
19 #include "Intrepid2_ConfigDefs.hpp"
21 
22 namespace Intrepid2 {
23 
31  template<typename DeviceType = void,
32  typename pointValueType = double,
33  typename weightValueType = double>
35  : public CubatureDirect<DeviceType,pointValueType,weightValueType> {
36  public:
39 
40  typedef typename CubatureDirect<DeviceType,pointValueType,weightValueType>::PointViewType PointViewType;
41  typedef typename CubatureDirect<DeviceType,pointValueType,weightValueType>::weightViewType weightViewType;
42 
43  private:
44 
45  // static data initialize upto 21
46  static constexpr ordinal_type cubatureDataStaticSize=21;
47 
50  static const CubatureDataStatic cubatureDataStatic_[cubatureDataStaticSize]; // initialized once
51 
52  public:
53 
59  CubatureDirectTetSymmetric(const ordinal_type degree = 0);
60 
63  virtual
64  const char*
65  getName() const override {
66  return "CubatureDirectTetSymmetric";
67  }
68  };
69 
70 } // end namespace Intrepid2
71 
72 
73 // include templated definitions
74 #include <Intrepid2_CubatureDirectTetSymmetricDef.hpp>
75 
76 #endif
static const CubatureDataStatic cubatureDataStatic_[cubatureDataStaticSize]
Complete set of data defining default cubature rules on a triangle.
virtual const char * getName() const override
Returns cubature name.
Defines direct integration rules on a tetrahedron. These quadrature rules are symmetric (invariant un...
CubatureDirectTetSymmetric(const ordinal_type degree=0)
Constructor.
Defines direct cubature (integration) rules in Intrepid.
Cubature data is defined on the host space and is static.
Cubature data is defined on exec space and deep-copied when an object is created. ...
Header file for the Intrepid2::CubatureDirect class.