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

Classes

class  HArDCore3D::LADDRCore
 Construct the spaces for the LADDR sequence. More...
 
class  HArDCore3D::LASXCurl
 Discrete Lie algebra valued Serendipity Hcurl space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::LASXCurl::TransferOperators
 A structure to store the serendipity, extension and reduction operators. More...
 
class  HArDCore3D::LASXDiv
 Discrete Serendipity Hdiv space: local operators, L2 product and global interpolator. More...
 
class  HArDCore3D::LASXGrad
 Discrete Serendipity Hgrad space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::LASXGrad::TransferOperators
 A structure to store the serendipity, extension and reduction operators. More...
 
class  HArDCore3D::LAXCurl
 Discrete Lie algebra valued Hcurl space. More...
 
struct  HArDCore3D::LAXCurl::LocalOperators
 A structure to store the local operators (curl and potential) More...
 
class  HArDCore3D::LAXDiv
 Discrete Lie algebra valued Hdiv space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::LAXDiv::LocalOperators
 A structure to store local operators (divergence and potential) More...
 
class  HArDCore3D::LAXGrad
 Discrete Lie algebra valued H1 space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::LAXGrad::LocalOperators
 A structure to store local operators (gradient and potential) More...
 
class  HArDCore3D::LieAlgebra
 Lie algebra class: mass matrix, structure constants and Lie bracket. More...
 

Typedefs

typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LASXCurl::FunctionType
 
typedef std::vector< FunctionTypeHArDCore3D::LASXCurl::LAFunctionType
 
typedef std::function< double(const Eigen::Vector3d &)> HArDCore3D::LASXGrad::FunctionType
 
typedef std::vector< FunctionTypeHArDCore3D::LASXGrad::LAFunctionType
 
typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LAXCurl::FunctionType
 
typedef std::vector< FunctionTypeHArDCore3D::LAXCurl::LAFunctionType
 
typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LAXDiv::FunctionType
 
typedef std::vector< FunctionTypeHArDCore3D::LAXDiv::LAFunctionType
 
typedef std::function< double(const Eigen::Vector3d &)> HArDCore3D::LAXGrad::FunctionType
 
typedef std::vector< FunctionTypeHArDCore3D::LAXGrad::LAFunctionType
 
typedef Eigen::MatrixXcd HArDCore3D::LieAlgebra::LieAlgValue
 
typedef std::function< double(LieAlgValue &, LieAlgValue &)> HArDCore3D::LieAlgebra::LieAlgProduct
 

Functions

 HArDCore3D::LADDRCore::LADDRCore (const LieAlgebra &lie_algebra, const Mesh &mesh, size_t K, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const DDRCore::Poly3BasisCellTypeHArDCore3D::LADDRCore::P2k3 (size_t iT) const
 Return cell bases for element iT.
 
const LieAlgebraHArDCore3D::LADDRCore::lieAlg () const
 Return the Lie algebra.
 
 HArDCore3D::LASXCurl::TransferOperators::TransferOperators (const Eigen::MatrixXd &_serendipity, const Eigen::MatrixXd &_extension, const Eigen::MatrixXd &_reduction)
 
 HArDCore3D::LASXCurl::LASXCurl (const LieAlgebra &lie_algebra, const SXCurl &sx_curl, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::LASXCurl::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::LASXCurl::degree () const
 Return the polynomial degree.
 
const LieAlgebraHArDCore3D::LASXCurl::lieAlg () const
 Return the Lie algebra.
 
const SerendipityProblemHArDCore3D::LASXCurl::serPro () const
 Return the serendipity operators.
 
Eigen::VectorXd HArDCore3D::LASXCurl::interpolate (const LAFunctionType &v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous function.
 
const Eigen::VectorXd HArDCore3D::LASXCurl::LaxcurlI (size_t iG, Eigen::VectorXd &v) const
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlFace (size_t iF) const
 Return the serendipity reconstruction for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlFace (size_t iF) const
 Return the extension for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlFace (size_t iF) const
 Return the reduction for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlFace (const Face &F) const
 Return the serendipity reconstruction for face F.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlFace (const Face &F) const
 Return the extension for face F.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlFace (const Face &F) const
 Return cell reduction for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlCell (size_t iT) const
 Return the serendipity reconstruction for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlCell (size_t iT) const
 Return the extension for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlCell (size_t iT) const
 Return the reduction for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlCell (const Cell &T) const
 Return the serendipity reconstruction for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlCell (const Cell &T) const
 Return the extension for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlCell (const Cell &T) const
 Return the reduction for cell T.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::faceCurl (size_t iF) const
 Return the full curl operator on the face of index iF.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::faceCurl (const Face &F) const
 Return the full curl operator on face F.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::facePotential (size_t iF) const
 Return the potential operator on the face of index iF.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::facePotential (const Face &F) const
 Return the potential operator on face F.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::cellCurl (size_t iT) const
 Return the full curl operator on the cell of index iT.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::cellCurl (const Cell &T) const
 Return the full curl operator on cell T.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::cellPotential (size_t iT) const
 Return the potential operator on the cell of index iT.
 
const Eigen::MatrixXd HArDCore3D::LASXCurl::cellPotential (const Cell &T) const
 Return the potential operator on cell T.
 
Eigen::MatrixXd HArDCore3D::LASXCurl::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product.
 
Eigen::MatrixXd HArDCore3D::LASXCurl::computeL2ProductGradient (const size_t iT, const SXGrad &sx_grad, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").
 
const DDRCore::CellBasesHArDCore3D::LASXCurl::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const DDRCore::CellBasesHArDCore3D::LASXCurl::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesHArDCore3D::LASXCurl::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesHArDCore3D::LASXCurl::faceBases (const Face &F) const
 Return cell bases for face F.
 
const DDRCore::EdgeBasesHArDCore3D::LASXCurl::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const DDRCore::EdgeBasesHArDCore3D::LASXCurl::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
 HArDCore3D::LASXDiv::LASXDiv (const LieAlgebra &lie_algebra, const XDiv &xdiv, const SXDiv &sxdiv, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const LieAlgebraHArDCore3D::LASXDiv::lieAlg () const
 Return the Lie algebra.
 
Eigen::MatrixXd HArDCore3D::LASXDiv::computeL2ProductCurl (const size_t iT, const SXCurl &sx_curl, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete serendipity curl on the left/right/both sides (depending on argument "side").
 
 HArDCore3D::LASXGrad::TransferOperators::TransferOperators (const Eigen::MatrixXd &_serendipity, const Eigen::MatrixXd &_extension, const Eigen::MatrixXd &_reduction)
 
 HArDCore3D::LASXGrad::LASXGrad (const LieAlgebra &lie_algebra, const SXGrad &sxgrad, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::LASXGrad::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::LASXGrad::degree () const
 Return the polynomial degree.
 
const LieAlgebraHArDCore3D::LASXGrad::lieAlg () const
 Return the Lie algebra.
 
const SerendipityProblemHArDCore3D::LASXGrad::serPro () const
 Return the serendipity operators.
 
Eigen::VectorXd HArDCore3D::LASXGrad::interpolate (const LAFunctionType &q, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous function.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradFace (size_t iF) const
 Return the serendipity reconstruction for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradFace (size_t iF) const
 Return the extension for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradFace (size_t iF) const
 Return the reduction for the face of index iF.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradFace (const Face &F) const
 Return the serendipity reconstruction for face F.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradFace (const Face &F) const
 Return the extension for face F.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradFace (const Face &F) const
 Return cell reduction for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradCell (size_t iT) const
 Return the serendipity reconstruction for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradCell (size_t iT) const
 Return the extension for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradCell (size_t iT) const
 Return the reduction for the cell of index iT.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradCell (const Cell &T) const
 Return the serendipity reconstruction for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradCell (const Cell &T) const
 Return the extension for cell T.
 
const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradCell (const Cell &T) const
 Return the reduction for cell T.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::edgeGradient (size_t iE) const
 Return the full gradient operator on the edge of index iE.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::edgeGradient (const Edge &E) const
 Return the full gradient operator on edge E.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::edgePotential (size_t iE) const
 Return the potential operator on the edge of index iE.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::edgePotential (const Edge &E) const
 Return the potential operator on edge E.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::faceGradient (size_t iF) const
 Return the full gradient operator on the face of index iF.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::faceGradient (const Face &F) const
 Return the full gradient operator on face F.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::facePotential (size_t iF) const
 Return the potential operator on the face of index iF.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::facePotential (const Face &F) const
 Return the potential operator on face F.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::cellGradient (size_t iT) const
 Return the full gradient operator on the cell of index iT.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::cellGradient (const Cell &T) const
 Return the full gradient operator on cell T.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::cellPotential (size_t iT) const
 Return the potential operator on the cell of index iT.
 
const Eigen::MatrixXd HArDCore3D::LASXGrad::cellPotential (const Cell &T) const
 Return the potential operator on cell T.
 
Eigen::MatrixXd HArDCore3D::LASXGrad::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product.
 
const DDRCore::CellBasesHArDCore3D::LASXGrad::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const DDRCore::CellBasesHArDCore3D::LASXGrad::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesHArDCore3D::LASXGrad::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesHArDCore3D::LASXGrad::faceBases (const Face &F) const
 Return cell bases for face F.
 
const DDRCore::EdgeBasesHArDCore3D::LASXGrad::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const DDRCore::EdgeBasesHArDCore3D::LASXGrad::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
const LieAlgebraHArDCore3D::LAXCurl::lieAlgebra () const
 Returns the Lie algebra.
 
const XCurlHArDCore3D::LAXCurl::xCurl () const
 Returns the space XCurl.
 
 HArDCore3D::LAXCurl::LocalOperators::LocalOperators (const Eigen::MatrixXd &_curl, const Eigen::MatrixXd &_potential)
 
 HArDCore3D::LAXCurl::LAXCurl (const LieAlgebra &lie_algebra, const XCurl &xcurl, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::LAXCurl::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::LAXCurl::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::LAXCurl::interpolate (const LAFunctionType &v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous Lie algebra valued function decomposed on the basis of the LieAlgebra, given as a vector of functions.
 
const LocalOperatorsHArDCore3D::LAXCurl::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::LAXCurl::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const LocalOperatorsHArDCore3D::LAXCurl::faceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsHArDCore3D::LAXCurl::faceOperators (const Face &F) const
 Return face operators for face F.
 
const DDRCore::CellBasesHArDCore3D::LAXCurl::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const DDRCore::CellBasesHArDCore3D::LAXCurl::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesHArDCore3D::LAXCurl::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesHArDCore3D::LAXCurl::faceBases (const Face &F) const
 Return cell bases for face F.
 
const DDRCore::EdgeBasesHArDCore3D::LAXCurl::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const DDRCore::EdgeBasesHArDCore3D::LAXCurl::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
Eigen::MatrixXd HArDCore3D::LAXCurl::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 
Eigen::MatrixXd HArDCore3D::LAXCurl::computeL2ProductGradient (const size_t iT, const XGrad &x_grad, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").
 
 HArDCore3D::LAXDiv::LocalOperators::LocalOperators (const Eigen::MatrixXd &_divergence, const Eigen::MatrixXd &_divergence_rhs, const Eigen::MatrixXd &_potential)
 
 HArDCore3D::LAXDiv::LAXDiv (const LieAlgebra &lie_algebra, const XDiv &xdiv, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::LAXDiv::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::LAXDiv::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::LAXDiv::interpolate (const LAFunctionType &v, const int doe_cell=-1, const int doe_face=-1) const
 Interpolator of a continuous function.
 
const LocalOperatorsHArDCore3D::LAXDiv::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::LAXDiv::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const DDRCore::CellBasesHArDCore3D::LAXDiv::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const DDRCore::CellBasesHArDCore3D::LAXDiv::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesHArDCore3D::LAXDiv::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesHArDCore3D::LAXDiv::faceBases (const Face &F) const
 Return cell bases for face F.
 
Eigen::MatrixXd HArDCore3D::LAXDiv::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product for the cell of index iT.
 
Eigen::MatrixXd HArDCore3D::LAXDiv::computeL2ProductCurl (const size_t iT, const XCurl &x_curl, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete curl on the left/right/both sides (depending on argument "side").
 
LocalOperators HArDCore3D::LAXDiv::_compute_cell_divergence_potential (size_t iT)
 
 HArDCore3D::LAXGrad::LocalOperators::LocalOperators (const Eigen::MatrixXd &_gradient, const Eigen::MatrixXd &_potential)
 
 HArDCore3D::LAXGrad::LAXGrad (const LieAlgebra &lie_algebra, const XGrad &xgrad, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::LAXGrad::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::LAXGrad::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::LAXGrad::interpolate (const LAFunctionType &q, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous function.
 
const LocalOperatorsHArDCore3D::LAXGrad::edgeOperators (size_t iE) const
 Return edge operators for the edge of index iE.
 
const LocalOperatorsHArDCore3D::LAXGrad::edgeOperators (const Edge &E) const
 Return edge operators for edge E.
 
const LocalOperatorsHArDCore3D::LAXGrad::faceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsHArDCore3D::LAXGrad::faceOperators (const Face &F) const
 Return face operators for face F.
 
const LocalOperatorsHArDCore3D::LAXGrad::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::LAXGrad::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const DDRCore::CellBasesHArDCore3D::LAXGrad::cellBases (size_t iT) const
 Return cell bases for the cell of index iT.
 
const DDRCore::CellBasesHArDCore3D::LAXGrad::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesHArDCore3D::LAXGrad::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesHArDCore3D::LAXGrad::faceBases (const Face &F) const
 Return cell bases for face F.
 
const DDRCore::EdgeBasesHArDCore3D::LAXGrad::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const DDRCore::EdgeBasesHArDCore3D::LAXGrad::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
Eigen::MatrixXd HArDCore3D::LAXGrad::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pkpo_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials.
 
 HArDCore3D::LieAlgebra::LieAlgebra ()
 Constructors.
 
 HArDCore3D::LieAlgebra::LieAlgebra (std::vector< LieAlgValue > &basis, LieAlgProduct &product)
 
const size_t HArDCore3D::LieAlgebra::dimension () const
 Assuming orthonormal basis.
 
const std::vector< LieAlgValue > & HArDCore3D::LieAlgebra::basis () const
 Returns the basis of the Lie algebra.
 
const Eigen::MatrixXd & HArDCore3D::LieAlgebra::massMatrix () const
 Returns the Gram matrix of the Lie algebra.
 
const LieAlgValue HArDCore3D::LieAlgebra::lieBracket (const LieAlgValue &A, const LieAlgValue &B) const
 Computes the Lie bracket of two Lie algebra elements.
 
const std::vector< Eigen::MatrixXd > & HArDCore3D::LieAlgebra::structureConst () const
 Computes the structure constants of the Lie algebra.
 

Variables

Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::serendipity
 
Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::extension
 
Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::reduction
 
Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::serendipity
 
Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::extension
 
Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::reduction
 
Eigen::MatrixXd HArDCore3D::LAXCurl::LocalOperators::curl
 
Eigen::MatrixXd HArDCore3D::LAXCurl::LocalOperators::potential
 
Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::divergence
 
Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::divergence_rhs
 
Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::potential
 
const LieAlgebraHArDCore3D::LAXDiv::m_lie_algebra
 
const XDivHArDCore3D::LAXDiv::m_xdiv
 
bool HArDCore3D::LAXDiv::m_use_threads
 
std::ostream & HArDCore3D::LAXDiv::m_output
 
std::vector< std::unique_ptr< LocalOperators > > HArDCore3D::LAXDiv::m_cell_operators
 
Eigen::MatrixXd HArDCore3D::LAXGrad::LocalOperators::gradient
 
Eigen::MatrixXd HArDCore3D::LAXGrad::LocalOperators::potential
 

Detailed Description

Typedef Documentation

◆ FunctionType [1/5]

typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LASXCurl::FunctionType

◆ FunctionType [2/5]

typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::LASXGrad::FunctionType

◆ FunctionType [3/5]

typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LAXCurl::FunctionType

◆ FunctionType [4/5]

typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::LAXDiv::FunctionType

◆ FunctionType [5/5]

typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::LAXGrad::FunctionType

◆ LAFunctionType [1/5]

◆ LAFunctionType [2/5]

◆ LAFunctionType [3/5]

◆ LAFunctionType [4/5]

◆ LAFunctionType [5/5]

◆ LieAlgProduct

◆ LieAlgValue

Function Documentation

◆ _compute_cell_divergence_potential()

LAXDiv::LocalOperators LAXDiv::_compute_cell_divergence_potential ( size_t  iT)
protected

◆ basis()

const std::vector< LieAlgValue > & HArDCore3D::LieAlgebra::basis ( ) const
inline

Returns the basis of the Lie algebra.

◆ cellBases() [1/10]

const DDRCore::CellBases & HArDCore3D::LASXCurl::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [2/10]

const DDRCore::CellBases & HArDCore3D::LASXGrad::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [3/10]

const DDRCore::CellBases & HArDCore3D::LAXCurl::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [4/10]

const DDRCore::CellBases & HArDCore3D::LAXDiv::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [5/10]

const DDRCore::CellBases & HArDCore3D::LAXGrad::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [6/10]

const DDRCore::CellBases & HArDCore3D::LASXCurl::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [7/10]

const DDRCore::CellBases & HArDCore3D::LASXGrad::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [8/10]

const DDRCore::CellBases & HArDCore3D::LAXCurl::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [9/10]

const DDRCore::CellBases & HArDCore3D::LAXDiv::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [10/10]

const DDRCore::CellBases & HArDCore3D::LAXGrad::cellBases ( size_t  iT) const
inline

Return cell bases for the cell of index iT.

◆ cellCurl() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXCurl::cellCurl ( const Cell &  T) const
inline

Return the full curl operator on cell T.

◆ cellCurl() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXCurl::cellCurl ( size_t  iT) const
inline

Return the full curl operator on the cell of index iT.

◆ cellGradient() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::cellGradient ( const Cell &  T) const
inline

Return the full gradient operator on cell T.

◆ cellGradient() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::cellGradient ( size_t  iT) const
inline

Return the full gradient operator on the cell of index iT.

◆ cellOperators() [1/6]

const LocalOperators & HArDCore3D::LAXCurl::cellOperators ( const Cell &  T) const
inline

Return cell operators for cell T.

◆ cellOperators() [2/6]

const LocalOperators & HArDCore3D::LAXDiv::cellOperators ( const Cell &  T) const
inline

Return cell operators for cell T.

◆ cellOperators() [3/6]

const LocalOperators & HArDCore3D::LAXGrad::cellOperators ( const Cell &  T) const
inline

Return cell operators for cell T.

◆ cellOperators() [4/6]

const LocalOperators & HArDCore3D::LAXCurl::cellOperators ( size_t  iT) const
inline

Return cell operators for the cell of index iT.

◆ cellOperators() [5/6]

const LocalOperators & HArDCore3D::LAXDiv::cellOperators ( size_t  iT) const
inline

Return cell operators for the cell of index iT.

◆ cellOperators() [6/6]

const LocalOperators & HArDCore3D::LAXGrad::cellOperators ( size_t  iT) const
inline

Return cell operators for the cell of index iT.

◆ cellPotential() [1/4]

const Eigen::MatrixXd HArDCore3D::LASXCurl::cellPotential ( const Cell &  T) const
inline

Return the potential operator on cell T.

◆ cellPotential() [2/4]

const Eigen::MatrixXd HArDCore3D::LASXGrad::cellPotential ( const Cell &  T) const
inline

Return the potential operator on cell T.

◆ cellPotential() [3/4]

const Eigen::MatrixXd HArDCore3D::LASXCurl::cellPotential ( size_t  iT) const
inline

Return the potential operator on the cell of index iT.

◆ cellPotential() [4/4]

const Eigen::MatrixXd HArDCore3D::LASXGrad::cellPotential ( size_t  iT) const
inline

Return the potential operator on the cell of index iT.

◆ computeL2Product() [1/5]

Eigen::MatrixXd HArDCore3D::LASXCurl::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const
inline

Compute the matrix of the (weighted) L2-product.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to 1

◆ computeL2Product() [2/5]

Eigen::MatrixXd HArDCore3D::LASXGrad::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const
inline

Compute the matrix of the (weighted) L2-product.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to 1

◆ computeL2Product() [3/5]

Eigen::MatrixXd LAXCurl::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product for the cell of index iT. We required the same arguments as the product functions in XCurl since they are called in the construction. From the choice of ordering of the DOFs, this matrix is the Kronecker product of the L2-product matrix of iT in XCurl with the mass matrix of the Lie algebra.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to 1

◆ computeL2Product() [4/5]

Eigen::MatrixXd LAXDiv::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product for the cell of index iT.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to 1

◆ computeL2Product() [5/5]

Eigen::MatrixXd LAXGrad::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pkpo_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product for the cell of index iT. The stabilisation here is based on cell and face potentials.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pkpo_Tif pre-computed, the mass matrix of P^{k+1}(T); if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to 1

◆ computeL2ProductCurl() [1/2]

Eigen::MatrixXd LASXDiv::computeL2ProductCurl ( const size_t  iT,
const SXCurl sx_curl,
const std::string &  side,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete serendipity curl on the left/right/both sides (depending on argument "side").

Parameters
iTindex of the cell
sx_curlinstance of SXCurl to access the serendipity curls
sidewhich side (left, right, both) we apply the gradient to
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to constant 1.

◆ computeL2ProductCurl() [2/2]

Eigen::MatrixXd LAXDiv::computeL2ProductCurl ( const size_t  iT,
const XCurl x_curl,
const std::string &  side,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete curl on the left/right/both sides (depending on argument "side").

Parameters
iTindex of the cell
x_curlinstance of XCurl to access the full curls
sidewhich side (left, right, both) we apply the gradient to
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to constant 1.

◆ computeL2ProductGradient() [1/2]

Eigen::MatrixXd LASXCurl::computeL2ProductGradient ( const size_t  iT,
const SXGrad sx_grad,
const std::string &  side,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").

Parameters
iTindex of the cell
sx_gradinstance of SXGrad to access the full gradients
sidewhich side (left, right, both) we apply the gradient to
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to constant 1.

◆ computeL2ProductGradient() [2/2]

Eigen::MatrixXd LAXCurl::computeL2ProductGradient ( const size_t  iT,
const XGrad x_grad,
const std::string &  side,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pk3_T = Eigen::MatrixXd::Zero(1,1),
const IntegralWeight weight = IntegralWeight(1.) 
) const

Compute the matrix of the (weighted) L2-product as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").

Parameters
iTindex of the cell
x_gradinstance of XGrad to access the full gradients
sidewhich side (left, right, both) we apply the gradient to
penalty_factorpre-factor for stabilisation term
mass_Pk3_Tif pre-computed, the mass matrix of (P^k(T))^3; if none is pre-computed, passing Eigen::MatrixXd::Zero(1,1) will force the calculation
weightweight function in the L2 product, defaults to constant 1.

◆ degree() [1/5]

const size_t & HArDCore3D::LASXCurl::degree ( ) const
inline

Return the polynomial degree.

◆ degree() [2/5]

const size_t & HArDCore3D::LASXGrad::degree ( ) const
inline

Return the polynomial degree.

◆ degree() [3/5]

const size_t & HArDCore3D::LAXCurl::degree ( ) const
inline

Return the polynomial degree.

◆ degree() [4/5]

const size_t & HArDCore3D::LAXDiv::degree ( ) const
inline

Return the polynomial degree.

◆ degree() [5/5]

const size_t & HArDCore3D::LAXGrad::degree ( ) const
inline

Return the polynomial degree.

◆ dimension()

const size_t HArDCore3D::LieAlgebra::dimension ( ) const
inline

Assuming orthonormal basis.

Returns the dimension of the Lie algebra

◆ EcurlCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlCell ( const Cell &  T) const
inline

Return the extension for cell T.

◆ EcurlCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlCell ( size_t  iT) const
inline

Return the extension for the cell of index iT.

◆ EcurlFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlFace ( const Face &  F) const
inline

Return the extension for face F.

◆ EcurlFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::EcurlFace ( size_t  iF) const
inline

Return the extension for the face of index iF.

◆ edgeBases() [1/8]

const DDRCore::EdgeBases & HArDCore3D::LASXCurl::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [2/8]

const DDRCore::EdgeBases & HArDCore3D::LASXGrad::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [3/8]

const DDRCore::EdgeBases & HArDCore3D::LAXCurl::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [4/8]

const DDRCore::EdgeBases & HArDCore3D::LAXGrad::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [5/8]

const DDRCore::EdgeBases & HArDCore3D::LASXCurl::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeBases() [6/8]

const DDRCore::EdgeBases & HArDCore3D::LASXGrad::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeBases() [7/8]

const DDRCore::EdgeBases & HArDCore3D::LAXCurl::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeBases() [8/8]

const DDRCore::EdgeBases & HArDCore3D::LAXGrad::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeGradient() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::edgeGradient ( const Edge &  E) const
inline

Return the full gradient operator on edge E.

◆ edgeGradient() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::edgeGradient ( size_t  iE) const
inline

Return the full gradient operator on the edge of index iE.

◆ edgeOperators() [1/2]

const LocalOperators & HArDCore3D::LAXGrad::edgeOperators ( const Edge &  E) const
inline

Return edge operators for edge E.

◆ edgeOperators() [2/2]

const LocalOperators & HArDCore3D::LAXGrad::edgeOperators ( size_t  iE) const
inline

Return edge operators for the edge of index iE.

◆ edgePotential() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::edgePotential ( const Edge &  E) const
inline

Return the potential operator on edge E.

◆ edgePotential() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::edgePotential ( size_t  iE) const
inline

Return the potential operator on the edge of index iE.

◆ EgradCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradCell ( const Cell &  T) const
inline

Return the extension for cell T.

◆ EgradCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradCell ( size_t  iT) const
inline

Return the extension for the cell of index iT.

◆ EgradFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradFace ( const Face &  F) const
inline

Return the extension for face F.

◆ EgradFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::EgradFace ( size_t  iF) const
inline

Return the extension for the face of index iF.

◆ faceBases() [1/10]

const DDRCore::FaceBases & HArDCore3D::LASXCurl::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [2/10]

const DDRCore::FaceBases & HArDCore3D::LASXGrad::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [3/10]

const DDRCore::FaceBases & HArDCore3D::LAXCurl::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [4/10]

const DDRCore::FaceBases & HArDCore3D::LAXDiv::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [5/10]

const DDRCore::FaceBases & HArDCore3D::LAXGrad::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [6/10]

const DDRCore::FaceBases & HArDCore3D::LASXCurl::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [7/10]

const DDRCore::FaceBases & HArDCore3D::LASXGrad::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [8/10]

const DDRCore::FaceBases & HArDCore3D::LAXCurl::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [9/10]

const DDRCore::FaceBases & HArDCore3D::LAXDiv::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [10/10]

const DDRCore::FaceBases & HArDCore3D::LAXGrad::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceCurl() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXCurl::faceCurl ( const Face &  F) const
inline

Return the full curl operator on face F.

◆ faceCurl() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXCurl::faceCurl ( size_t  iF) const
inline

Return the full curl operator on the face of index iF.

◆ faceGradient() [1/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::faceGradient ( const Face &  F) const
inline

Return the full gradient operator on face F.

◆ faceGradient() [2/2]

const Eigen::MatrixXd HArDCore3D::LASXGrad::faceGradient ( size_t  iF) const
inline

Return the full gradient operator on the face of index iF.

◆ faceOperators() [1/4]

const LocalOperators & HArDCore3D::LAXCurl::faceOperators ( const Face &  F) const
inline

Return face operators for face F.

◆ faceOperators() [2/4]

const LocalOperators & HArDCore3D::LAXGrad::faceOperators ( const Face &  F) const
inline

Return face operators for face F.

◆ faceOperators() [3/4]

const LocalOperators & HArDCore3D::LAXCurl::faceOperators ( size_t  iF) const
inline

Return face operators for the face of index iF.

◆ faceOperators() [4/4]

const LocalOperators & HArDCore3D::LAXGrad::faceOperators ( size_t  iF) const
inline

Return face operators for the face of index iF.

◆ facePotential() [1/4]

const Eigen::MatrixXd HArDCore3D::LASXCurl::facePotential ( const Face &  F) const
inline

Return the potential operator on face F.

◆ facePotential() [2/4]

const Eigen::MatrixXd HArDCore3D::LASXGrad::facePotential ( const Face &  F) const
inline

Return the potential operator on face F.

◆ facePotential() [3/4]

const Eigen::MatrixXd HArDCore3D::LASXCurl::facePotential ( size_t  iF) const
inline

Return the potential operator on the face of index iF.

◆ facePotential() [4/4]

const Eigen::MatrixXd HArDCore3D::LASXGrad::facePotential ( size_t  iF) const
inline

Return the potential operator on the face of index iF.

◆ interpolate() [1/5]

Eigen::VectorXd LASXGrad::interpolate ( const LAFunctionType q,
const int  doe_cell = -1,
const int  doe_face = -1,
const int  doe_edge = -1 
) const

Interpolator of a continuous function.

Parameters
qThe function to interpolate
doe_cellThe optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_faceThe optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_edgeThe optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.

◆ interpolate() [2/5]

Eigen::VectorXd LAXGrad::interpolate ( const LAFunctionType q,
const int  doe_cell = -1,
const int  doe_face = -1,
const int  doe_edge = -1 
) const

Interpolator of a continuous function.

Parameters
qThe function to interpolate
doe_cellThe optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_faceThe optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_edgeThe optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.

◆ interpolate() [3/5]

Eigen::VectorXd LAXDiv::interpolate ( const LAFunctionType v,
const int  doe_cell = -1,
const int  doe_face = -1 
) const

Interpolator of a continuous function.

Parameters
vThe Lie algebra valued function to interpolate
doe_cellThe optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_faceThe optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.

◆ interpolate() [4/5]

Eigen::VectorXd LASXCurl::interpolate ( const LAFunctionType v,
const int  doe_cell = -1,
const int  doe_face = -1,
const int  doe_edge = -1 
) const

Interpolator of a continuous function.

Parameters
vThe function to interpolate
doe_cellThe optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_faceThe optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_edgeThe optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.

◆ interpolate() [5/5]

Eigen::VectorXd LAXCurl::interpolate ( const LAFunctionType v,
const int  doe_cell = -1,
const int  doe_face = -1,
const int  doe_edge = -1 
) const

Interpolator of a continuous Lie algebra valued function decomposed on the basis of the LieAlgebra, given as a vector of functions.

Parameters
vThe function to interpolate
doe_cellThe optional degre of cell quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_faceThe optional degre of face quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.
doe_edgeThe optional degre of edge quadrature rules to compute the interpolate. If negative, then 2*degree()+3 will be used.

◆ LADDRCore()

LADDRCore::LADDRCore ( const LieAlgebra lie_algebra,
const Mesh mesh,
size_t  K,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LASXCurl()

LASXCurl::LASXCurl ( const LieAlgebra lie_algebra,
const SXCurl sx_curl,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LASXDiv()

LASXDiv::LASXDiv ( const LieAlgebra lie_algebra,
const XDiv xdiv,
const SXDiv sxdiv,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LASXGrad()

LASXGrad::LASXGrad ( const LieAlgebra lie_algebra,
const SXGrad sxgrad,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LAXCurl()

LAXCurl::LAXCurl ( const LieAlgebra lie_algebra,
const XCurl xcurl,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LaxcurlI()

const Eigen::VectorXd HArDCore3D::LASXCurl::LaxcurlI ( size_t  iG,
Eigen::VectorXd &  v 
) const
inline

◆ LAXDiv()

LAXDiv::LAXDiv ( const LieAlgebra lie_algebra,
const XDiv xdiv,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ LAXGrad()

LAXGrad::LAXGrad ( const LieAlgebra lie_algebra,
const XGrad xgrad,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ lieAlg() [1/4]

const LieAlgebra & HArDCore3D::LADDRCore::lieAlg ( ) const
inline

Return the Lie algebra.

◆ lieAlg() [2/4]

const LieAlgebra & HArDCore3D::LASXCurl::lieAlg ( ) const
inline

Return the Lie algebra.

◆ lieAlg() [3/4]

const LieAlgebra & HArDCore3D::LASXDiv::lieAlg ( ) const
inline

Return the Lie algebra.

◆ lieAlg() [4/4]

const LieAlgebra & HArDCore3D::LASXGrad::lieAlg ( ) const
inline

Return the Lie algebra.

◆ LieAlgebra() [1/2]

LieAlgebra::LieAlgebra ( )

Constructors.

◆ lieAlgebra()

const LieAlgebra & HArDCore3D::LAXCurl::lieAlgebra ( ) const
inline

Returns the Lie algebra.

◆ LieAlgebra() [2/2]

LieAlgebra::LieAlgebra ( std::vector< LieAlgValue > &  basis,
LieAlgProduct product 
)

◆ lieBracket()

const LieAlgValue HArDCore3D::LieAlgebra::lieBracket ( const LieAlgValue A,
const LieAlgValue B 
) const
inline

Computes the Lie bracket of two Lie algebra elements.

◆ LocalOperators() [1/3]

HArDCore3D::LAXCurl::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _curl,
const Eigen::MatrixXd &  _potential 
)
inline
Parameters
_curlCurl operator
_potentialPotential operator

◆ LocalOperators() [2/3]

HArDCore3D::LAXDiv::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _divergence,
const Eigen::MatrixXd &  _divergence_rhs,
const Eigen::MatrixXd &  _potential 
)
inline
Parameters
_divergenceDivergence operator
_divergence_rhsRHS for the divergence operator problem
_potentialPotential operator

◆ LocalOperators() [3/3]

HArDCore3D::LAXGrad::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _gradient,
const Eigen::MatrixXd &  _potential 
)
inline
Parameters
_gradientGradient operator
_potentialPotential operator

◆ massMatrix()

const Eigen::MatrixXd & HArDCore3D::LieAlgebra::massMatrix ( ) const
inline

Returns the Gram matrix of the Lie algebra.

◆ mesh() [1/5]

const Mesh & HArDCore3D::LASXCurl::mesh ( ) const
inline

Return the mesh.

◆ mesh() [2/5]

const Mesh & HArDCore3D::LASXGrad::mesh ( ) const
inline

Return the mesh.

◆ mesh() [3/5]

const Mesh & HArDCore3D::LAXCurl::mesh ( ) const
inline

Return the mesh.

◆ mesh() [4/5]

const Mesh & HArDCore3D::LAXDiv::mesh ( ) const
inline

Return the mesh.

◆ mesh() [5/5]

const Mesh & HArDCore3D::LAXGrad::mesh ( ) const
inline

Return the mesh.

◆ P2k3()

const DDRCore::Poly3BasisCellType & HArDCore3D::LADDRCore::P2k3 ( size_t  iT) const
inline

Return cell bases for element iT.

◆ RcurlCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlCell ( const Cell &  T) const
inline

Return the reduction for cell T.

◆ RcurlCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlCell ( size_t  iT) const
inline

Return the reduction for the cell of index iT.

◆ RcurlFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlFace ( const Face &  F) const
inline

Return cell reduction for cell T.

◆ RcurlFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::RcurlFace ( size_t  iF) const
inline

Return the reduction for the face of index iF.

◆ RgradCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradCell ( const Cell &  T) const
inline

Return the reduction for cell T.

◆ RgradCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradCell ( size_t  iT) const
inline

Return the reduction for the cell of index iT.

◆ RgradFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradFace ( const Face &  F) const
inline

Return cell reduction for cell T.

◆ RgradFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::RgradFace ( size_t  iF) const
inline

Return the reduction for the face of index iF.

◆ ScurlCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlCell ( const Cell &  T) const
inline

Return the serendipity reconstruction for cell T.

◆ ScurlCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlCell ( size_t  iT) const
inline

Return the serendipity reconstruction for the cell of index iT.

◆ ScurlFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlFace ( const Face &  F) const
inline

Return the serendipity reconstruction for face F.

◆ ScurlFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXCurl::ScurlFace ( size_t  iF) const
inline

Return the serendipity reconstruction for the face of index iF.

◆ serPro() [1/2]

const SerendipityProblem & HArDCore3D::LASXCurl::serPro ( ) const
inline

Return the serendipity operators.

◆ serPro() [2/2]

const SerendipityProblem & HArDCore3D::LASXGrad::serPro ( ) const
inline

Return the serendipity operators.

◆ SgradCell() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradCell ( const Cell &  T) const
inline

Return the serendipity reconstruction for cell T.

◆ SgradCell() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradCell ( size_t  iT) const
inline

Return the serendipity reconstruction for the cell of index iT.

◆ SgradFace() [1/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradFace ( const Face &  F) const
inline

Return the serendipity reconstruction for face F.

◆ SgradFace() [2/2]

const Eigen::MatrixXd & HArDCore3D::LASXGrad::SgradFace ( size_t  iF) const
inline

Return the serendipity reconstruction for the face of index iF.

◆ structureConst()

const std::vector< Eigen::MatrixXd > & HArDCore3D::LieAlgebra::structureConst ( ) const
inline

Computes the structure constants of the Lie algebra.

◆ TransferOperators() [1/2]

HArDCore3D::LASXCurl::TransferOperators::TransferOperators ( const Eigen::MatrixXd &  _serendipity,
const Eigen::MatrixXd &  _extension,
const Eigen::MatrixXd &  _reduction 
)
inline
Parameters
_serendipitySerendipity reconstruction
_extensionExtension SXCurl->XCurl
_reductionReduction XCurl->SXCurl

◆ TransferOperators() [2/2]

HArDCore3D::LASXGrad::TransferOperators::TransferOperators ( const Eigen::MatrixXd &  _serendipity,
const Eigen::MatrixXd &  _extension,
const Eigen::MatrixXd &  _reduction 
)
inline
Parameters
_serendipitySerendipity reconstruction
_extensionExtension SXCurl->XCurl
_reductionReduction XCurl->SXCurl

◆ xCurl()

const XCurl & HArDCore3D::LAXCurl::xCurl ( ) const
inline

Returns the space XCurl.

Variable Documentation

◆ curl

Eigen::MatrixXd HArDCore3D::LAXCurl::LocalOperators::curl

◆ divergence

Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::divergence

◆ divergence_rhs

Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::divergence_rhs

◆ extension [1/2]

Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::extension

◆ extension [2/2]

Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::extension

◆ gradient

Eigen::MatrixXd HArDCore3D::LAXGrad::LocalOperators::gradient

◆ m_cell_operators

std::vector<std::unique_ptr<LocalOperators> > HArDCore3D::LAXDiv::m_cell_operators
protected

◆ m_lie_algebra

const LieAlgebra& HArDCore3D::LAXDiv::m_lie_algebra
protected

◆ m_output

std::ostream& HArDCore3D::LAXDiv::m_output
protected

◆ m_use_threads

bool HArDCore3D::LAXDiv::m_use_threads
protected

◆ m_xdiv

const XDiv& HArDCore3D::LAXDiv::m_xdiv
protected

◆ potential [1/3]

Eigen::MatrixXd HArDCore3D::LAXCurl::LocalOperators::potential

◆ potential [2/3]

Eigen::MatrixXd HArDCore3D::LAXDiv::LocalOperators::potential

◆ potential [3/3]

Eigen::MatrixXd HArDCore3D::LAXGrad::LocalOperators::potential

◆ reduction [1/2]

Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::reduction

◆ reduction [2/2]

Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::reduction

◆ serendipity [1/2]

Eigen::MatrixXd HArDCore3D::LASXCurl::TransferOperators::serendipity

◆ serendipity [2/2]

Eigen::MatrixXd HArDCore3D::LASXGrad::TransferOperators::serendipity