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
VEMCore

Classes providing tools to the de Rham VEM sequence. More...

Classes

class  HArDCore3D::VCurl
 Virtual Hcurl space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::VCurl::LocalOperators
 A structure to store the local operators (projections of curl and function, dof of curl in Vdiv) More...
 
class  HArDCore3D::VDiv
 Virtual Hdiv space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::VDiv::LocalOperators
 A structure to store the local operators (projections of div and function) More...
 
class  HArDCore3D::VEMCore
 Construct all polynomial spaces for the VEM sequence. More...
 
struct  HArDCore3D::VEMCore::CellBases
 Structure to store element bases. More...
 
struct  HArDCore3D::VEMCore::FaceBases
 Structure to store face bases. More...
 
struct  HArDCore3D::VEMCore::EdgeBases
 Structure to store edge bases. More...
 
class  HArDCore3D::VGrad
 Virtual H1 space: local operators, L2 product and global interpolator. More...
 
struct  HArDCore3D::VGrad::LocalOperators
 A structure to store local operators (projection of gradient and function, dof of gradient in Vcurl) More...
 

Typedefs

typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::VCurl::FunctionType
 
typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::VDiv::FunctionType
 
typedef std::function< double(const Eigen::Vector3d &)> HArDCore3D::VDiv::DivergenceType
 
typedef Family< MonomialScalarBasisCellHArDCore3D::VEMCore::PolyBasisCellType
 
typedef TensorizedVectorFamily< PolyBasisCellType, 3 > HArDCore3D::VEMCore::Poly3BasisCellType
 
typedef Family< GradientBasis< ShiftedBasis< MonomialScalarBasisCell > > > HArDCore3D::VEMCore::GolyBasisCellType
 
typedef Family< GolyComplBasisCellHArDCore3D::VEMCore::GolyComplBasisCellType
 
typedef Family< CurlBasis< GolyComplBasisCell > > HArDCore3D::VEMCore::RolyBasisCellType
 
typedef Family< RolyComplBasisCellHArDCore3D::VEMCore::RolyComplBasisCellType
 
typedef Family< MonomialScalarBasisFaceHArDCore3D::VEMCore::PolyBasisFaceType
 
typedef TangentFamily< PolyBasisFaceTypeHArDCore3D::VEMCore::Poly2BasisFaceType
 
typedef Family< CurlBasis< ShiftedBasis< MonomialScalarBasisFace > > > HArDCore3D::VEMCore::RolyBasisFaceType
 
typedef Family< RolyComplBasisFaceHArDCore3D::VEMCore::RolyComplBasisFaceType
 
typedef Family< MonomialScalarBasisEdgeHArDCore3D::VEMCore::PolyBasisEdgeType
 
typedef Cell HArDCore3D::VEMCore::CellBases::GeometricSupport
 Geometric support.
 
typedef Face HArDCore3D::VEMCore::FaceBases::GeometricSupport
 Geometric support.
 
typedef Edge HArDCore3D::VEMCore::EdgeBases::GeometricSupport
 Geometric support.
 
typedef std::function< double(const Eigen::Vector3d &)> HArDCore3D::VGrad::FunctionType
 
typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::VGrad::GradientType
 

Functions

 HArDCore3D::VCurl::LocalOperators::LocalOperators (const Eigen::MatrixXd &_proj_curl, const Eigen::MatrixXd &_dofs_curl, const Eigen::MatrixXd &_proj_function)
 
 HArDCore3D::VCurl::VCurl (const VEMCore &vem_core, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::VCurl::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::VCurl::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::VCurl::interpolate (const FunctionType &v, const FunctionType &curl_v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous function.
 
const LocalOperatorsHArDCore3D::VCurl::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::VCurl::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const LocalOperatorsHArDCore3D::VCurl::faceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsHArDCore3D::VCurl::faceOperators (const Face &F) const
 Return face operators for face F.
 
const VEMCore::CellBasesHArDCore3D::VCurl::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const VEMCore::CellBasesHArDCore3D::VCurl::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const VEMCore::FaceBasesHArDCore3D::VCurl::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const VEMCore::FaceBasesHArDCore3D::VCurl::faceBases (const Face &F) const
 Return cell bases for face F.
 
const VEMCore::EdgeBasesHArDCore3D::VCurl::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const VEMCore::EdgeBasesHArDCore3D::VCurl::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
Eigen::MatrixXd HArDCore3D::VCurl::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.
 
 HArDCore3D::VDiv::LocalOperators::LocalOperators (const Eigen::MatrixXd &_proj_divergence, const Eigen::MatrixXd &_proj_function)
 
 HArDCore3D::VDiv::VDiv (const VEMCore &vem_core, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::VDiv::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::VDiv::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::VDiv::interpolate (const FunctionType &v, const DivergenceType &div_v, const int doe_cell=-1, const int doe_face=-1) const
 Interpolator of a continuous function.
 
const LocalOperatorsHArDCore3D::VDiv::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::VDiv::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const LocalOperatorsHArDCore3D::VDiv::faceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsHArDCore3D::VDiv::faceOperators (const Face &F) const
 Return face operators for face F.
 
const VEMCore::CellBasesHArDCore3D::VDiv::cellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const VEMCore::CellBasesHArDCore3D::VDiv::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const VEMCore::FaceBasesHArDCore3D::VDiv::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const VEMCore::FaceBasesHArDCore3D::VDiv::faceBases (const Face &F) const
 Return cell bases for face F.
 
const VEMCore::EdgeBasesHArDCore3D::VDiv::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const VEMCore::EdgeBasesHArDCore3D::VDiv::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
Eigen::MatrixXd HArDCore3D::VDiv::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. The stabilisation here is based on cell and face potentials.
 
 HArDCore3D::VEMCore::VEMCore (const Mesh &mesh, size_t K, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::VEMCore::mesh () const
 Return a const reference to the mesh.
 
const size_tHArDCore3D::VEMCore::degree () const
 Return the polynomial degree.
 
const CellBasesHArDCore3D::VEMCore::cellBases (size_t iT) const
 Return cell bases for element iT.
 
const FaceBasesHArDCore3D::VEMCore::faceBases (size_t iF) const
 Return face bases for face iF.
 
const EdgeBasesHArDCore3D::VEMCore::edgeBases (size_t iE) const
 Return edge bases for edge iE.
 
 HArDCore3D::VGrad::LocalOperators::LocalOperators (const Eigen::MatrixXd &_proj_gradient, const Eigen::MatrixXd &_dofs_gradient, const Eigen::MatrixXd &_proj_function)
 
 HArDCore3D::VGrad::VGrad (const VEMCore &vem_core, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const MeshHArDCore3D::VGrad::mesh () const
 Return the mesh.
 
const size_tHArDCore3D::VGrad::degree () const
 Return the polynomial degree.
 
Eigen::VectorXd HArDCore3D::VGrad::interpolate (const FunctionType &q, const GradientType &grad_q, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous function.
 
const LocalOperatorsHArDCore3D::VGrad::edgeOperators (size_t iE) const
 Return edge operators for the edge of index iE.
 
const LocalOperatorsHArDCore3D::VGrad::edgeOperators (const Edge &E) const
 Return edge operators for edge E.
 
const LocalOperatorsHArDCore3D::VGrad::faceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsHArDCore3D::VGrad::faceOperators (const Face &F) const
 Return face operators for face F.
 
const LocalOperatorsHArDCore3D::VGrad::cellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorsHArDCore3D::VGrad::cellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const VEMCore::CellBasesHArDCore3D::VGrad::cellBases (size_t iT) const
 Return cell bases for the cell of index iT.
 
const VEMCore::CellBasesHArDCore3D::VGrad::cellBases (const Cell &T) const
 Return cell bases for cell T.
 
const VEMCore::FaceBasesHArDCore3D::VGrad::faceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const VEMCore::FaceBasesHArDCore3D::VGrad::faceBases (const Face &F) const
 Return cell bases for face F.
 
const VEMCore::EdgeBasesHArDCore3D::VGrad::edgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const VEMCore::EdgeBasesHArDCore3D::VGrad::edgeBases (const Edge &E) const
 Return edge bases for edge E.
 
Eigen::MatrixXd HArDCore3D::VGrad::computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pkmo_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. NOT COMPLETE: only computes the consistent component of this L2 product.
 

Variables

Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::proj_curl
 
Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::dofs_curl
 
Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::proj_function
 
Eigen::MatrixXd HArDCore3D::VDiv::LocalOperators::proj_divergence
 
Eigen::MatrixXd HArDCore3D::VDiv::LocalOperators::proj_function
 
std::unique_ptr< PolyBasisCellTypeHArDCore3D::VEMCore::CellBases::Polykpo
 
std::unique_ptr< PolyBasisCellTypeHArDCore3D::VEMCore::CellBases::Polyk
 
std::unique_ptr< PolyBasisCellTypeHArDCore3D::VEMCore::CellBases::Polykmo
 
std::unique_ptr< ShiftedBasis< PolyBasisCellType > > HArDCore3D::VEMCore::CellBases::Polyk0
 
std::unique_ptr< ShiftedBasis< PolyBasisCellType > > HArDCore3D::VEMCore::CellBases::Polykpo0
 
std::unique_ptr< Poly3BasisCellTypeHArDCore3D::VEMCore::CellBases::Polyk3
 
std::unique_ptr< GolyBasisCellTypeHArDCore3D::VEMCore::CellBases::Golykmo
 
std::unique_ptr< GolyComplBasisCellTypeHArDCore3D::VEMCore::CellBases::GolyComplk
 
std::unique_ptr< GolyComplBasisCellTypeHArDCore3D::VEMCore::CellBases::GolyComplkpo
 
std::unique_ptr< RolyBasisCellTypeHArDCore3D::VEMCore::CellBases::Rolykmo
 
std::unique_ptr< RolyComplBasisCellTypeHArDCore3D::VEMCore::CellBases::RolyComplk
 
std::unique_ptr< RolyComplBasisCellTypeHArDCore3D::VEMCore::CellBases::RolyComplkp2
 
std::unique_ptr< PolyBasisFaceTypeHArDCore3D::VEMCore::FaceBases::Polykp2
 
std::unique_ptr< PolyBasisFaceTypeHArDCore3D::VEMCore::FaceBases::Polykpo
 
std::unique_ptr< PolyBasisFaceTypeHArDCore3D::VEMCore::FaceBases::Polyk
 
std::unique_ptr< PolyBasisFaceTypeHArDCore3D::VEMCore::FaceBases::Polykmo
 
std::unique_ptr< ShiftedBasis< PolyBasisFaceType > > HArDCore3D::VEMCore::FaceBases::Polyk0
 
std::unique_ptr< TangentFamily< PolyBasisFaceType > > HArDCore3D::VEMCore::FaceBases::Polykpo2
 
std::unique_ptr< Poly2BasisFaceTypeHArDCore3D::VEMCore::FaceBases::Polyk2
 
std::unique_ptr< RolyBasisFaceTypeHArDCore3D::VEMCore::FaceBases::Rolykmo
 
std::unique_ptr< RolyComplBasisFaceTypeHArDCore3D::VEMCore::FaceBases::RolyComplkmo
 
std::unique_ptr< RolyComplBasisFaceTypeHArDCore3D::VEMCore::FaceBases::RolyComplk
 
std::unique_ptr< RolyComplBasisFaceTypeHArDCore3D::VEMCore::FaceBases::RolyComplkpo
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore3D::VEMCore::EdgeBases::Polykpo
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore3D::VEMCore::EdgeBases::Polyk
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore3D::VEMCore::EdgeBases::Polykmo
 
Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::proj_gradient
 
Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::dofs_gradient
 
Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::proj_function
 

Detailed Description

Classes providing tools to the de Rham VEM sequence.

Typedef Documentation

◆ DivergenceType

typedef std::function<double(const Eigen::Vector3d &)> HArDCore3D::VDiv::DivergenceType

◆ FunctionType [1/3]

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

◆ FunctionType [2/3]

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

◆ FunctionType [3/3]

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

◆ GeometricSupport [1/3]

Geometric support.

◆ GeometricSupport [2/3]

Geometric support.

◆ GeometricSupport [3/3]

Geometric support.

◆ GolyBasisCellType

◆ GolyComplBasisCellType

◆ GradientType

typedef std::function<Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::VGrad::GradientType

◆ Poly2BasisFaceType

◆ Poly3BasisCellType

◆ PolyBasisCellType

◆ PolyBasisEdgeType

◆ PolyBasisFaceType

◆ RolyBasisCellType

◆ RolyBasisFaceType

◆ RolyComplBasisCellType

◆ RolyComplBasisFaceType

Function Documentation

◆ cellBases() [1/7]

const VEMCore::CellBases & HArDCore3D::VCurl::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [2/7]

const VEMCore::CellBases & HArDCore3D::VDiv::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [3/7]

const VEMCore::CellBases & HArDCore3D::VGrad::cellBases ( const Cell &  T) const
inline

Return cell bases for cell T.

◆ cellBases() [4/7]

const VEMCore::CellBases & HArDCore3D::VCurl::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [5/7]

const VEMCore::CellBases & HArDCore3D::VDiv::cellBases ( size_t  iT) const
inline

Return cell bases for the face of index iT.

◆ cellBases() [6/7]

const CellBases & HArDCore3D::VEMCore::cellBases ( size_t  iT) const
inline

Return cell bases for element iT.

◆ cellBases() [7/7]

const VEMCore::CellBases & HArDCore3D::VGrad::cellBases ( size_t  iT) const
inline

Return cell bases for the cell of index iT.

◆ cellOperators() [1/6]

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

Return cell operators for cell T.

◆ cellOperators() [2/6]

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

Return cell operators for cell T.

◆ cellOperators() [3/6]

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

Return cell operators for cell T.

◆ cellOperators() [4/6]

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

Return cell operators for the cell of index iT.

◆ cellOperators() [5/6]

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

Return cell operators for the cell of index iT.

◆ cellOperators() [6/6]

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

Return cell operators for the cell of index iT.

◆ computeL2Product() [1/3]

Eigen::MatrixXd VCurl::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() [2/3]

Eigen::MatrixXd VDiv::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. The stabilisation here is based on cell and face potentials.

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/3]

Eigen::MatrixXd VGrad::computeL2Product ( const size_t  iT,
const double penalty_factor = 1.,
const Eigen::MatrixXd &  mass_Pkmo_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. NOT COMPLETE: only computes the consistent component of this L2 product.

Parameters
iTindex of the cell
penalty_factorpre-factor for stabilisation term
mass_Pkmo_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

◆ degree() [1/4]

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

Return the polynomial degree.

◆ degree() [2/4]

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

Return the polynomial degree.

◆ degree() [3/4]

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

Return the polynomial degree.

◆ degree() [4/4]

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

Return the polynomial degree.

◆ edgeBases() [1/7]

const VEMCore::EdgeBases & HArDCore3D::VCurl::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [2/7]

const VEMCore::EdgeBases & HArDCore3D::VDiv::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [3/7]

const VEMCore::EdgeBases & HArDCore3D::VGrad::edgeBases ( const Edge &  E) const
inline

Return edge bases for edge E.

◆ edgeBases() [4/7]

const VEMCore::EdgeBases & HArDCore3D::VCurl::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeBases() [5/7]

const VEMCore::EdgeBases & HArDCore3D::VDiv::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeBases() [6/7]

const EdgeBases & HArDCore3D::VEMCore::edgeBases ( size_t  iE) const
inline

Return edge bases for edge iE.

◆ edgeBases() [7/7]

const VEMCore::EdgeBases & HArDCore3D::VGrad::edgeBases ( size_t  iE) const
inline

Return edge bases for the edge of index iE.

◆ edgeOperators() [1/2]

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

Return edge operators for edge E.

◆ edgeOperators() [2/2]

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

Return edge operators for the edge of index iE.

◆ faceBases() [1/7]

const VEMCore::FaceBases & HArDCore3D::VCurl::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [2/7]

const VEMCore::FaceBases & HArDCore3D::VDiv::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [3/7]

const VEMCore::FaceBases & HArDCore3D::VGrad::faceBases ( const Face &  F) const
inline

Return cell bases for face F.

◆ faceBases() [4/7]

const VEMCore::FaceBases & HArDCore3D::VCurl::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [5/7]

const VEMCore::FaceBases & HArDCore3D::VDiv::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceBases() [6/7]

const FaceBases & HArDCore3D::VEMCore::faceBases ( size_t  iF) const
inline

Return face bases for face iF.

◆ faceBases() [7/7]

const VEMCore::FaceBases & HArDCore3D::VGrad::faceBases ( size_t  iF) const
inline

Return face bases for the face of index iF.

◆ faceOperators() [1/6]

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

Return face operators for face F.

◆ faceOperators() [2/6]

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

Return face operators for face F.

◆ faceOperators() [3/6]

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

Return face operators for face F.

◆ faceOperators() [4/6]

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

Return face operators for the face of index iF.

◆ faceOperators() [5/6]

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

Return face operators for the face of index iF.

◆ faceOperators() [6/6]

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

Return face operators for the face of index iF.

◆ interpolate() [1/3]

Eigen::VectorXd VGrad::interpolate ( const FunctionType q,
const GradientType grad_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
grad_qIts gradient
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/3]

Eigen::VectorXd VDiv::interpolate ( const FunctionType v,
const DivergenceType div_v,
const int  doe_cell = -1,
const int  doe_face = -1 
) const

Interpolator of a continuous function.

Parameters
vThe function to interpolate
div_vIts div
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() [3/3]

Eigen::VectorXd VCurl::interpolate ( const FunctionType v,
const FunctionType curl_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
curl_vIts curl
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.

◆ LocalOperators() [1/3]

HArDCore3D::VCurl::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _proj_curl,
const Eigen::MatrixXd &  _dofs_curl,
const Eigen::MatrixXd &  _proj_function 
)
inline
Parameters
_proj_curlProjecton in \(P^k\) of curl (or rot for faces) of the function
_dofs_curlDOFs of curl/rot on Vdiv
_proj_functionProjection in \(P^{k+1}\) (for faces) or \(P^k\) (for elements) of the function

◆ LocalOperators() [2/3]

HArDCore3D::VDiv::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _proj_divergence,
const Eigen::MatrixXd &  _proj_function 
)
inline
Parameters
_proj_divergenceProjecton in \(P^k\) of div (or rot for faces) of the function
_proj_functionProjection in \(P^{k}\) (for faces) or \(P^k\) (for elements) of the function

◆ LocalOperators() [3/3]

HArDCore3D::VGrad::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _proj_gradient,
const Eigen::MatrixXd &  _dofs_gradient,
const Eigen::MatrixXd &  _proj_function 
)
inline
Parameters
_proj_gradientProjection of gradient on \(P^k\)
_dofs_gradientDOFs of gradient in Vcurl
_proj_functionProjection of function (on \(P^{k+1}\) for edge, \(P^k\) for faces, \(P^{k-1}\) for cells)

◆ mesh() [1/4]

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

Return the mesh.

◆ mesh() [2/4]

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

Return the mesh.

◆ mesh() [3/4]

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

Return a const reference to the mesh.

◆ mesh() [4/4]

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

Return the mesh.

◆ VCurl()

VCurl::VCurl ( const VEMCore vem_core,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ VDiv()

VDiv::VDiv ( const VEMCore vem_core,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

◆ VEMCore()

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

Constructor.

◆ VGrad()

VGrad::VGrad ( const VEMCore vem_core,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

Variable Documentation

◆ dofs_curl

Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::dofs_curl

◆ dofs_gradient

Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::dofs_gradient

◆ GolyComplk

std::unique_ptr<GolyComplBasisCellType> HArDCore3D::VEMCore::CellBases::GolyComplk

◆ GolyComplkpo

std::unique_ptr<GolyComplBasisCellType> HArDCore3D::VEMCore::CellBases::GolyComplkpo

◆ Golykmo

std::unique_ptr<GolyBasisCellType> HArDCore3D::VEMCore::CellBases::Golykmo

◆ Polyk [1/3]

std::unique_ptr<PolyBasisCellType> HArDCore3D::VEMCore::CellBases::Polyk

◆ Polyk [2/3]

std::unique_ptr<PolyBasisFaceType> HArDCore3D::VEMCore::FaceBases::Polyk

◆ Polyk [3/3]

std::unique_ptr<PolyBasisEdgeType> HArDCore3D::VEMCore::EdgeBases::Polyk

◆ Polyk0 [1/2]

std::unique_ptr<ShiftedBasis<PolyBasisCellType> > HArDCore3D::VEMCore::CellBases::Polyk0

◆ Polyk0 [2/2]

std::unique_ptr<ShiftedBasis<PolyBasisFaceType> > HArDCore3D::VEMCore::FaceBases::Polyk0

◆ Polyk2

std::unique_ptr<Poly2BasisFaceType> HArDCore3D::VEMCore::FaceBases::Polyk2

◆ Polyk3

std::unique_ptr<Poly3BasisCellType> HArDCore3D::VEMCore::CellBases::Polyk3

◆ Polykmo [1/3]

std::unique_ptr<PolyBasisCellType> HArDCore3D::VEMCore::CellBases::Polykmo

◆ Polykmo [2/3]

std::unique_ptr<PolyBasisFaceType> HArDCore3D::VEMCore::FaceBases::Polykmo

◆ Polykmo [3/3]

std::unique_ptr<PolyBasisEdgeType> HArDCore3D::VEMCore::EdgeBases::Polykmo

◆ Polykp2

std::unique_ptr<PolyBasisFaceType> HArDCore3D::VEMCore::FaceBases::Polykp2

◆ Polykpo [1/3]

std::unique_ptr<PolyBasisCellType> HArDCore3D::VEMCore::CellBases::Polykpo

◆ Polykpo [2/3]

std::unique_ptr<PolyBasisFaceType> HArDCore3D::VEMCore::FaceBases::Polykpo

◆ Polykpo [3/3]

std::unique_ptr<PolyBasisEdgeType> HArDCore3D::VEMCore::EdgeBases::Polykpo

◆ Polykpo0

std::unique_ptr<ShiftedBasis<PolyBasisCellType> > HArDCore3D::VEMCore::CellBases::Polykpo0

◆ Polykpo2

std::unique_ptr<TangentFamily<PolyBasisFaceType> > HArDCore3D::VEMCore::FaceBases::Polykpo2

◆ proj_curl

Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::proj_curl

◆ proj_divergence

Eigen::MatrixXd HArDCore3D::VDiv::LocalOperators::proj_divergence

◆ proj_function [1/3]

Eigen::MatrixXd HArDCore3D::VCurl::LocalOperators::proj_function

◆ proj_function [2/3]

Eigen::MatrixXd HArDCore3D::VDiv::LocalOperators::proj_function

◆ proj_function [3/3]

Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::proj_function

◆ proj_gradient

Eigen::MatrixXd HArDCore3D::VGrad::LocalOperators::proj_gradient

◆ RolyComplk [1/2]

std::unique_ptr<RolyComplBasisCellType> HArDCore3D::VEMCore::CellBases::RolyComplk

◆ RolyComplk [2/2]

std::unique_ptr<RolyComplBasisFaceType> HArDCore3D::VEMCore::FaceBases::RolyComplk

◆ RolyComplkmo

std::unique_ptr<RolyComplBasisFaceType> HArDCore3D::VEMCore::FaceBases::RolyComplkmo

◆ RolyComplkp2

std::unique_ptr<RolyComplBasisCellType> HArDCore3D::VEMCore::CellBases::RolyComplkp2

◆ RolyComplkpo

std::unique_ptr<RolyComplBasisFaceType> HArDCore3D::VEMCore::FaceBases::RolyComplkpo

◆ Rolykmo [1/2]

std::unique_ptr<RolyBasisCellType> HArDCore3D::VEMCore::CellBases::Rolykmo

◆ Rolykmo [2/2]

std::unique_ptr<RolyBasisFaceType> HArDCore3D::VEMCore::FaceBases::Rolykmo