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

Classes providing tools to the DDR sequence for plates. More...

Classes

class  HArDCore2D::PlatesCore
 Construct all polynomial spaces for the plates sequence. More...
 
struct  HArDCore2D::PlatesCore::CellBases
 Structure to store element bases. More...
 
struct  HArDCore2D::PlatesCore::EdgeBases
 Structure to store edge bases. More...
 
class  HArDCore2D::XDivDiv
 Discrete Hdivdiv space. More...
 
struct  HArDCore2D::XDivDiv::LocalOperators
 A structure to store the local operators (divdiv and potential) More...
 
struct  HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex
 Basis for the space of symmetric matrices. More...
 

Typedefs

typedef Family< MonomialScalarBasisCellHArDCore2D::PlatesCore::PolyBasisCellType
 
typedef TensorizedVectorFamily< PolyBasisCellType, dimspaceHArDCore2D::PlatesCore::Poly2BasisCellType
 
typedef Family< MatrixFamily< PolyBasisCellType, dimspace > > HArDCore2D::PlatesCore::PolySymBasisCellType
 
typedef Family< HessianBasis< ShiftedBasis< MonomialScalarBasisCell > > > HArDCore2D::PlatesCore::HolyBasisCellType
 
typedef Family< HolyComplBasisCellHArDCore2D::PlatesCore::HolyComplBasisCellType
 
typedef Family< MonomialScalarBasisEdgeHArDCore2D::PlatesCore::PolyBasisEdgeType
 
typedef Cell HArDCore2D::PlatesCore::CellBases::GeometricSupport
 Geometric support. More...
 
typedef Edge HArDCore2D::PlatesCore::EdgeBases::GeometricSupport
 Geometric support. More...
 
typedef std::function< Eigen::Matrix2d(const Eigen::Vector2d &)> HArDCore2D::XDivDiv::FunctionType
 
typedef std::function< double(const Eigen::Vector2d &, const Edge &)> HArDCore2D::XDivDiv::EdgeFunctionType
 
typedef std::function< Eigen::Matrix2d(const Eigen::Matrix2d &)> HArDCore2D::XDivDiv::ConstitutiveLawType
 
typedef MatrixRd HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::FunctionValue
 

Functions

 HArDCore2D::PlatesCore::PlatesCore (const Mesh &mesh, size_t K, bool use_threads=true, std::ostream &output=std::cout)
 Constructor. More...
 
const MeshHArDCore2D::PlatesCore::mesh () const
 Return a const reference to the mesh. More...
 
const size_t & HArDCore2D::PlatesCore::degree () const
 Return the polynomial degree. More...
 
const CellBasesHArDCore2D::PlatesCore::cellBases (size_t iT) const
 Return cell bases for element iT. More...
 
const EdgeBasesHArDCore2D::PlatesCore::edgeBases (size_t iE) const
 Return edge bases for edge iE. More...
 
 HArDCore2D::XDivDiv::LocalOperators::LocalOperators (const Eigen::MatrixXd &_divdiv, const Eigen::MatrixXd &_divdiv_rhs, const Eigen::MatrixXd &_potential)
 
 HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::SymmetricMatrixBasisVertex ()
 
FunctionValue HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::function (size_t i) const
 
size_t HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::size () const
 
 HArDCore2D::XDivDiv::XDivDiv (const PlatesCore &plates_core, bool use_threads=true, std::ostream &output=std::cout)
 Constructor. More...
 
const MeshHArDCore2D::XDivDiv::mesh () const
 Return the mesh. More...
 
const size_t & HArDCore2D::XDivDiv::degree () const
 

Variables

std::unique_ptr< PolyBasisCellTypeHArDCore2D::PlatesCore::CellBases::Polykp1
 
std::unique_ptr< PolyBasisCellTypeHArDCore2D::PlatesCore::CellBases::Polykm2
 
std::unique_ptr< Poly2BasisCellTypeHArDCore2D::PlatesCore::CellBases::Poly2km1
 
std::unique_ptr< PolySymBasisCellTypeHArDCore2D::PlatesCore::CellBases::PolySymkm1
 
std::unique_ptr< HolyBasisCellTypeHArDCore2D::PlatesCore::CellBases::Holykm4
 
std::unique_ptr< HolyComplBasisCellTypeHArDCore2D::PlatesCore::CellBases::HolyComplkm1
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore2D::PlatesCore::EdgeBases::Polykm1
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore2D::PlatesCore::EdgeBases::Polykm2
 
std::unique_ptr< PolyBasisEdgeTypeHArDCore2D::PlatesCore::EdgeBases::Polykm3
 
Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::divdiv
 
Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::divdiv_rhs
 
Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::potential
 

Detailed Description

Classes providing tools to the DDR sequence for plates.

Typedef Documentation

◆ ConstitutiveLawType

typedef std::function<Eigen::Matrix2d(const Eigen::Matrix2d &)> HArDCore2D::XDivDiv::ConstitutiveLawType

◆ EdgeFunctionType

typedef std::function<double(const Eigen::Vector2d &, const Edge &)> HArDCore2D::XDivDiv::EdgeFunctionType

◆ FunctionType

typedef std::function<Eigen::Matrix2d(const Eigen::Vector2d &)> HArDCore2D::XDivDiv::FunctionType

◆ FunctionValue

◆ GeometricSupport [1/2]

Geometric support.

◆ GeometricSupport [2/2]

Geometric support.

◆ HolyBasisCellType

◆ HolyComplBasisCellType

◆ Poly2BasisCellType

◆ PolyBasisCellType

◆ PolyBasisEdgeType

◆ PolySymBasisCellType

Function Documentation

◆ cellBases()

const CellBases& HArDCore2D::PlatesCore::cellBases ( size_t  iT) const
inline

Return cell bases for element iT.

◆ degree() [1/2]

const size_t& HArDCore2D::PlatesCore::degree ( ) const
inline

Return the polynomial degree.

◆ degree() [2/2]

const size_t& HArDCore2D::XDivDiv::degree ( ) const
inline

Return the polynomial degree. Notice that this is the degree of the complex, not of the space (the latter being \(k-1\))

◆ edgeBases()

const EdgeBases& HArDCore2D::PlatesCore::edgeBases ( size_t  iE) const
inline

Return edge bases for edge iE.

◆ function()

FunctionValue HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::function ( size_t  i) const
inline

◆ LocalOperators()

HArDCore2D::XDivDiv::LocalOperators::LocalOperators ( const Eigen::MatrixXd &  _divdiv,
const Eigen::MatrixXd &  _divdiv_rhs,
const Eigen::MatrixXd &  _potential 
)
inline
Parameters
_divdivDiv-div operator
_divdiv_rhsLinear form corresponding to the div-div operator
_potentialPotential operator

◆ mesh() [1/2]

const Mesh& HArDCore2D::PlatesCore::mesh ( ) const
inline

Return a const reference to the mesh.

◆ mesh() [2/2]

const Mesh& HArDCore2D::XDivDiv::mesh ( ) const
inline

Return the mesh.

◆ PlatesCore()

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

Constructor.

◆ size()

size_t HArDCore2D::XDivDiv::SymmetricMatrixBasisVertex::size ( ) const
inline

◆ SymmetricMatrixBasisVertex()

XDivDiv::SymmetricMatrixBasisVertex::SymmetricMatrixBasisVertex ( )

◆ XDivDiv()

XDivDiv::XDivDiv ( const PlatesCore plates_core,
bool  use_threads = true,
std::ostream &  output = std::cout 
)

Constructor.

Variable Documentation

◆ divdiv

Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::divdiv

◆ divdiv_rhs

Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::divdiv_rhs

◆ HolyComplkm1

std::unique_ptr<HolyComplBasisCellType> HArDCore2D::PlatesCore::CellBases::HolyComplkm1

◆ Holykm4

std::unique_ptr<HolyBasisCellType> HArDCore2D::PlatesCore::CellBases::Holykm4

◆ Poly2km1

std::unique_ptr<Poly2BasisCellType> HArDCore2D::PlatesCore::CellBases::Poly2km1

◆ Polykm1

std::unique_ptr<PolyBasisEdgeType> HArDCore2D::PlatesCore::EdgeBases::Polykm1

◆ Polykm2 [1/2]

std::unique_ptr<PolyBasisCellType> HArDCore2D::PlatesCore::CellBases::Polykm2

◆ Polykm2 [2/2]

std::unique_ptr<PolyBasisEdgeType> HArDCore2D::PlatesCore::EdgeBases::Polykm2

◆ Polykm3

std::unique_ptr<PolyBasisEdgeType> HArDCore2D::PlatesCore::EdgeBases::Polykm3

◆ Polykp1

std::unique_ptr<PolyBasisCellType> HArDCore2D::PlatesCore::CellBases::Polykp1

◆ PolySymkm1

std::unique_ptr<PolySymBasisCellType> HArDCore2D::PlatesCore::CellBases::PolySymkm1

◆ potential

Eigen::MatrixXd HArDCore2D::XDivDiv::LocalOperators::potential