|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Classes providing quadratures rules on cells, faces and edges, as well as cost-effective ways to compute Gram matrices of polynomial bases. More...
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, VecHash > | HArDCore3D::MonomialCellIntegralsType |
| Type for list of integrals of monomials. More... | |
| typedef std::vector< double > | HArDCore3D::MonomialEdgeIntegralsType |
| Type for list of edge integrals of monomials. More... | |
| typedef std::unordered_map< Eigen::Vector2i, double, VecFaceHash > | HArDCore3D::MonomialFaceIntegralsType |
| Type for list of face integrals of monomials. More... | |
| 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< QuadratureNode > | HArDCore3D::QuadratureRule |
Functions | |
| 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. More... | |
| 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. More... | |
| MonomialCellIntegralsType | HArDCore3D::IntegrateCellMonomials (const Cell &T, const int maxdeg) |
| Compute all the integrals of a cell's monomials on the cell. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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) More... | |
| 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) More... | |
| 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) More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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). More... | |
| 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. More... | |
| 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). More... | |
| 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. More... | |
| 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. More... | |
| MonomialEdgeIntegralsType | HArDCore3D::IntegrateEdgeMonomials (const Edge &E, const int maxdeg) |
| Compute all integrals of edge monomials up to a total degree. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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. More... | |
| MonomialFaceIntegralsType | HArDCore3D::IntegrateFaceMonomials (const Face &F, const int maxdeg) |
| Compute all integrals on a face of face monomials up to a total degree. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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) More... | |
| 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) More... | |
| 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) More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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) More... | |
| 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) More... | |
| 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). More... | |
| 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). More... | |
| 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). More... | |
| 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). More... | |
| 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={}) |
| 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={}) |
| 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={}) |
| 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={}) |
| 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={}) |
| template<typename BasisType1 , typename BasisType2 > | |
| Scalar3Tensor | HArDCore3D::tripleInt (const Cell &T, const BasisType1 &basis1, const Family< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={}) |
| 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={}) |
| 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. More... | |
| HArDCore3D::QuadRuleTetra::QuadRuleTetra (size_t doe, bool warn) | |
| Create a quadrature rule with at least the given degree of exactness (if available). More... | |
| 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. More... | |
| 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. More... | |
| QuadratureRule | HArDCore3D::generate_quadrature_rule (const Cell &T, const int doe, const bool force_split=false) |
| Generate quadrature rule on mesh element. More... | |
| QuadratureRule | HArDCore3D::generate_quadrature_rule (const Face &F, const int doe) |
| Generate quadrature rule on mesh face. More... | |
| QuadratureRule | HArDCore3D::generate_quadrature_rule (const Edge &E, const int doe) |
| Generate quadrature rule on mesh edge. More... | |
| 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.
| typedef Eigen::Map<Eigen::MatrixXd, Eigen::Unaligned, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic> > HArDCore3D::MatrixSlice |
| typedef std::unordered_map<VectorZd, double, VecHash> HArDCore3D::MonomialCellIntegralsType |
Type for list of integrals of monomials.
| typedef std::vector<double> HArDCore3D::MonomialEdgeIntegralsType |
Type for list of edge integrals of monomials.
| typedef std::unordered_map<Eigen::Vector2i, double, VecFaceHash> HArDCore3D::MonomialFaceIntegralsType |
Type for list of face integrals of monomials.
| typedef std::vector<QuadratureNode> HArDCore3D::QuadratureRule |
| typedef boost::multi_array<double, 3> HArDCore3D::Scalar3Tensor |
| typedef Eigen::Map<Eigen::VectorXd, Eigen::Unaligned, Eigen::InnerStride<Eigen::Dynamic> > HArDCore3D::VectorSlice |
|
protected |
| 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.
| T | Cell |
| degree | Expected degree |
| mono_int_map | Existing list, optional |
| 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.
| E | Edge |
| degree | Expected degree |
| mono_int_map | Existing list, optional |
| 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.
| F | Face |
| degree | Expected degree |
| mono_int_map | Existing list, optional |
| QuadratureRule HArDCore3D::generate_quadrature_rule | ( | const Cell & | T, |
| const int | doe, | ||
| const bool | force_split = false |
||
| ) |
Generate quadrature rule on mesh element.
| T | Reference to the mesh cell |
| doe | Degree of exactness |
| force_split | TRUE 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) |
| QuadratureRule HArDCore3D::generate_quadrature_rule | ( | const Edge & | E, |
| const int | doe | ||
| ) |
Generate quadrature rule on mesh edge.
| E | Reference to the mesh edge |
| doe | Degree of exactness |
| QuadratureRule HArDCore3D::generate_quadrature_rule | ( | const Face & | F, |
| const int | doe | ||
| ) |
Generate quadrature rule on mesh face.
| F | Reference to the mesh face |
| doe | Degree of exactness |
| void QuadRuleTetra::get_quadrule | ( | int | iq, |
| double & | _xq, | ||
| double & | _yq, | ||
| double & | _zq, | ||
| double & | _wq | ||
| ) | const |
| Eigen::MatrixXd HArDCore3D::GMDer | ( | const Edge & | E, |
| const BasisType1 & | basis1, | ||
| const BasisType2 & | basis2, | ||
| MonomialEdgeIntegralsType | mono_int_map = {} |
||
| ) |
Generic template for GMDer with derived bases.
| E | Edge to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix), to be differentiated |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| E | Edge to which the basis corresponds |
| basis1 | First basis, to be differentiated |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| s1 | the first GolyCompl basis has three sections; use the s1th. |
| s2 | the second GolyCompl basis has three sections; use the s2th. |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| m1 | Optionally (m1 < 3), add one to the power of the m1th variable |
| m2 | Optionally (m2 < 3), add one to the power of the m2th variable |
| k1 | Optionally (k1 < 3), take the k1th derivative of the first GolyCompl scalar |
| k2 | Optionally (k2 < 3), take the k2th derivative of the second GolyCompl scalar |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis (columns of the Gram matrix) |
| s | the GolyCompl basis has three sections; use the sth. |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| m | Optionally (m < 3), add one to the power of the mth variable |
| k1 | Optionally (k1 < 3), take the kth derivative of the GolyCompl scalar |
| k2 | Optionally (k2 < 3), take the kth derivative of the MonomialScalar scalar |
| 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.
| T | Cell to which the basis corresponds |
| golycompl_basis | First basis |
| mono_basis | Second basis |
| s | the GolyCompl basis has three sections; use the sth. |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| m | Optionally (m < 3), add one to the power of the mth variable |
| k1 | Optionally (k1 < 3), take the kth derivative of the GolyCompl scalar |
| k2 | Optionally (k2 < 3), take the kth derivative of the MonomialScalar scalar |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| rolycompl_basis | First basis |
| mono_basis | Second basis |
| m | Add one to the power of the mth variable |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| rolycompl_basis | First basis |
| mono_basis | Second basis |
| m | Add one to the power of the mth variable |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis (columns of the Gram matrix) |
| k | Take the kth derivative of the scalar basis |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| mono_basis | First basis |
| rolycompl_basis | Second basis |
| k | Take the kth derivative of the monomial scalar |
| mono_int_map | list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| l | Differentiate basis2 with respect to the lth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| m | Differentiate basis1 with respect to the mth variable |
| l | Differentiate basis2 with respect to the lth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| F | Face to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| l | Differentiate basis2 with respect to the lth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| F | Face to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| m | Differentiate basis1 with respect to the mth variable |
| l | Differentiate basis2 with respect to the lth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| m | Differentiate basis1 with respect to the mth variable |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (tensorized basis) |
| basis2 | Second basis (Curl basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (scalar basis) |
| basis2 | Second basis (divergence basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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).
| T | Cell to which the basis corresponds |
| basis1 | Divergence of MatrixFamily (rows of the Gram matrix) |
| basis2 | Tensorized family (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| golycompl_basis | First basis (GolyCompl basis) |
| tens_family | Second basis (tensorized basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| grad_basis | First basis (rows of the Gram matrix) - gradient basis |
| tens_family | Second basis (columns of the Gram matrix) - tensorized basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| grad_basis1 | First basis (rows of the Gram matrix) - gradient basis |
| grad_basis2 | Second basis (columns of the Gram matrix) - gradient basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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).
| T | Cell to which the basis corresponds |
| basis1 | Gradient of tensorized (rows of the Gram matrix) |
| basis2 | Matrix family (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First family |
| basis2 | Second family (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | Matrix family (rows of the Gram matrix) |
| basis2 | Gradient of tensorized (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| rolycompl_basis | First basis (RolyCompl basis) |
| tens_family | Second basis (tensorized basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | Tensorized family (rows of the Gram matrix) |
| basis2 | Divergence of MatrixFamily (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| tens_family | First basis (tensorized basis) |
| golycompl_basis | Second basis (GolyCompl basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| tens_family | First basis (rows of the Gram matrix) - gradient basis |
| grad_basis | Second basis (columns of the Gram matrix) - tensorized basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| tens_family | First basis (tensorized basis) |
| rolycompl_basis | Second basis (RolyCompl basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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::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.
| E | Edge to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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)
| E | Edge to which the basis corresponds |
| basis1 | Scalar basis |
| basis2 | Gradient basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| E | Edge to which the basis corresponds |
| basis1 | Gradient basis |
| basis2 | Scalar basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| E | Edge to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (scalar basis) |
| basis2 | Second basis (divergence basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (scalar basis, columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (GolyCompl basis) |
| basis2 | Second basis (tensorized basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (tensorized basis) |
| basis2 | Second basis (tensorized basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) - curl basis |
| basis2 | Second basis (columns of the Gram matrix) - curl basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) - curl basis |
| basis2 | Second basis (columns of the Gram matrix) - curl basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) - curl basis |
| basis2 | Second basis (columns of the Gram matrix) - curl basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) - curl basis |
| basis2 | Second basis (columns of the Gram matrix) - curl basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) - curl basis |
| basis2 | Second basis (columns of the Gram matrix) - curl basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (vector basis) |
| basis2 | Second basis (scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (vector basis) |
| basis2 | Second basis (divergence basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (RolyCompl basis) |
| basis2 | Second basis (scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (divergence basis) |
| basis2 | Second basis (monomial scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (vector basis) |
| basis2 | Second basis (scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| F | Cell to which the basis corresponds |
| basis1 | First basis (RolyCompl basis) |
| basis2 | Second basis (scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| F | Face to which the basis corresponds |
| basis1 | First basis (divergence basis) |
| basis2 | Second basis (monomial scalar basis) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of basis1 and basis2 |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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.
| T | Cell to which the basis corresponds |
| basis1 | First basis (rows of the Gram matrix) |
| basis2 | Second basis (columns of the Gram matrix) |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
|
protected |
| MonomialCellIntegralsType HArDCore3D::IntegrateCellMonomials | ( | const Cell & | T, |
| const int | maxdeg | ||
| ) |
Compute all the integrals of a cell's monomials on the cell.
| T | Cell |
| maxdeg | Maximal total degree |
| 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.
| T | Cell |
| maxdeg | Maximal total 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.
| T | Cell |
| maxdeg | Maximal total degree |
| integrals_edges | List of integrals of the monomials over the edges |
| MonomialEdgeIntegralsType HArDCore3D::IntegrateEdgeMonomials | ( | const Edge & | E, |
| const int | maxdeg | ||
| ) |
Compute all integrals of edge monomials up to a total degree.
| E | Edge |
| maxdeg | Maximal 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.
| F | Face |
| maxdeg | Maximal total degree |
| 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.
| F | Face |
| maxdeg | Maximal total degree |
| LegendreGauss::LegendreGauss | ( | size_t | doe | ) |
| size_t LegendreGauss::npts | ( | ) |
| size_t QuadRuleEdge::nq | ( | ) |
| size_t QuadRuleTriangle::nq | ( | ) |
|
inline |
|
inline |
|
inline |
| double HArDCore3D::parallelipiped_volume_3d | ( | double | x[4], |
| double | y[4], | ||
| double | z[4] | ||
| ) |
|
inline |
| QuadRuleEdge::QuadRuleEdge | ( | size_t | doe, |
| bool | warn | ||
| ) |
| QuadRuleTetra::QuadRuleTetra | ( | size_t | _rule = 0 | ) |
| 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 | ( | size_t | _doe, |
| bool | warn | ||
| ) |
Default constructor.
| doe | degrees of exactness (e.g. how many points for approximating integral |
| warn |
|
protected |
Compute the minimum rule required to achieve the desired degree of exactness.
If no such rule exists, returns the highest rule.
| void QuadRuleEdge::setup | ( | double | xV[], |
| double | yV[], | ||
| double | zV[] | ||
| ) |
| void QuadRuleTriangle::setup | ( | double | xV[], |
| double | yV[], | ||
| double | zV[] | ||
| ) |
| void QuadRuleTetra::setup | ( | double(&) | _xV[4], |
| double(&) | _yV[4], | ||
| double(&) | _zV[4] | ||
| ) |
| 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 y=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)
| tensor | Tensor to slice |
| fixed_dim | Position of the index with respect to which we slice (fix the value) |
| index | Value of the index where the slicing is done |
| 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
| tensor | Tensor to slice |
| fixed_dim1 | Position of the first index with respect to which we slice (fix the value) |
| index1 | Value of the first index to fix |
| fixed_dim2 | Position of the second index with respect to which we slice (fix the value) |
| index2 | Value of the second index to fix |
| void LegendreGauss::sub_rule_01 | ( | ) |
| void LegendreGauss::sub_rule_02 | ( | ) |
| void LegendreGauss::sub_rule_03 | ( | ) |
| void LegendreGauss::sub_rule_04 | ( | ) |
| void LegendreGauss::sub_rule_05 | ( | ) |
| void LegendreGauss::sub_rule_06 | ( | ) |
| void LegendreGauss::sub_rule_07 | ( | ) |
| void LegendreGauss::sub_rule_08 | ( | ) |
| void LegendreGauss::sub_rule_09 | ( | ) |
| void LegendreGauss::sub_rule_10 | ( | ) |
| void LegendreGauss::sub_rule_11 | ( | ) |
| 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[] | ||
| ) |
| void HArDCore3D::tetra_unit_set | ( | size_t | rule, |
| size_t | nq, | ||
| double | cq0[], | ||
| double | cq1[], | ||
| double | cq2[], | ||
| double | wq[] | ||
| ) |
| size_t HArDCore3D::tetra_unit_size | ( | size_t | rule | ) |
| double HArDCore3D::tetra_unit_sum | ( | double | funcdouble x, double y, double z, |
| size_t | nq, | ||
| double | xq[], | ||
| double | yq[], | ||
| double | zq[], | ||
| double | wq[] | ||
| ) |
| double HArDCore3D::tetra_unit_volume | ( | ) |
| double HArDCore3D::tetra_volume | ( | double | x[4], |
| double | y[4], | ||
| double | z[4] | ||
| ) |
| double LegendreGauss::tq | ( | size_t | i | ) |
|
inline |
Transforms a Gram Matrix from an ancestor to a family basis.
| family_basis | Family |
| RC | R if transformation applied on rows (left), C if applied on columns (right) |
| anc_GM | Gram matrix of the ancestor basis |
|
inline |
Transforms a Gram Matrix from an ancestor to a restricted basis.
| restr_basis | Restricted basis |
| RC | R if transformation applied on rows (left), C if applied on columns (right) |
| anc_GM | Gram matrix of the ancestor basis |
|
inline |
Transforms a Gram Matrix from an ancestor to a shifted basis.
| shifted_basis | Shifted basis |
| RC | R if transformation applied on rows (left), C if applied on columns (right) |
| anc_GM | Gram matrix of the ancestor basis |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const BasisType & | basis1, | ||
| const TensorizedVectorFamily< Family< ScalarBasisType >, N > & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const BasisType1 & | basis1, | ||
| const Family< BasisType2 > & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const Family< BasisType > & | basis1, | ||
| const Family< TensorizedVectorFamily< ScalarBasisType, N >> & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const Family< BasisType > & | basis1, | ||
| const TensorizedVectorFamily< MonomialScalarBasisCell, N > & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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).
| T | Cell to which the basis corresponds |
| golycompl_basis | First basis |
| tens_family | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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).
| T | Cell to which the basis corresponds |
| grad_basis | First basis |
| tens_family | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const GradientBasis< ShiftedBasis< ScalarBasisType >> & | grad_shift_basis, | ||
| const BasisType & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| grad_shift_basis | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const GradientBasis< ShiftedBasis< ScalarBasisType1 >> & | grad_shift_basis, | ||
| const TensorizedVectorFamily< Family< ScalarBasisType2 >, N > & | basis2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| grad_shift_basis | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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).
| T | Cell to which the basis corresponds |
| basis1 | First basis |
| basis2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| Scalar3Tensor HArDCore3D::tripleInt | ( | const Cell & | T, |
| const TensorizedVectorFamily< Family< ScalarBasisType >, N > & | tens_family1, | ||
| const TensorizedVectorFamily< MonomialScalarBasisCell, N > & | tens_family2, | ||
| MonomialCellIntegralsType | mono_int_map = {} |
||
| ) |
| T | Cell to which the basis corresponds |
| tens_family1 | First basis |
| tens_family2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
| 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).
| T | Cell to which the basis corresponds |
| tens_family1 | First basis |
| tens_family2 | Second basis |
| mono_int_map | Optional list of integrals of monomials up to the sum of max degree of the bases |
|
constexpr |
Determines if the ancestor of a basis will be used to compute a Gram matrix for this basis.
|
inline |
Returns the quadrature point as an Eigen vector.
|
inline |
| double QuadRuleEdge::wq | ( | size_t | i | ) |
| double LegendreGauss::wq | ( | size_t | i | ) |
| double QuadRuleTriangle::wq | ( | size_t | i | ) |
|
inline |
| double QuadRuleEdge::xq | ( | size_t | i | ) |
| double QuadRuleTriangle::xq | ( | size_t | i | ) |
|
inline |
| double QuadRuleEdge::yq | ( | size_t | i | ) |
| double QuadRuleTriangle::yq | ( | size_t | i | ) |
|
inline |
| double QuadRuleEdge::zq | ( | size_t | i | ) |
| double QuadRuleTriangle::zq | ( | size_t | i | ) |
| LegendreGauss::~LegendreGauss | ( | ) |
| QuadRuleEdge::~QuadRuleEdge | ( | ) |
| QuadRuleTriangle::~QuadRuleTriangle | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
Maximum degree of the cell quadrature rules.
|
staticconstexpr |
Maximum degree of the edge quadrature rules.
|
staticconstexpr |
Maximum degree of the face quadrature rules.
|
protected |
|
staticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| double HArDCore3D::QuadratureNode::w |
| double HArDCore3D::QuadratureNode::x |
|
protected |
| double HArDCore3D::QuadratureNode::y |
|
protected |
| double HArDCore3D::QuadratureNode::z |
|
protected |