Classes providing quadratures rules on cells, faces and edges, as well as cost-effective ways to compute Gram matrices of polynomial bases.
More...
|
| size_t | HArDCore3D::VecHash::operator() (const VectorZd &p) const |
| |
| 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.
|
| |
| 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.
|
| |
| 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< 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.
|
| |
| 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[]) |
| |
Classes providing quadratures rules on cells, faces and edges, as well as cost-effective ways to compute Gram matrices of polynomial bases.