Go to the documentation of this file.
49 #ifndef INTREPID_HGRAD_LINE_HERMITE_FEM_HPP
50 #define INTREPID_HGRAD_LINE_HERMITE_FEM_HPP
56 #include "Teuchos_SerialDenseMatrix.hpp"
57 #include "Teuchos_SerialDenseSolver.hpp"
92 template<
class Scalar,
class ArrayScalar>
95 template<
typename T>
using RCP = Teuchos::RCP<T>;
96 using SerialDenseMatrix = Teuchos::SerialDenseMatrix<int,Scalar>;
98 using TAGS = std::vector<int>;
106 mutable SerialDenseMatrix
V_;
108 mutable Teuchos::SerialDenseSolver<int,Scalar> solver_;
112 mutable bool isFactored_;
120 void recurrence( ArrayScalar &P, ArrayScalar &Px,
const Scalar x )
const;
125 void legendre_d( ArrayScalar &Pm, ArrayScalar &Pm1,
const int m,
const Scalar pt )
const;
159 void getValues(ArrayScalar & outputValues,
160 const ArrayScalar & inputPoints,
166 void getValues(ArrayScalar & outputValues,
167 const ArrayScalar & inputPoints,
168 const ArrayScalar & cellVertices,
169 const EOperator operatorType = OPERATOR_VALUE)
const;
172 virtual void getDofCoords( ArrayScalar & DofCoords )
const;
175 void printTags( std::ostream &os );
183 #endif // INTREPID_HGRAD_LINE_HERMITE_FEM_HPP
Basis_HGRAD_LINE_Hermite_FEM()
Default Constructor assumes the two interpolation points are the cell vertices. Cubic Hermite Interpo...
SerialDenseMatrix V_
Contains the values of the Legendre polynomials and their derivatives.
void legendre_d(ArrayScalar &Pm, ArrayScalar &Pm1, const int m, const Scalar pt) const
Evaluates and at a particular point .
virtual void getDofCoords(ArrayScalar &DofCoords) const
implements the dofcoords interface
Implements Hermite interpolant basis of degree n on the reference Line cell. The basis has cardinalit...
An abstract base class that defines interface for concrete basis implementations for Finite Element (...
EPointType
Enumeration of types of point distributions in Intrepid.
void initializeTags()
Initializes tagToOrdinal_ and ordinalToTag_ lookup arrays.
FieldContainer< Scalar > latticePts_
Holds the points defining the Hermite basis.
Header file for the abstract base class Intrepid::Basis.
Header file for a set of functions providing orthogonal polynomial polynomial calculus and interpolat...
void setupVandermonde(bool factor=true)
Form the Legendre/Derivative Vandermonde matrix at the given lattice points and have the linear solve...
void recurrence(ArrayScalar &P, ArrayScalar &Px, const Scalar x) const
Evaluates and at a particular point .
EOperator
Enumeration of primitive operators available in Intrepid. Primitive operators act on reconstructed fu...
void getValues(ArrayScalar &outputValues, const ArrayScalar &inputPoints, const EOperator operatorType) const
Evaluation of a FEM basis on a reference Line cell.
Definition file for Hermite FEM basis functions of degree 2n for H(grad) functions on a Line.