HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Classes | Functions
HybridCore

Classes providing cell and edge quadrature rules, and values of basis functions at the nodes. More...

Classes

class  HArDCore2D::CellEdgeQuad
 
class  HArDCore2D::HybridCore
 

Functions

std::vector< HybridCore::qruleHArDCore2D::CellEdgeQuad::get_quadT () const
 Returns quadrature rules in cell.
 
std::vector< Eigen::ArrayXd > HArDCore2D::CellEdgeQuad::get_phiT_quadT () const
 Returns values of cell basis functions at cell quadrature rules in cell.
 
std::vector< Eigen::ArrayXXd > HArDCore2D::CellEdgeQuad::get_dphiT_quadT () const
 Returns values of gradients of cell basis functions at cell quadrature rules in cell.
 
std::vector< HybridCore::qruleHArDCore2D::CellEdgeQuad::get_quadF (size_t ilF) const
 Returns quadrature rules on edge with local number ilF.
 
std::vector< Eigen::ArrayXd > HArDCore2D::CellEdgeQuad::get_phiT_quadF (size_t ilF) const
 Returns values of cell basis functions at cell quadrature rules on edge with local number ilF.
 
std::vector< Eigen::ArrayXd > HArDCore2D::CellEdgeQuad::get_phiF_quadF (size_t ilF) const
 Returns values of edges basis functions at cell quadrature rules on edge with local number ilF.
 
std::vector< Eigen::ArrayXXd > HArDCore2D::CellEdgeQuad::get_dphiT_quadF (size_t ilF) const
 Returns values of gradients of cell basis functions at cell quadrature rules on edge with local number ilF.
 
template<typename Function >
void HArDCore2D::HybridCore::quadrature_over_cell (const size_t iT, const Function &f) const
 To integrate a function over a cell.
 
template<typename Function >
void HArDCore2D::HybridCore::quadrature_over_edge (const size_t iF, const Function &f) const
 To integrate a function over an edge.
 
template<typename Function >
double HArDCore2D::HybridCore::integrate_over_cell (const size_t iT, const Function &f) const
 Integrates a function over a cell. Use with parcimony, expensive (re-compute quadratures)
 
template<typename Function >
double HArDCore2D::HybridCore::integrate_over_edge (const size_t iF, const Function &f) const
 Integrates a function over an edge. Use with parcimony, expensive (re-compute quadratures)
 
template<typename Function >
double HArDCore2D::HybridCore::integrate_over_domain (const Function &f) const
 Integrates a function over the domaine. Use with parcimony, expensive (re-compute quadratures)
 
template<typename Function >
Eigen::VectorXd HArDCore2D::HybridCore::interpolate (const Function &f, size_t doe) const
 Compute the interpolant in the discrete space of a continuous function. More...
 
size_t HArDCore2D::HybridCore::nlocal_cell_dofs () const
 number of degrees of freedom in each cell (dimension of polynomial space)
 
size_t HArDCore2D::HybridCore::ntotal_cell_dofs () const
 total number of cell degrees of freedom
 
size_t HArDCore2D::HybridCore::nlocal_edge_dofs () const
 number of degrees of freedom on each edge (dimension of polynomial space)
 
size_t HArDCore2D::HybridCore::ntotal_edge_dofs () const
 total number of edge degrees of freedom
 
size_t HArDCore2D::HybridCore::nhighorder_dofs () const
 total number of cell degrees of freedom with polynomials up to order k+1
 
size_t HArDCore2D::HybridCore::ngradient_dofs () const
 total number of degrees of freedom for gradients
 
size_t HArDCore2D::HybridCore::ninternal_edge_dofs () const
 total number of edge degrees of freedom for internal edges
 
size_t HArDCore2D::HybridCore::nboundary_edge_dofs () const
 total number of edge degrees of freedom for boundary edges
 
size_t HArDCore2D::HybridCore::ntotal_dofs () const
 Total number of degrees of freedom.
 

Detailed Description

Classes providing cell and edge quadrature rules, and values of basis functions at the nodes.

Classes providing tools to implement schemes having polynomial unknowns on the edges and in the cells The basic ordering of vectors is to put all cell degrees of freedom first, and then all edge degrees of freedom.

Function Documentation

◆ interpolate()

template<typename Function >
Eigen::VectorXd HArDCore2D::HybridCore::interpolate ( const Function &  f,
size_t  doe 
) const

Compute the interpolant in the discrete space of a continuous function.

Returns
The vector XTF of coefficients on the basis functions. All the cell basis functions come first (in the order of the cells), and then all the edge basis functions (in the order of the edges)
Parameters
ffunction to interpolate
doedegree of exactness of the quadrature rules to compute the interpolate