Intrepid2
Intrepid2_HierarchicalBasisFamily.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
15#ifndef Intrepid2_HierarchicalBasisFamily_h
16#define Intrepid2_HierarchicalBasisFamily_h
17
19
33
34namespace Intrepid2 {
35
36
37//Dummy basis to be temporarily used for Hierarchical bases that have not been implemented yet
38 template<typename ExecutionSpace, typename OutputScalar, typename PointScalar>
40 : public Basis<ExecutionSpace,OutputScalar,PointScalar> {
41 public:
42 dummyBasis(int /*order*/, EPointType /*pointType*/= POINTTYPE_DEFAULT) {};
43 };
44
45// the following defines a family of hierarchical basis functions that matches the unpermuted ESEAS basis functions
46// each basis member is associated with appropriate subcell topologies, making this suitable for continuous Galerkin finite elements.
47 template<typename DeviceType,
48 typename OutputScalar = double,
49 typename PointScalar = double,
50 bool defineVertexFunctions = true>
52 {
53 public:
54 // we will fill these in as we implement them
56 using HCURL = HierarchicalBasis_HCURL_TRI<DeviceType,OutputScalar,PointScalar,defineVertexFunctions>; // last template argument: useCGBasis; corresponds with defineVertexFunctions.
57 using HDIV = HierarchicalBasis_HDIV_TRI<DeviceType,OutputScalar,PointScalar,defineVertexFunctions>; // last template argument: useCGBasis; corresponds with defineVertexFunctions.
59 };
60
61 template<typename DeviceType,
62 typename OutputScalar = double,
63 typename PointScalar = double,
64 bool defineVertexFunctions = true>
74
75
76 template<typename DeviceType,
77 typename OutputScalar = double,
78 typename PointScalar = double,
79 bool defineVertexFunctions = true>
89
110 template<typename DeviceType,
111 typename OutputScalar = double,
112 typename PointScalar = double>
118 >;
119
128 template<typename DeviceType,
129 typename OutputScalar = double,
130 typename PointScalar = double>
136 >;
137
138}
139
140#endif /* Intrepid2_HierarchicalBasisFamily_h */
Stateless class representing a family of basis functions, templated on H(vol) and H(grad) on the line...
H(curl) basis on the triangle using a construction involving Legendre and integrated Jacobi polynomia...
H(curl) basis on the triangle using a construction involving Legendre and integrated Jacobi polynomia...
H(div) basis on the pyramid based on integrated Legendre polynomials.
H(div) basis on the tetrahedron using a construction involving Legendre and integrated Jacobi polynom...
H(div) basis on the triangle using a construction involving Legendre and integrated Jacobi polynomial...
H(grad) basis on the line based on integrated Legendre polynomials.
H(grad) basis on the pyramid based on integrated Legendre polynomials.
H(grad) basis on the tetrahedon based on integrated Legendre polynomials.
H(grad) basis on the triangle based on integrated Legendre polynomials.
H(vol) basis on the line based on Legendre polynomials.
H(vol) basis on the pyramid based on Legendre polynomials.
H(vol) basis on the triangle based on integrated Legendre polynomials.
H(vol) basis on the triangle based on integrated Legendre polynomials.
An abstract base class that defines interface for concrete basis implementations for Finite Element (...
A family of basis functions, constructed from H(vol) and H(grad) bases on the line.
For mathematical details of the construction, see:
For mathematical details of the construction, see:
Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line.
For mathematical details of the construction, see:
For mathematical details of the construction, see:
Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line.
Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line.
Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line: e...
Basis defining Legendre basis on the line, a polynomial subspace of L^2 (a.k.a. H(vol)) on the line.
Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line.
Basis defining Legendre basis on the line, a polynomial subspace of H(vol) on the line: extension to ...
Basis defining Legendre basis on the line, a polynomial subspace of H(vol) on the line: extension to ...