HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions | Variables
Quadratures

Classes providing quadratures rules on cells, faces and edges, as well as cost-effective ways to compute Gram matrices of polynomial bases. More...

Namespaces

namespace  HArDCore3D
 

Classes

struct  HArDCore3D::VecHash
 Hash function for VectorZd type. More...
 
struct  HArDCore3D::VecFaceHash
 Hash function for VectorZd type. More...
 
class  HArDCore3D::QuadRuleEdge
 
class  HArDCore3D::LegendreGauss
 
class  HArDCore3D::QuadRuleTetra
 
class  HArDCore3D::QuadRuleTriangle
 
struct  HArDCore3D::QuadratureNode
 Description of one node and one weight from a quadrature rule. More...
 

Typedefs

typedef std::unordered_map< VectorZd, double, VecHashHArDCore3D::MonomialCellIntegralsType
 Type for list of integrals of monomials.
 
typedef std::vector< doubleHArDCore3D::MonomialEdgeIntegralsType
 Type for list of edge integrals of monomials.
 
typedef std::unordered_map< Eigen::Vector2i, double, VecFaceHashHArDCore3D::MonomialFaceIntegralsType
 Type for list of face integrals of monomials.
 
typedef boost::multi_array< double, 3 > HArDCore3D::Scalar3Tensor
 
typedef Eigen::Map< Eigen::MatrixXd, Eigen::Unaligned, Eigen::Stride< Eigen::Dynamic, Eigen::Dynamic > > HArDCore3D::MatrixSlice
 
typedef Eigen::Map< Eigen::VectorXd, Eigen::Unaligned, Eigen::InnerStride< Eigen::Dynamic > > HArDCore3D::VectorSlice
 
typedef std::vector< QuadratureNodeHArDCore3D::QuadratureRule
 

Functions

size_t HArDCore3D::VecHash::operator() (const VectorZd &p) const
 
std::vector< MonomialCellIntegralsTypeHArDCore3D::IntegrateCellMonomials_onEdges (const Cell &T, const size_t maxdeg)
 Compute all the integrals, on the edges of a cell, of this cell's monomials up to a max degree.
 
std::vector< MonomialCellIntegralsTypeHArDCore3D::IntegrateCellMonomials_onFaces (const Cell &T, const size_t maxdeg, std::vector< MonomialCellIntegralsType > &integrals_edges)
 Compute all the integrals, on the faces of a cell, of this cell's monomials up to a max degree.
 
MonomialCellIntegralsType HArDCore3D::IntegrateCellMonomials (const Cell &T, const int maxdeg)
 Compute all the integrals of a cell's monomials on the cell.
 
MonomialCellIntegralsType HArDCore3D::CheckIntegralsDegree (const Cell &T, const size_t degree, const MonomialCellIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM (const Family< BasisType > &family_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a family basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM (const RestrictedBasis< BasisType > &restr_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a restricted basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM (const ShiftedBasis< BasisType > &shifted_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a shifted basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const BasisType &basis, MonomialCellIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any pair of tensorized scalar bases.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const RolyComplBasisCell &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of RolyCompl bases.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const RolyComplBasisCell &rolycompl_basis, const TensorizedVectorFamily< BasisType1, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a RolyCompl basis and a tensorized scalar basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const RolyComplBasisCell &rolycompl_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a RolyCompl basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of GolyCompl bases.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GolyComplBasisCell &golycompl_basis, const TensorizedVectorFamily< BasisType1, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a GolyCompl basis and a tensorized scalar basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const GolyComplBasisCell &golycompl_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a GolyCompl basis.
 
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar (const Cell &T, const RolyComplBasisCell &rolycompl_basis, const MonomialScalarBasisCell &mono_basis, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of the mth component of a RolyCompl Basis and a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar (const Cell &T, const RolyComplBasisCell &basis1, const BasisType &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of the mth component of a RolyCompl Basis and any basis.
 
Eigen::MatrixXd HArDCore3D::GMGolyComplScalar (const Cell &T, const GolyComplBasisCell &golycompl_basis, const MonomialScalarBasisCell &mono_basis, const size_t s, MonomialCellIntegralsType mono_int_map, const size_t m=3, const size_t k1=3, const size_t k2=3)
 Computes the Gram Matrix of the sth section of a GolyCompl Basis and a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMGolyComplScalar (const Cell &T, const GolyComplBasisCell &basis1, const BasisType &basis2, const size_t s, MonomialCellIntegralsType mono_int_map, const size_t m=3, const size_t k1=3, const size_t k2=3)
 Generic template to compute the Gram Matrix of the sth section of a GolyCompl Basis and any basis with an extra power of the mth variable.
 
Eigen::MatrixXd HArDCore3D::GMGolyCompl (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, const size_t s1, const size_t s2, MonomialCellIntegralsType mono_int_map, const size_t m1=3, const size_t m2=3, const size_t k1=3, const size_t k2=3)
 Computes the Gram Matrix of the (optionally k1th derivative of the) s1th section of GolyCompl (optionally multiplied by the m1th variable) and the (optionally k2th derivative of the) s2th section of GolyCompl (optionally multiplied by the m2th variable)
 
template<typename BasisType >
constexpr bool HArDCore3D::useAncestor ()
 Determines if the ancestor of a basis will be used to compute a Gram matrix for this basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)
 
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, const size_t m, const size_t l, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, const size_t l, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GradientBasis< BasisType1 > &grad_basis, const TensorizedVectorFamily< BasisType2, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a gradient basis and a tensorized scalar basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const GradientBasis< BasisType2 > &grad_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a gradient basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GradientBasis< BasisType1 > &grad_basis1, const GradientBasis< BasisType2 > &grad_basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a gradient basis and another gradient basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const CurlBasis< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of Curl of any pair of bases.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix (const Cell &T, const CurlBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Curl basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const BasisType1 &basis1, const CurlBasis< Basis2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Curl basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of another tensorized basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Compute the Gram Matrix of the curl of a GolyCompl basis and the curl of another GolyCompl basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl (const Cell &T, const GolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a GolyCompl basis and the curl of a tensorized basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of a GolyCompl basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any basis and the curl of any other basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Curl<Tensorized> basis and a tensorized scalar basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurl (const Cell &T, const GolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Curl<GolyCompl> basis and a tensorized scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixCurl (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any basis and any other basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixCurl (const Cell &T, const BasisType1 &basis1, const CurlBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any two bases when one CurlBasis is at a lower level than the other.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const DivergenceBasis< BasisType1 > &basis1, const DivergenceBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of Divergence of any pair of bases.
 
Eigen::MatrixXd HArDCore3D::GMRolyComplScalarDiv (const Cell &T, const MonomialScalarBasisCell &mono_basis, const RolyComplBasisCell &rolycompl_basis, const size_t k, MonomialCellIntegralsType mono_int_map)
 Gram Matrix of the divergence of a RolyCompl Basis and the kth derivative of a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalarDiv (const Cell &T, const BasisType &basis1, const RolyComplBasisCell &basis2, const size_t k, MonomialCellIntegralsType mono_int_map)
 Gram Matrix of the divergence of a RolyCompl basis and the k-th derivative of any scalar basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of another tensorized basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv (const Cell &T, const RolyComplBasisCell &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of another RolyCompl basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv (const Cell &T, const RolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of a tensorized basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of a RolyCompl basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and the divergence of any other basis.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix (const Cell &T, const DivergenceBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Divergence basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const BasisType1 &basis1, const DivergenceBasis< Basis2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Divergence basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Divergence<Tensorized> basis and a monomial scalar basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Cell &T, const RolyComplBasisCell &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and any other basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Cell &T, const BasisType1 &basis1, const DivergenceBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any two bases when one DivergenceBasis is at a lower level than the other.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const MatrixFamily< BasisType1, N > &basis1, const MatrixFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of any pair of MatrixFamily bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const DivergenceBasis< MatrixFamily< BasisType1, dimspace > > &basis1, const TensorizedVectorFamily< BasisType2, dimspace > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of the divergence of a MatrixFamily and a tensorized family (only valid if, in MatrixFamily and TensorizedVectorFamily, we have N=dimspace).
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, dimspace > &basis1, const DivergenceBasis< MatrixFamily< BasisType2, dimspace > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a vector valued basis and the divergence of a MatrixFamily.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GradientBasis< TensorizedVectorFamily< BasisType1, dimspace > > &basis1, const MatrixFamily< BasisType2, dimspace > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of the gradient basis of a tensorized family and a matrix family (only valid if N=dimspace in Tensorized and MatrixFamily).
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const MatrixFamily< BasisType1, dimspace > &basis1, const GradientBasis< TensorizedVectorFamily< BasisType2, dimspace > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of a Matrix family and the gradient of a tensorized family.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Cell &T, const GradientBasis< TensorizedVectorFamily< BasisType1, N > > &basis1, const GradientBasis< TensorizedVectorFamily< BasisType2, N > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of two gradient bases of tensorized families.
 
MonomialEdgeIntegralsType HArDCore3D::IntegrateEdgeMonomials (const Edge &E, const int maxdeg)
 Compute all integrals of edge monomials up to a total degree.
 
MonomialEdgeIntegralsType HArDCore3D::CheckIntegralsDegree (const Edge &E, const size_t degree, const MonomialEdgeIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Edge &E, const MonomialScalarBasisEdge &basis1, const MonomialScalarBasisEdge &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Edge &E, const BasisType1 &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Edge &E, const BasisType &basis, MonomialEdgeIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
Eigen::MatrixXd HArDCore3D::GMDer (const Edge &E, const MonomialScalarBasisEdge &basis1, const MonomialScalarBasisEdge &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of the derivative of a monomial basis with another monomial basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GMDer (const Edge &E, const BasisType1 &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Generic template for GMDer with derived bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Edge &E, const GradientBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a gradient basis (considering the tangential gradient as a scalar) and a scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Edge &E, const BasisType1 &basis1, const GradientBasis< BasisType2 > &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a scalar basis and a gradient basis (considering the tangential gradient as a scalar)
 
size_t HArDCore3D::VecFaceHash::operator() (const Eigen::Vector2i &p) const
 
std::vector< MonomialFaceIntegralsTypeHArDCore3D::IntegrateFaceMonomials_onEdges (const Face &F, const size_t maxdeg)
 Compute all integrals, on the edges of a face, of the face monomials up to a total degree.
 
MonomialFaceIntegralsType HArDCore3D::IntegrateFaceMonomials (const Face &F, const int maxdeg)
 Compute all integrals on a face of face monomials up to a total degree.
 
MonomialFaceIntegralsType HArDCore3D::CheckIntegralsDegree (const Face &F, const size_t degree, const MonomialFaceIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const BasisType &basis, MonomialFaceIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any pair of tensorized scalar bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const TangentFamily< BasisType1 > &basis1, const TangentFamily< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of tangent bases.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const RolyComplBasisFace &basis1, const RolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of RolyCompl bases.
 
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const GolyComplBasisFace &basis1, const GolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of GolyCompl bases.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const RolyComplBasisFace &basis1, const TangentFamily< BasisType > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a RolyCompl basis and a tangent basis.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const TangentFamily< BasisType > &basis1, const RolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a RolyCompl basis and a tangent basis.
 
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar (const Face &F, const RolyComplBasisFace &rolycompl_basis, const MonomialScalarBasisFace &mono_basis, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of the scalar part of a RolyCompl Basis and a monomial basis with an extra power on the mth variable.
 
template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar (const Face &F, const RolyComplBasisFace &basis1, const BasisType &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of the scalar part of a RolyCompl Basis and any basis with an extra power on the mth variable.
 
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)
 
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, const size_t m, const size_t l, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GMScalarDerivative (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, const size_t l, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const CurlBasis< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a pair of Curl bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const CurlBasis< BasisType1 > &basis1, const TangentFamily< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Curl basis and a Tangent basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const TangentFamily< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Tangent basis and a Curl basis.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialFaceIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix (const Face &F, const DivergenceBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Divergence basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd HArDCore3D::GramMatrix (const Face &F, const BasisType1 &basis1, const DivergenceBasis< Basis2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Divergence basis.
 
template<typename BasisType1 >
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Face &F, const TangentFamily< BasisType1 > &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Divergence<TangentFamily> basis and a monomial scalar basis.
 
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Face &F, const RolyComplBasisFace &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd HArDCore3D::GramMatrixDiv (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and any other basis.
 
MatrixSlice HArDCore3D::slice (Scalar3Tensor &tensor, size_t fixed_dim, size_t index)
 Function to slice a 3-tensor with respect to one index (returns a 2-tensor)
 
VectorSlice HArDCore3D::slice (Scalar3Tensor &tensor, size_t fixed_dim1, size_t index1, size_t fixed_dim2, size_t index2)
 Function to slice a 3-tensor with respect to two indices (returns a 1-tensor)
 
template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const MonomialScalarBasisCell &basis1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a scalar times the dot product of two vectors - basis1(basis2 . basis2).
 
template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family2, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - tens_family1 . (tens_family2 x tens_family2).
 
template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const GradientBasis< MonomialScalarBasisCell > &grad_basis, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - grad_basis . (tens_family x tens_family).
 
template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const GolyComplBasisCell &golycompl_basis, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - golycompl_basis . (tens_family x tens_family).
 
template<typename ScalarBasisType1 , typename ScalarBasisType2 , size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const GradientBasis< ShiftedBasis< ScalarBasisType1 > > &grad_shift_basis, const TensorizedVectorFamily< Family< ScalarBasisType2 >, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename ScalarBasisType , typename BasisType >
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const GradientBasis< ShiftedBasis< ScalarBasisType > > &grad_shift_basis, const BasisType &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , typename ScalarBasisType , size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const BasisType &basis1, const TensorizedVectorFamily< Family< ScalarBasisType >, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , typename ScalarBasisType , size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const Family< BasisType > &basis1, const Family< TensorizedVectorFamily< ScalarBasisType, N > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , size_t N>
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const Family< BasisType > &basis1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType1 , typename BasisType2 >
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const BasisType1 &basis1, const Family< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<size_t N, typename ScalarBasisType >
Scalar3Tensor HArDCore3D::tripleInt (const Cell &T, const TensorizedVectorFamily< Family< ScalarBasisType >, N > &tens_family1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
 HArDCore3D::QuadRuleEdge::QuadRuleEdge (size_t doe, bool warn)
 
 HArDCore3D::QuadRuleEdge::~QuadRuleEdge ()
 
size_t HArDCore3D::QuadRuleEdge::nq ()
 
double HArDCore3D::QuadRuleEdge::xq (size_t i)
 
double HArDCore3D::QuadRuleEdge::yq (size_t i)
 
double HArDCore3D::QuadRuleEdge::zq (size_t i)
 
double HArDCore3D::QuadRuleEdge::wq (size_t i)
 
void HArDCore3D::QuadRuleEdge::setup (double xV[], double yV[], double zV[])
 
 HArDCore3D::LegendreGauss::LegendreGauss (size_t doe)
 
 HArDCore3D::LegendreGauss::~LegendreGauss ()
 
void HArDCore3D::LegendreGauss::sub_rule_01 ()
 
void HArDCore3D::LegendreGauss::sub_rule_02 ()
 
void HArDCore3D::LegendreGauss::sub_rule_03 ()
 
void HArDCore3D::LegendreGauss::sub_rule_04 ()
 
void HArDCore3D::LegendreGauss::sub_rule_05 ()
 
void HArDCore3D::LegendreGauss::sub_rule_06 ()
 
void HArDCore3D::LegendreGauss::sub_rule_07 ()
 
void HArDCore3D::LegendreGauss::sub_rule_08 ()
 
void HArDCore3D::LegendreGauss::sub_rule_09 ()
 
void HArDCore3D::LegendreGauss::sub_rule_10 ()
 
void HArDCore3D::LegendreGauss::sub_rule_11 ()
 
size_t HArDCore3D::LegendreGauss::npts ()
 
double HArDCore3D::LegendreGauss::wq (size_t i)
 
double HArDCore3D::LegendreGauss::tq (size_t i)
 
void HArDCore3D::QuadRuleTetra::init ()
 
size_t HArDCore3D::QuadRuleTetra::required_rule (size_t doe) const
 Compute the minimum rule required to achieve the desired degree of exactness.
 
 HArDCore3D::QuadRuleTetra::QuadRuleTetra (size_t doe, bool warn)
 Create a quadrature rule with at least the given degree of exactness (if available).
 
 HArDCore3D::QuadRuleTetra::QuadRuleTetra (size_t _rule=0)
 
size_t HArDCore3D::QuadRuleTetra::nq () const
 
double HArDCore3D::QuadRuleTetra::xq (int iq) const
 
double HArDCore3D::QuadRuleTetra::yq (int iq) const
 
double HArDCore3D::QuadRuleTetra::zq (int iq) const
 
double HArDCore3D::QuadRuleTetra::wq (int iq) const
 
void HArDCore3D::QuadRuleTetra::setup (double(&_xV)[4], double(&_yV)[4], double(&_zV)[4])
 
void HArDCore3D::QuadRuleTetra::get_quadrule (int iq, double &_xq, double &_yq, double &_zq, double &_wq) const
 
 HArDCore3D::QuadRuleTriangle::QuadRuleTriangle (size_t _doe, bool warn)
 Default constructor.
 
 HArDCore3D::QuadRuleTriangle::~QuadRuleTriangle ()
 
double HArDCore3D::QuadRuleTriangle::xq (size_t i)
 
double HArDCore3D::QuadRuleTriangle::yq (size_t i)
 
double HArDCore3D::QuadRuleTriangle::zq (size_t i)
 
double HArDCore3D::QuadRuleTriangle::wq (size_t i)
 
size_t HArDCore3D::QuadRuleTriangle::nq ()
 
void HArDCore3D::QuadRuleTriangle::setup (double xV[], double yV[], double zV[])
 
double HArDCore3D::QuadRuleTriangle::area (double xV[], double yV[], double zV[]) const
 
 HArDCore3D::QuadratureNode::QuadratureNode (double x, double y, double z, double w)
 
Eigen::Vector3d HArDCore3D::QuadratureNode::vector () const
 Returns the quadrature point as an Eigen vector.
 
QuadratureRule HArDCore3D::generate_quadrature_rule (const Cell &T, const int doe, const bool force_split=false)
 Generate quadrature rule on mesh element.
 
QuadratureRule HArDCore3D::generate_quadrature_rule (const Face &F, const int doe)
 Generate quadrature rule on mesh face.
 
QuadratureRule HArDCore3D::generate_quadrature_rule (const Edge &E, const int doe)
 Generate quadrature rule on mesh edge.
 
double HArDCore3D::tetra_volume (double x[4], double y[4], double z[4])
 
double HArDCore3D::tetra_sum (double func(double x, double y, double z), double x[4], double y[4], double z[4], int nq, double cq0[], double cq1[], double cq2[], double wq[])
 
size_t HArDCore3D::tetra_unit_size (size_t rule)
 
void HArDCore3D::tetra_unit_set (size_t rule, size_t nq, double cq0[], double cq1[], double cq2[], double wq[])
 
double HArDCore3D::parallelipiped_volume_3d (double x[4], double y[4], double z[4])
 
double HArDCore3D::tetra_unit_volume ()
 
double HArDCore3D::tetra_unit_sum (double func(double x, double y, double z), size_t nq, double xq[], double yq[], double zq[], double wq[])
 

Variables

static constexpr size_t HArDCore3D::MAX_DOE_CELL = 14
 Maximum degree of the cell quadrature rules.
 
static constexpr size_t HArDCore3D::MAX_DOE_FACE = 20
 Maximum degree of the face quadrature rules.
 
static constexpr size_t HArDCore3D::MAX_DOE_EDGE = 20
 Maximum degree of the edge quadrature rules.
 
static constexpr size_t HArDCore3D::QuadRuleTetra::num_rules = 15
 
const size_t HArDCore3D::QuadRuleTetra::rule
 
const size_t HArDCore3D::QuadRuleTetra::nqn
 
double HArDCore3D::QuadRuleTetra::vol_T
 
std::vector< doubleHArDCore3D::QuadRuleTetra::xV
 
std::vector< doubleHArDCore3D::QuadRuleTetra::yV
 
std::vector< doubleHArDCore3D::QuadRuleTetra::zV
 
std::vector< doubleHArDCore3D::QuadRuleTetra::cq0
 
std::vector< doubleHArDCore3D::QuadRuleTetra::cq1
 
std::vector< doubleHArDCore3D::QuadRuleTetra::cq2
 
std::vector< doubleHArDCore3D::QuadRuleTetra::cq3
 
std::vector< doubleHArDCore3D::QuadRuleTetra::cwq
 
size_t HArDCore3D::QuadRuleTriangle::_npts
 
doubleHArDCore3D::QuadRuleTriangle::qsx
 
doubleHArDCore3D::QuadRuleTriangle::qsy
 
doubleHArDCore3D::QuadRuleTriangle::qsz
 
doubleHArDCore3D::QuadRuleTriangle::qswg
 
doubleHArDCore3D::QuadRuleTriangle::_xy
 
doubleHArDCore3D::QuadRuleTriangle::_w
 
double HArDCore3D::QuadratureNode::x
 
double HArDCore3D::QuadratureNode::y
 
double HArDCore3D::QuadratureNode::z
 
double HArDCore3D::QuadratureNode::w
 

Detailed Description

Classes providing quadratures rules on cells, faces and edges, as well as cost-effective ways to compute Gram matrices of polynomial bases.

Typedef Documentation

◆ MatrixSlice

typedef Eigen::Map<Eigen::MatrixXd, Eigen::Unaligned, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic> > HArDCore3D::MatrixSlice

◆ MonomialCellIntegralsType

Type for list of integrals of monomials.

◆ MonomialEdgeIntegralsType

Type for list of edge integrals of monomials.

◆ MonomialFaceIntegralsType

typedef std::unordered_map<Eigen::Vector2i, double, VecFaceHash> HArDCore3D::MonomialFaceIntegralsType

Type for list of face integrals of monomials.

◆ QuadratureRule

◆ Scalar3Tensor

typedef boost::multi_array<double, 3> HArDCore3D::Scalar3Tensor

◆ VectorSlice

typedef Eigen::Map<Eigen::VectorXd, Eigen::Unaligned, Eigen::InnerStride<Eigen::Dynamic> > HArDCore3D::VectorSlice

Function Documentation

◆ area()

double QuadRuleTriangle::area ( double  xV[],
double  yV[],
double  zV[] 
) const
protected

◆ CheckIntegralsDegree() [1/3]

MonomialCellIntegralsType HArDCore3D::CheckIntegralsDegree ( const Cell &  T,
const size_t  degree,
const MonomialCellIntegralsType mono_int_map = {} 
)

Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.

Parameters
TCell
degreeExpected degree
mono_int_mapExisting list, optional

◆ CheckIntegralsDegree() [2/3]

MonomialEdgeIntegralsType HArDCore3D::CheckIntegralsDegree ( const Edge &  E,
const size_t  degree,
const MonomialEdgeIntegralsType mono_int_map = {} 
)

Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.

Parameters
EEdge
degreeExpected degree
mono_int_mapExisting list, optional

◆ CheckIntegralsDegree() [3/3]

MonomialFaceIntegralsType HArDCore3D::CheckIntegralsDegree ( const Face &  F,
const size_t  degree,
const MonomialFaceIntegralsType mono_int_map = {} 
)

Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.

Parameters
FFace
degreeExpected degree
mono_int_mapExisting list, optional

◆ generate_quadrature_rule() [1/3]

QuadratureRule HArDCore3D::generate_quadrature_rule ( const Cell &  T,
const int  doe,
const bool  force_split = false 
)

Generate quadrature rule on mesh element.

Returns
list of quadrature nodes and weights
Parameters
TReference to the mesh cell
doeDegree of exactness
force_splitTRUE if we want the quadrature nodes to be computed by forcing the splitting of the cell into pyramids based on the center of mass and the faces, and then cutting these pyramids into tetrahedrons (otherwise, tetrahedrons are not split)

◆ generate_quadrature_rule() [2/3]

QuadratureRule HArDCore3D::generate_quadrature_rule ( const Edge &  E,
const int  doe 
)

Generate quadrature rule on mesh edge.

Returns
list of quadrature nodes and weights
Parameters
EReference to the mesh edge
doeDegree of exactness

◆ generate_quadrature_rule() [3/3]

QuadratureRule HArDCore3D::generate_quadrature_rule ( const Face &  F,
const int  doe 
)

Generate quadrature rule on mesh face.

Returns
list of quadrature nodes and weights
Parameters
FReference to the mesh face
doeDegree of exactness

◆ get_quadrule()

void QuadRuleTetra::get_quadrule ( int  iq,
double _xq,
double _yq,
double _zq,
double _wq 
) const

◆ GMDer() [1/2]

Eigen::MatrixXd HArDCore3D::GMDer ( const Edge &  E,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Generic template for GMDer with derived bases.

Parameters
EEdge to which the basis corresponds
basis1First basis (rows of the Gram matrix), to be differentiated
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMDer() [2/2]

Eigen::MatrixXd HArDCore3D::GMDer ( const Edge &  E,
const MonomialScalarBasisEdge basis1,
const MonomialScalarBasisEdge basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of the derivative of a monomial basis with another monomial basis.

Parameters
EEdge to which the basis corresponds
basis1First basis, to be differentiated
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMGolyCompl()

Eigen::MatrixXd HArDCore3D::GMGolyCompl ( const Cell &  T,
const GolyComplBasisCell basis1,
const GolyComplBasisCell basis2,
const size_t  s1,
const size_t  s2,
MonomialCellIntegralsType  mono_int_map,
const size_t  m1 = 3,
const size_t  m2 = 3,
const size_t  k1 = 3,
const size_t  k2 = 3 
)

Computes the Gram Matrix of the (optionally k1th derivative of the) s1th section of GolyCompl (optionally multiplied by the m1th variable) and the (optionally k2th derivative of the) s2th section of GolyCompl (optionally multiplied by the m2th variable)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
s1the first GolyCompl basis has three sections; use the s1th.
s2the second GolyCompl basis has three sections; use the s2th.
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2
m1Optionally (m1 < 3), add one to the power of the m1th variable
m2Optionally (m2 < 3), add one to the power of the m2th variable
k1Optionally (k1 < 3), take the k1th derivative of the first GolyCompl scalar
k2Optionally (k2 < 3), take the k2th derivative of the second GolyCompl scalar

◆ GMGolyComplScalar() [1/2]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMGolyComplScalar ( const Cell &  T,
const GolyComplBasisCell basis1,
const BasisType basis2,
const size_t  s,
MonomialCellIntegralsType  mono_int_map,
const size_t  m = 3,
const size_t  k1 = 3,
const size_t  k2 = 3 
)

Generic template to compute the Gram Matrix of the sth section of a GolyCompl Basis and any basis with an extra power of the mth variable.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis (columns of the Gram matrix)
sthe GolyCompl basis has three sections; use the sth.
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2
mOptionally (m < 3), add one to the power of the mth variable
k1Optionally (k1 < 3), take the kth derivative of the GolyCompl scalar
k2Optionally (k2 < 3), take the kth derivative of the MonomialScalar scalar

◆ GMGolyComplScalar() [2/2]

Eigen::MatrixXd HArDCore3D::GMGolyComplScalar ( const Cell &  T,
const GolyComplBasisCell golycompl_basis,
const MonomialScalarBasisCell mono_basis,
const size_t  s,
MonomialCellIntegralsType  mono_int_map,
const size_t  m = 3,
const size_t  k1 = 3,
const size_t  k2 = 3 
)

Computes the Gram Matrix of the sth section of a GolyCompl Basis and a monomial basis.

Parameters
TCell to which the basis corresponds
golycompl_basisFirst basis
mono_basisSecond basis
sthe GolyCompl basis has three sections; use the sth.
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2
mOptionally (m < 3), add one to the power of the mth variable
k1Optionally (k1 < 3), take the kth derivative of the GolyCompl scalar
k2Optionally (k2 < 3), take the kth derivative of the MonomialScalar scalar

◆ GMRolyComplScalar() [1/4]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar ( const Cell &  T,
const RolyComplBasisCell basis1,
const BasisType basis2,
const size_t  m,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of the mth component of a RolyCompl Basis and any basis.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMRolyComplScalar() [2/4]

Eigen::MatrixXd HArDCore3D::GMRolyComplScalar ( const Cell &  T,
const RolyComplBasisCell rolycompl_basis,
const MonomialScalarBasisCell mono_basis,
const size_t  m,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of the mth component of a RolyCompl Basis and a monomial basis.

Parameters
TCell to which the basis corresponds
rolycompl_basisFirst basis
mono_basisSecond basis
mAdd one to the power of the mth variable
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMRolyComplScalar() [3/4]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalar ( const Face &  F,
const RolyComplBasisFace basis1,
const BasisType basis2,
const size_t  m,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of the scalar part of a RolyCompl Basis and any basis with an extra power on the mth variable.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMRolyComplScalar() [4/4]

Eigen::MatrixXd HArDCore3D::GMRolyComplScalar ( const Face &  F,
const RolyComplBasisFace rolycompl_basis,
const MonomialScalarBasisFace mono_basis,
const size_t  m,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of the scalar part of a RolyCompl Basis and a monomial basis with an extra power on the mth variable.

Parameters
FFace to which the basis corresponds
rolycompl_basisFirst basis
mono_basisSecond basis
mAdd one to the power of the mth variable
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMRolyComplScalarDiv() [1/2]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GMRolyComplScalarDiv ( const Cell &  T,
const BasisType basis1,
const RolyComplBasisCell basis2,
const size_t  k,
MonomialCellIntegralsType  mono_int_map 
)

Gram Matrix of the divergence of a RolyCompl basis and the k-th derivative of any scalar basis.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis (columns of the Gram matrix)
kTake the kth derivative of the scalar basis
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMRolyComplScalarDiv() [2/2]

Eigen::MatrixXd HArDCore3D::GMRolyComplScalarDiv ( const Cell &  T,
const MonomialScalarBasisCell mono_basis,
const RolyComplBasisCell rolycompl_basis,
const size_t  k,
MonomialCellIntegralsType  mono_int_map 
)

Gram Matrix of the divergence of a RolyCompl Basis and the kth derivative of a monomial basis.

Computes the Gram Matrix of the divergence of a RolyCompl Basis and the kth derivative of a monomial basis.

Parameters
TCell to which the basis corresponds
mono_basisFirst basis
rolycompl_basisSecond basis
kTake the kth derivative of the monomial scalar
mono_int_maplist of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [1/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
const size_t  m,
const size_t  l,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of scalar bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
lDifferentiate basis2 with respect to the lth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [2/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
const size_t  m,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [3/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Cell &  T,
const MonomialScalarBasisCell basis1,
const MonomialScalarBasisCell basis2,
const size_t  m,
const size_t  l,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mDifferentiate basis1 with respect to the mth variable
lDifferentiate basis2 with respect to the lth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [4/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Cell &  T,
const MonomialScalarBasisCell basis1,
const MonomialScalarBasisCell basis2,
const size_t  m,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mDifferentiate basis1 with respect to the mth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [5/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Face &  F,
const BasisType1 basis1,
const BasisType2 basis2,
const size_t  m,
const size_t  l,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)

Parameters
FFace to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
lDifferentiate basis2 with respect to the lth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [6/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Face &  F,
const BasisType1 basis1,
const BasisType2 basis2,
const size_t  m,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)

Parameters
FFace to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mDifferentiate basis1 with respect to the mth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [7/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Face &  F,
const MonomialScalarBasisFace basis1,
const MonomialScalarBasisFace basis2,
const size_t  m,
const size_t  l,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mDifferentiate basis1 with respect to the mth variable
lDifferentiate basis2 with respect to the lth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GMScalarDerivative() [8/8]

Eigen::MatrixXd HArDCore3D::GMScalarDerivative ( const Face &  F,
const MonomialScalarBasisFace basis1,
const MonomialScalarBasisFace basis2,
const size_t  m,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mDifferentiate basis1 with respect to the mth variable
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [1/44]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const BasisType basis,
MonomialCellIntegralsType  mono_int_map = {} 
)

This overload to simplify the call to GramMatrix in case the two bases are the same.

◆ GramMatrix() [2/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of bases.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [3/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const BasisType1 basis1,
const CurlBasis< Basis2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of any basis and a Curl basis.

Parameters
TCell to which the basis corresponds
basis1First basis (tensorized basis)
basis2Second basis (Curl basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [4/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const BasisType1 basis1,
const DivergenceBasis< Basis2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of any basis and a Divergence basis.

Parameters
TCell to which the basis corresponds
basis1First basis (scalar basis)
basis2Second basis (divergence basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [5/44]

boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix ( const Cell &  T,
const CurlBasis< BasisType1 > &  basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a Curl basis and any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [6/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const CurlBasis< BasisType1 > &  basis1,
const CurlBasis< BasisType2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of Curl of any pair of bases.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [7/44]

boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix ( const Cell &  T,
const DivergenceBasis< BasisType1 > &  basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a Divergence basis and any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [8/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const DivergenceBasis< BasisType1 > &  basis1,
const DivergenceBasis< BasisType2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of Divergence of any pair of bases.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [9/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const DivergenceBasis< MatrixFamily< BasisType1, dimspace > > &  basis1,
const TensorizedVectorFamily< BasisType2, dimspace > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Gram Matrix of the divergence of a MatrixFamily and a tensorized family (only valid if, in MatrixFamily and TensorizedVectorFamily, we have N=dimspace).

Parameters
TCell to which the basis corresponds
basis1Divergence of MatrixFamily (rows of the Gram matrix)
basis2Tensorized family (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [10/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GolyComplBasisCell basis1,
const GolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of GolyCompl bases.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [11/44]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GolyComplBasisCell golycompl_basis,
const TensorizedVectorFamily< BasisType1, N > &  tens_family,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a GolyCompl basis and a tensorized scalar basis.

Parameters
TCell to which the basis corresponds
golycompl_basisFirst basis (GolyCompl basis)
tens_familySecond basis (tensorized basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [12/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GradientBasis< BasisType1 > &  grad_basis,
const TensorizedVectorFamily< BasisType2, N > &  tens_family,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a gradient basis and a tensorized scalar basis.

Parameters
TCell to which the basis corresponds
grad_basisFirst basis (rows of the Gram matrix) - gradient basis
tens_familySecond basis (columns of the Gram matrix) - tensorized basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrix() [13/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GradientBasis< BasisType1 > &  grad_basis1,
const GradientBasis< BasisType2 > &  grad_basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a gradient basis and another gradient basis.

Parameters
TCell to which the basis corresponds
grad_basis1First basis (rows of the Gram matrix) - gradient basis
grad_basis2Second basis (columns of the Gram matrix) - gradient basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrix() [14/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GradientBasis< TensorizedVectorFamily< BasisType1, dimspace > > &  basis1,
const MatrixFamily< BasisType2, dimspace > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Gram Matrix of the gradient basis of a tensorized family and a matrix family (only valid if N=dimspace in Tensorized and MatrixFamily).

Parameters
TCell to which the basis corresponds
basis1Gradient of tensorized (rows of the Gram matrix)
basis2Matrix family (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [15/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const GradientBasis< TensorizedVectorFamily< BasisType1, N > > &  basis1,
const GradientBasis< TensorizedVectorFamily< BasisType2, N > > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Gram Matrix of two gradient bases of tensorized families.

Parameters
TCell to which the basis corresponds
basis1First family
basis2Second family (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [16/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const MatrixFamily< BasisType1, dimspace > &  basis1,
const GradientBasis< TensorizedVectorFamily< BasisType2, dimspace > > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Gram Matrix of a Matrix family and the gradient of a tensorized family.

Parameters
TCell to which the basis corresponds
basis1Matrix family (rows of the Gram matrix)
basis2Gradient of tensorized (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [17/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const MatrixFamily< BasisType1, N > &  basis1,
const MatrixFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Gram Matrix of any pair of MatrixFamily bases.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [18/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const MonomialScalarBasisCell basis1,
const MonomialScalarBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [19/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const RolyComplBasisCell basis1,
const RolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of RolyCompl bases.

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [20/44]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const RolyComplBasisCell rolycompl_basis,
const TensorizedVectorFamily< BasisType1, N > &  tens_family,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a RolyCompl basis and a tensorized scalar basis.

Parameters
TCell to which the basis corresponds
rolycompl_basisFirst basis (RolyCompl basis)
tens_familySecond basis (tensorized basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [21/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, dimspace > &  basis1,
const DivergenceBasis< MatrixFamily< BasisType2, dimspace > > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a vector valued basis and the divergence of a MatrixFamily.

Parameters
TCell to which the basis corresponds
basis1Tensorized family (rows of the Gram matrix)
basis2Divergence of MatrixFamily (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [22/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of any pair of tensorized scalar bases.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [23/44]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  tens_family,
const GolyComplBasisCell golycompl_basis,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a tensorized scalar basis and a GolyCompl basis.

Parameters
TCell to which the basis corresponds
tens_familyFirst basis (tensorized basis)
golycompl_basisSecond basis (GolyCompl basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [24/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  tens_family,
const GradientBasis< BasisType2 > &  grad_basis,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a tensorized scalar basis and a gradient basis.

Parameters
TCell to which the basis corresponds
tens_familyFirst basis (rows of the Gram matrix) - gradient basis
grad_basisSecond basis (columns of the Gram matrix) - tensorized basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrix() [25/44]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  tens_family,
const RolyComplBasisCell rolycompl_basis,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a tensorized scalar basis and a RolyCompl basis.

Parameters
TCell to which the basis corresponds
tens_familyFirst basis (tensorized basis)
rolycompl_basisSecond basis (RolyCompl basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [26/44]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Edge &  E,
const BasisType basis,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

This overload to simplify the call to GramMatrix in case the two bases are the same.

◆ GramMatrix() [27/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Edge &  E,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of bases.

Parameters
EEdge to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [28/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Edge &  E,
const BasisType1 basis1,
const GradientBasis< BasisType2 > &  basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a scalar basis and a gradient basis (considering the tangential gradient as a scalar)

Parameters
EEdge to which the basis corresponds
basis1Scalar basis
basis2Gradient basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [29/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Edge &  E,
const GradientBasis< BasisType1 > &  basis1,
const BasisType2 basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a gradient basis (considering the tangential gradient as a scalar) and a scalar basis.

Parameters
EEdge to which the basis corresponds
basis1Gradient basis
basis2Scalar basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [30/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Edge &  E,
const MonomialScalarBasisEdge basis1,
const MonomialScalarBasisEdge basis2,
MonomialEdgeIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases.

Parameters
EEdge to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [31/44]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const BasisType basis,
MonomialFaceIntegralsType  mono_int_map = {} 
)

This overload to simplify the call to GramMatrix in case the two bases are the same.

◆ GramMatrix() [32/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of any pair of bases.

Parameters
FFace to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [33/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const BasisType1 basis1,
const DivergenceBasis< Basis2 > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of any basis and a Divergence basis.

Parameters
FFace to which the basis corresponds
basis1First basis (scalar basis)
basis2Second basis (divergence basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [34/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const CurlBasis< BasisType1 > &  basis1,
const CurlBasis< BasisType2 > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a pair of Curl bases.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [35/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const CurlBasis< BasisType1 > &  basis1,
const TangentFamily< BasisType2 > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a Curl basis and a Tangent basis.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [36/44]

boost::disable_if< boost::is_same< BasisType2, MonomialFaceIntegralsType >, Eigen::MatrixXd >::type HArDCore3D::GramMatrix ( const Face &  F,
const DivergenceBasis< BasisType1 > &  basis1,
const BasisType2 basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a Divergence basis and any other basis.

Parameters
FFace to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (scalar basis, columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [37/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const GolyComplBasisFace basis1,
const GolyComplBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of GolyCompl bases.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [38/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const MonomialScalarBasisFace basis1,
const MonomialScalarBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of local scalar monomial bases.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [39/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const RolyComplBasisFace basis1,
const RolyComplBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of RolyCompl bases.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [40/44]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const RolyComplBasisFace basis1,
const TangentFamily< BasisType > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a RolyCompl basis and a tangent basis.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [41/44]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const TangentFamily< BasisType > &  basis1,
const RolyComplBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a RolyCompl basis and a tangent basis.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [42/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const TangentFamily< BasisType1 > &  basis1,
const CurlBasis< BasisType2 > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Generic template to compute the Gram Matrix of a Tangent basis and a Curl basis.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [43/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const TangentFamily< BasisType1 > &  basis1,
const TangentFamily< BasisType2 > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a pair of tangent bases.

Parameters
FFace to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrix() [44/44]

Eigen::MatrixXd HArDCore3D::GramMatrix ( const Face &  F,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of any pair of tensorized scalar bases.

Parameters
FFace to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixCurl() [1/4]

Eigen::MatrixXd HArDCore3D::GramMatrixCurl ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of any basis and any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurl() [2/4]

Eigen::MatrixXd HArDCore3D::GramMatrixCurl ( const Cell &  T,
const BasisType1 basis1,
const CurlBasis< BasisType2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of any two bases when one CurlBasis is at a lower level than the other.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurl() [3/4]

template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurl ( const Cell &  T,
const GolyComplBasisCell basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a Curl<GolyCompl> basis and a tensorized scalar basis.

Parameters
TCell to which the basis corresponds
basis1First basis (GolyCompl basis)
basis2Second basis (tensorized basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixCurl() [4/4]

Eigen::MatrixXd HArDCore3D::GramMatrixCurl ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a Curl<Tensorized> basis and a tensorized scalar basis.

Parameters
TCell to which the basis corresponds
basis1First basis (tensorized basis)
basis2Second basis (tensorized basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixCurlCurl() [1/5]

Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of any basis and the curl of any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix) - curl basis
basis2Second basis (columns of the Gram matrix) - curl basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurlCurl() [2/5]

Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl ( const Cell &  T,
const GolyComplBasisCell basis1,
const GolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Compute the Gram Matrix of the curl of a GolyCompl basis and the curl of another GolyCompl basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix) - curl basis
basis2Second basis (columns of the Gram matrix) - curl basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurlCurl() [3/5]

template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl ( const Cell &  T,
const GolyComplBasisCell basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of a GolyCompl basis and the curl of a tensorized basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix) - curl basis
basis2Second basis (columns of the Gram matrix) - curl basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurlCurl() [4/5]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const GolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of a GolyCompl basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix) - curl basis
basis2Second basis (columns of the Gram matrix) - curl basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixCurlCurl() [5/5]

Eigen::MatrixXd HArDCore3D::GramMatrixCurlCurl ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of another tensorized basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix) - curl basis
basis2Second basis (columns of the Gram matrix) - curl basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDiv() [1/7]

Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of any basis and any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (vector basis)
basis2Second basis (scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDiv() [2/7]

Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Cell &  T,
const BasisType1 basis1,
const DivergenceBasis< BasisType2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of any two bases when one DivergenceBasis is at a lower level than the other.

Parameters
TCell to which the basis corresponds
basis1First basis (vector basis)
basis2Second basis (divergence basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDiv() [3/7]

Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Cell &  T,
const RolyComplBasisCell basis1,
const MonomialScalarBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.

Parameters
TCell to which the basis corresponds
basis1First basis (RolyCompl basis)
basis2Second basis (scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixDiv() [4/7]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const MonomialScalarBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a Divergence<Tensorized> basis and a monomial scalar basis.

Parameters
TCell to which the basis corresponds
basis1First basis (divergence basis)
basis2Second basis (monomial scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixDiv() [5/7]

Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Face &  F,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of any basis and any other basis.

Parameters
FFace to which the basis corresponds
basis1First basis (vector basis)
basis2Second basis (scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDiv() [6/7]

Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Face &  F,
const RolyComplBasisFace basis1,
const MonomialScalarBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.

Parameters
FCell to which the basis corresponds
basis1First basis (RolyCompl basis)
basis2Second basis (scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixDiv() [7/7]

template<typename BasisType1 >
Eigen::MatrixXd HArDCore3D::GramMatrixDiv ( const Face &  F,
const TangentFamily< BasisType1 > &  basis1,
const MonomialScalarBasisFace basis2,
MonomialFaceIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of a Divergence<TangentFamily> basis and a monomial scalar basis.

Parameters
FFace to which the basis corresponds
basis1First basis (divergence basis)
basis2Second basis (monomial scalar basis)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of basis1 and basis2

◆ GramMatrixDivDiv() [1/5]

Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv ( const Cell &  T,
const BasisType1 basis1,
const BasisType2 basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of any basis and the divergence of any other basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDivDiv() [2/5]

Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv ( const Cell &  T,
const RolyComplBasisCell basis1,
const RolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of another RolyCompl basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDivDiv() [3/5]

template<typename BasisType2 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv ( const Cell &  T,
const RolyComplBasisCell basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of a tensorized basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDivDiv() [4/5]

template<typename BasisType1 , size_t N>
Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const RolyComplBasisCell basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of a RolyCompl basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ GramMatrixDivDiv() [5/5]

Eigen::MatrixXd HArDCore3D::GramMatrixDivDiv ( const Cell &  T,
const TensorizedVectorFamily< BasisType1, N > &  basis1,
const TensorizedVectorFamily< BasisType2, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of another tensorized basis.

Parameters
TCell to which the basis corresponds
basis1First basis (rows of the Gram matrix)
basis2Second basis (columns of the Gram matrix)
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ init()

void QuadRuleTetra::init ( )
protected

◆ IntegrateCellMonomials()

MonomialCellIntegralsType HArDCore3D::IntegrateCellMonomials ( const Cell &  T,
const int  maxdeg 
)

Compute all the integrals of a cell's monomials on the cell.

Parameters
TCell
maxdegMaximal total degree

◆ IntegrateCellMonomials_onEdges()

std::vector< MonomialCellIntegralsType > HArDCore3D::IntegrateCellMonomials_onEdges ( const Cell &  T,
const size_t  maxdeg 
)

Compute all the integrals, on the edges of a cell, of this cell's monomials up to a max degree.

Parameters
TCell
maxdegMaximal total degree

◆ IntegrateCellMonomials_onFaces()

std::vector< MonomialCellIntegralsType > HArDCore3D::IntegrateCellMonomials_onFaces ( const Cell &  T,
const size_t  maxdeg,
std::vector< MonomialCellIntegralsType > &  integrals_edges 
)

Compute all the integrals, on the faces of a cell, of this cell's monomials up to a max degree.

Parameters
TCell
maxdegMaximal total degree
integrals_edgesList of integrals of the monomials over the edges

◆ IntegrateEdgeMonomials()

MonomialEdgeIntegralsType HArDCore3D::IntegrateEdgeMonomials ( const Edge &  E,
const int  maxdeg 
)

Compute all integrals of edge monomials up to a total degree.

Parameters
EEdge
maxdegMaximal total degree

◆ IntegrateFaceMonomials()

MonomialFaceIntegralsType HArDCore3D::IntegrateFaceMonomials ( const Face &  F,
const int  maxdeg 
)

Compute all integrals on a face of face monomials up to a total degree.

Parameters
FFace
maxdegMaximal total degree

◆ IntegrateFaceMonomials_onEdges()

std::vector< MonomialFaceIntegralsType > HArDCore3D::IntegrateFaceMonomials_onEdges ( const Face &  F,
const size_t  maxdeg 
)

Compute all integrals, on the edges of a face, of the face monomials up to a total degree.

Parameters
FFace
maxdegMaximal total degree

◆ LegendreGauss()

LegendreGauss::LegendreGauss ( size_t  doe)

◆ npts()

size_t LegendreGauss::npts ( )

◆ nq() [1/3]

size_t QuadRuleEdge::nq ( )

◆ nq() [2/3]

size_t QuadRuleTriangle::nq ( )

◆ nq() [3/3]

size_t HArDCore3D::QuadRuleTetra::nq ( ) const
inline

◆ operator()() [1/2]

size_t HArDCore3D::VecFaceHash::operator() ( const Eigen::Vector2i &  p) const
inline

◆ operator()() [2/2]

size_t HArDCore3D::VecHash::operator() ( const VectorZd &  p) const
inline

◆ parallelipiped_volume_3d()

double HArDCore3D::parallelipiped_volume_3d ( double  x[4],
double  y[4],
double  z[4] 
)

◆ QuadratureNode()

HArDCore3D::QuadratureNode::QuadratureNode ( double  x,
double  y,
double  z,
double  w 
)
inline

◆ QuadRuleEdge()

QuadRuleEdge::QuadRuleEdge ( size_t  doe,
bool  warn 
)

◆ QuadRuleTetra() [1/2]

QuadRuleTetra::QuadRuleTetra ( size_t  _rule = 0)

◆ QuadRuleTetra() [2/2]

QuadRuleTetra::QuadRuleTetra ( size_t  doe,
bool  warn 
)

Create a quadrature rule with at least the given degree of exactness (if available).

The smallest such quadrature rule will be chosen. If none are available, the highest degree available will be used.

◆ QuadRuleTriangle()

QuadRuleTriangle::QuadRuleTriangle ( size_t  _doe,
bool  warn 
)

Default constructor.

Parameters
doedegrees of exactness (e.g. how many points for approximating integral
warn

◆ required_rule()

size_t QuadRuleTetra::required_rule ( size_t  doe) const
protected

Compute the minimum rule required to achieve the desired degree of exactness.

If no such rule exists, returns the highest rule.

◆ setup() [1/3]

void QuadRuleEdge::setup ( double  xV[],
double  yV[],
double  zV[] 
)

◆ setup() [2/3]

void QuadRuleTriangle::setup ( double  xV[],
double  yV[],
double  zV[] 
)

◆ setup() [3/3]

void QuadRuleTetra::setup ( double(&)  _xV[4],
double(&)  _yV[4],
double(&)  _zV[4] 
)

◆ slice() [1/2]

MatrixSlice HArDCore3D::slice ( Scalar3Tensor tensor,
size_t  fixed_dim,
size_t  index 
)

Function to slice a 3-tensor with respect to one index (returns a 2-tensor)

Slicing is always in order e.g. fixing the index 1 at 5, returns matrix[i][k] = tensor[i][5][k]. The output is an Eigen::Map of the tensor (so accessing the values of the 2-tensor actually access the values of the original 3-tensor)

Parameters
tensorTensor to slice
fixed_dimPosition of the index (0, 1, 2) with respect to which we slice (fix the value)
indexValue of the index where the slicing is done

◆ slice() [2/2]

VectorSlice HArDCore3D::slice ( Scalar3Tensor tensor,
size_t  fixed_dim1,
size_t  index1,
size_t  fixed_dim2,
size_t  index2 
)

Function to slice a 3-tensor with respect to two indices (returns a 1-tensor)

See comment in the other slice function

Parameters
tensorTensor to slice
fixed_dim1Position of the first index (0, 1, 2) with respect to which we slice (fix the value)
index1Value of the first index to fix
fixed_dim2Position of the second index (0, 1, 2) with respect to which we slice (fix the value)
index2Value of the second index to fix

◆ sub_rule_01()

void LegendreGauss::sub_rule_01 ( )

◆ sub_rule_02()

void LegendreGauss::sub_rule_02 ( )

◆ sub_rule_03()

void LegendreGauss::sub_rule_03 ( )

◆ sub_rule_04()

void LegendreGauss::sub_rule_04 ( )

◆ sub_rule_05()

void LegendreGauss::sub_rule_05 ( )

◆ sub_rule_06()

void LegendreGauss::sub_rule_06 ( )

◆ sub_rule_07()

void LegendreGauss::sub_rule_07 ( )

◆ sub_rule_08()

void LegendreGauss::sub_rule_08 ( )

◆ sub_rule_09()

void LegendreGauss::sub_rule_09 ( )

◆ sub_rule_10()

void LegendreGauss::sub_rule_10 ( )

◆ sub_rule_11()

void LegendreGauss::sub_rule_11 ( )

◆ tetra_sum()

double HArDCore3D::tetra_sum ( double   funcdouble x, double y, double z,
double  x[4],
double  y[4],
double  z[4],
int  nq,
double  cq0[],
double  cq1[],
double  cq2[],
double  wq[] 
)

◆ tetra_unit_set()

void HArDCore3D::tetra_unit_set ( size_t  rule,
size_t  nq,
double  cq0[],
double  cq1[],
double  cq2[],
double  wq[] 
)

◆ tetra_unit_size()

size_t HArDCore3D::tetra_unit_size ( size_t  rule)

◆ tetra_unit_sum()

double HArDCore3D::tetra_unit_sum ( double   funcdouble x, double y, double z,
size_t  nq,
double  xq[],
double  yq[],
double  zq[],
double  wq[] 
)

◆ tetra_unit_volume()

double HArDCore3D::tetra_unit_volume ( )

◆ tetra_volume()

double HArDCore3D::tetra_volume ( double  x[4],
double  y[4],
double  z[4] 
)

◆ tq()

double LegendreGauss::tq ( size_t  i)

◆ transformGM() [1/3]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM ( const Family< BasisType > &  family_basis,
const char  RC,
const Eigen::MatrixXd &  anc_GM 
)
inline

Transforms a Gram Matrix from an ancestor to a family basis.

Parameters
family_basisFamily
RCR if transformation applied on rows (left), C if applied on columns (right)
anc_GMGram matrix of the ancestor basis

◆ transformGM() [2/3]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM ( const RestrictedBasis< BasisType > &  restr_basis,
const char  RC,
const Eigen::MatrixXd &  anc_GM 
)
inline

Transforms a Gram Matrix from an ancestor to a restricted basis.

Parameters
restr_basisRestricted basis
RCR if transformation applied on rows (left), C if applied on columns (right)
anc_GMGram matrix of the ancestor basis

◆ transformGM() [3/3]

template<typename BasisType >
Eigen::MatrixXd HArDCore3D::transformGM ( const ShiftedBasis< BasisType > &  shifted_basis,
const char  RC,
const Eigen::MatrixXd &  anc_GM 
)
inline

Transforms a Gram Matrix from an ancestor to a shifted basis.

Parameters
shifted_basisShifted basis
RCR if transformation applied on rows (left), C if applied on columns (right)
anc_GMGram matrix of the ancestor basis

◆ tripleInt() [1/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const BasisType basis1,
const TensorizedVectorFamily< Family< ScalarBasisType >, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [2/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const BasisType1 basis1,
const Family< BasisType2 > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [3/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const Family< BasisType > &  basis1,
const Family< TensorizedVectorFamily< ScalarBasisType, N > > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [4/11]

template<typename BasisType , size_t N>
Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const Family< BasisType > &  basis1,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [5/11]

template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const GolyComplBasisCell golycompl_basis,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  tens_family,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the triple integral product of a vector basis dot the cross product of the second vector basis - golycompl_basis . (tens_family x tens_family).

If golycompl_basis = \((\phi_i)_i\) and tens_family= \((\psi_j)_j\), then this function returns the tensor \(T_{ijk}=\int_T \phi_i\cdot(\psi_j\times\psi_k)\).

Parameters
TCell to which the basis corresponds
golycompl_basisFirst basis
tens_familySecond basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [6/11]

template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const GradientBasis< MonomialScalarBasisCell > &  grad_basis,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  tens_family,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the triple integral product of a vector basis dot the cross product of the second vector basis - grad_basis . (tens_family x tens_family).

If grad_basis = \((\phi_i)_i\) and tens_family= \((\psi_j)_j\), then this function returns the tensor \(T_{ijk}=\int_T \phi_i\cdot(\psi_j\times\psi_k)\).

Parameters
TCell to which the basis corresponds
grad_basisFirst basis
tens_familySecond basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [7/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const GradientBasis< ShiftedBasis< ScalarBasisType > > &  grad_shift_basis,
const BasisType basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
grad_shift_basisFirst basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [8/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const GradientBasis< ShiftedBasis< ScalarBasisType1 > > &  grad_shift_basis,
const TensorizedVectorFamily< Family< ScalarBasisType2 >, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
grad_shift_basisFirst basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [9/11]

template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const MonomialScalarBasisCell basis1,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  basis2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the triple integral product of a scalar times the dot product of two vectors - basis1(basis2 . basis2).

If basis1 = \((\phi_i)_i\) and basis2= \((\psi_j)_j\), then this function returns the tensor \(T_{ijk}=\int_T \phi_i(\psi_j\cdot\psi_k)\).

Parameters
TCell to which the basis corresponds
basis1First basis
basis2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [10/11]

Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const TensorizedVectorFamily< Family< ScalarBasisType >, N > &  tens_family1,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  tens_family2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Handles a derived basis (see other functions for detailed output)

Parameters
TCell to which the basis corresponds
tens_family1First basis
tens_family2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ tripleInt() [11/11]

template<size_t N>
Scalar3Tensor HArDCore3D::tripleInt ( const Cell &  T,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  tens_family1,
const TensorizedVectorFamily< MonomialScalarBasisCell, N > &  tens_family2,
MonomialCellIntegralsType  mono_int_map = {} 
)

Computes the triple integral product of a vector basis dot the cross product of the second vector basis - tens_family1 . (tens_family2 x tens_family2).

If tens_family1 = \((\phi_i)_i\) and tens_family2= \((\psi_j)_j\), then this function returns the tensor \(T_{ijk}=\int_T \phi_i\cdot(\psi_j\times\psi_k)\).

Parameters
TCell to which the basis corresponds
tens_family1First basis
tens_family2Second basis
mono_int_mapOptional list of integrals of monomials up to the sum of max degree of the bases

◆ useAncestor()

template<typename BasisType >
constexpr bool HArDCore3D::useAncestor ( )
constexpr

Determines if the ancestor of a basis will be used to compute a Gram matrix for this basis.

◆ vector()

Eigen::Vector3d HArDCore3D::QuadratureNode::vector ( ) const
inline

Returns the quadrature point as an Eigen vector.

◆ wq() [1/4]

double HArDCore3D::QuadRuleTetra::wq ( int  iq) const
inline

◆ wq() [2/4]

double QuadRuleEdge::wq ( size_t  i)

◆ wq() [3/4]

double LegendreGauss::wq ( size_t  i)

◆ wq() [4/4]

double QuadRuleTriangle::wq ( size_t  i)

◆ xq() [1/3]

double HArDCore3D::QuadRuleTetra::xq ( int  iq) const
inline

◆ xq() [2/3]

double QuadRuleEdge::xq ( size_t  i)

◆ xq() [3/3]

double QuadRuleTriangle::xq ( size_t  i)

◆ yq() [1/3]

double HArDCore3D::QuadRuleTetra::yq ( int  iq) const
inline

◆ yq() [2/3]

double QuadRuleEdge::yq ( size_t  i)

◆ yq() [3/3]

double QuadRuleTriangle::yq ( size_t  i)

◆ zq() [1/3]

double HArDCore3D::QuadRuleTetra::zq ( int  iq) const
inline

◆ zq() [2/3]

double QuadRuleEdge::zq ( size_t  i)

◆ zq() [3/3]

double QuadRuleTriangle::zq ( size_t  i)

◆ ~LegendreGauss()

LegendreGauss::~LegendreGauss ( )

◆ ~QuadRuleEdge()

QuadRuleEdge::~QuadRuleEdge ( )

◆ ~QuadRuleTriangle()

QuadRuleTriangle::~QuadRuleTriangle ( )

Variable Documentation

◆ _npts

size_t HArDCore3D::QuadRuleTriangle::_npts
protected

◆ _w

double* HArDCore3D::QuadRuleTriangle::_w
protected

◆ _xy

double* HArDCore3D::QuadRuleTriangle::_xy
protected

◆ cq0

std::vector<double> HArDCore3D::QuadRuleTetra::cq0
protected

◆ cq1

std::vector<double> HArDCore3D::QuadRuleTetra::cq1
protected

◆ cq2

std::vector<double> HArDCore3D::QuadRuleTetra::cq2
protected

◆ cq3

std::vector<double> HArDCore3D::QuadRuleTetra::cq3
protected

◆ cwq

std::vector<double> HArDCore3D::QuadRuleTetra::cwq
protected

◆ MAX_DOE_CELL

constexpr size_t HArDCore3D::MAX_DOE_CELL = 14
staticconstexpr

Maximum degree of the cell quadrature rules.

◆ MAX_DOE_EDGE

constexpr size_t HArDCore3D::MAX_DOE_EDGE = 20
staticconstexpr

Maximum degree of the edge quadrature rules.

◆ MAX_DOE_FACE

constexpr size_t HArDCore3D::MAX_DOE_FACE = 20
staticconstexpr

Maximum degree of the face quadrature rules.

◆ nqn

const size_t HArDCore3D::QuadRuleTetra::nqn
protected

◆ num_rules

constexpr size_t HArDCore3D::QuadRuleTetra::num_rules = 15
staticconstexprprotected

◆ qswg

double* HArDCore3D::QuadRuleTriangle::qswg
protected

◆ qsx

double* HArDCore3D::QuadRuleTriangle::qsx
protected

◆ qsy

double* HArDCore3D::QuadRuleTriangle::qsy
protected

◆ qsz

double* HArDCore3D::QuadRuleTriangle::qsz
protected

◆ rule

const size_t HArDCore3D::QuadRuleTetra::rule
protected

◆ vol_T

double HArDCore3D::QuadRuleTetra::vol_T
protected

◆ w

double HArDCore3D::QuadratureNode::w

◆ x

double HArDCore3D::QuadratureNode::x

◆ xV

std::vector<double> HArDCore3D::QuadRuleTetra::xV
protected

◆ y

double HArDCore3D::QuadratureNode::y

◆ yV

std::vector<double> HArDCore3D::QuadRuleTetra::yV
protected

◆ z

double HArDCore3D::QuadratureNode::z

◆ zV

std::vector<double> HArDCore3D::QuadRuleTetra::zV
protected