Intrepid2
Intrepid2_DefaultCubatureFactory.hpp
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
16#ifndef __INTREPID2_DEFAULT_CUBATURE_FACTORY_HPP__
17#define __INTREPID2_DEFAULT_CUBATURE_FACTORY_HPP__
18
19#include "Intrepid2_ConfigDefs.hpp"
20#include "Intrepid2_Utils.hpp"
21
22#include "Shards_CellTopology.hpp"
23#include "Teuchos_RCP.hpp"
24
31#include "Intrepid2_CubatureDirectTetSymmetric.hpp"
32//#include "Intrepid2_CubatureCompositeTet.hpp"
35//#include "Intrepid2_CubaturePolygon.hpp"
36
38
39namespace Intrepid2 {
40
46 public:
47
56 template<typename DeviceType,
57 typename pointValueType = double,
58 typename weightValueType = double>
59 static Teuchos::RCP<Cubature<DeviceType,pointValueType,weightValueType> >
60 create( unsigned topologyKey,
61 const std::vector<ordinal_type> &degree,
62 const EPolyType polytype = POLYTYPE_MAX,
63 const bool symmetric = false );
64
73 template<typename DeviceType,
74 typename pointValueType = double,
75 typename weightValueType = double>
76 static Teuchos::RCP<Cubature<DeviceType,pointValueType,weightValueType> >
77 create( const shards::CellTopology cellTopology,
78 const std::vector<ordinal_type> &degree,
79 const EPolyType polytype = POLYTYPE_MAX,
80 const bool symmetric = false );
81
82
91 template<typename DeviceType,
92 typename pointValueType = double,
93 typename weightValueType = double>
94 static Teuchos::RCP<Cubature<DeviceType,pointValueType,weightValueType> >
95 create( unsigned topologyKey,
96 const ordinal_type degree,
97 const EPolyType polytype = POLYTYPE_MAX,
98 const bool symmetric = false );
99
108 template<typename DeviceType,
109 typename pointValueType = double,
110 typename weightValueType = double>
111 static Teuchos::RCP<Cubature<DeviceType,pointValueType,weightValueType> >
112 create( const shards::CellTopology cellTopology,
113 const ordinal_type degree,
114 const EPolyType polytype = POLYTYPE_MAX,
115 const bool symmetric = false );
116
117
127 // template<typename DeviceType>
128 // template<typename cellVertexValueType, class ...cellVertexProperties>
129 // static Teuchos::RCP<Cubature<ExecSpace> >
130 // create( const shards::CellTopology &cellTopology,
131 // const Kokkos::DynRankView<cellVertexValueType,cellVertexProperties> cellVertices,
132 // const ordinal_type degree );
133 };
134
135}// namespace Intrepid2
136
138
139#endif
Header file for the Intrepid2::CubatureDirectLineGaussJacobi20 class.
Header file for the Intrepid2::CubatureDirectLineGauss class.
Header file for the Intrepid2::CubatureDirectTetDefault class.
Header file for the Intrepid2::CubatureDirectTriDefault class.
Header file for the Intrepid2::CubatureDirectTrisymPos class.
Header file for the Intrepid2::CubaturePolylib class.
Header file for the Intrepid2::CubatureTensorPyr class.
Header file for the Intrepid2::CubatureTensor class.
Header file for the Intrepid2::Cubature class.
Definition file for the class Intrepid2::DefaultCubatureFactory.
Header function for Intrepid2::Util class and other utility functions.
A factory class that generates specific instances of cubatures.
static Teuchos::RCP< Cubature< DeviceType, pointValueType, weightValueType > > create(const shards::CellTopology cellTopology, const std::vector< ordinal_type > &degree, const EPolyType polytype=POLYTYPE_MAX, const bool symmetric=false)
Factory method.
static Teuchos::RCP< Cubature< DeviceType, pointValueType, weightValueType > > create(unsigned topologyKey, const std::vector< ordinal_type > &degree, const EPolyType polytype=POLYTYPE_MAX, const bool symmetric=false)
Factory method.
static Teuchos::RCP< Cubature< DeviceType, pointValueType, weightValueType > > create(const shards::CellTopology cellTopology, const ordinal_type degree, const EPolyType polytype=POLYTYPE_MAX, const bool symmetric=false)
Factory method.
static Teuchos::RCP< Cubature< DeviceType, pointValueType, weightValueType > > create(unsigned topologyKey, const ordinal_type degree, const EPolyType polytype=POLYTYPE_MAX, const bool symmetric=false)
Factory method.