HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Classes | Public Types | Public Member Functions | List of all members
HArDCore2D::XDivDiv Class Reference

Discrete Hdivdiv space. More...

#include <xdivdiv.hpp>

Inheritance diagram for HArDCore2D::XDivDiv:
Inheritance graph
[legend]
Collaboration diagram for HArDCore2D::XDivDiv:
Collaboration graph
[legend]

Classes

struct  LocalOperators
 A structure to store the local operators (divdiv and potential) More...
 
struct  SymmetricMatrixBasisVertex
 Basis for the space of symmetric matrices. More...
 

Public Types

typedef std::function< Eigen::Matrix2d(const Eigen::Vector2d &)> FunctionType
 
typedef std::function< double(const Eigen::Vector2d &, const Edge &)> EdgeFunctionType
 
typedef std::function< Eigen::Matrix2d(const Eigen::Matrix2d &)> ConstitutiveLawType
 

Public Member Functions

 XDivDiv (const PlatesCore &plates_core, bool use_threads=true, std::ostream &output=std::cout)
 Constructor. More...
 
const Meshmesh () const
 Return the mesh. More...
 
const size_t & degree () const
 
- Public Member Functions inherited from HArDCore2D::GlobalDOFSpace
 GlobalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_cell_dofs)
 Constructor. More...
 
size_t globalOffset (const Vertex &V) const
 Return the global offset for the unknowns on the vertex V. More...
 
size_t globalOffset (const Edge &E) const
 Return the global offset for the unknowns on the edge E. More...
 
size_t globalOffset (const Cell &T) const
 Return the global offset for the unknowns on the cell T. More...
 
Eigen::VectorXd restrictEdge (size_t iE, const Eigen::VectorXd &vh) const
 Restrict to the edge (including its vertices) of index iE. More...
 
Eigen::VectorXd restrictCell (size_t iT, const Eigen::VectorXd &vh) const
 Restrict to the cell (including vertices and edges) of index iT. More...
 
Eigen::VectorXd restrict (const Edge &E, const Eigen::VectorXd vh) const
 Restrict to an edge. More...
 
Eigen::VectorXd restrict (const Cell &T, const Eigen::VectorXd vh) const
 Restrict to a cell. More...
 
Eigen::MatrixXd extendOperator (const Cell &T, const Edge &E, const Eigen::MatrixXd &opE) const
 Extend an edge operator to a cell. More...
 
std::vector< size_t > globalDOFIndices (const Cell &T) const
 
void setLabelDOF (const size_t i, const int label)
 Set a label to the DOF number i (default label is -1) More...
 
int getLabelDOF (const size_t i)
 Get label of DOF number i. More...
 
- Public Member Functions inherited from HArDCore2D::LocalDOFSpace
 LocalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_cell_dofs)
 Constructor. More...
 
const Meshmesh () const
 Returns the mesh. More...
 
size_t numLocalDofsVertex () const
 Returns the number of local vertex DOFs. More...
 
size_t numLocalDofsEdge () const
 Returns the number of local edge DOFs. More...
 
size_t numLocalDofsCell () const
 Returns the number of local cell DOFs. More...
 
size_t dimension () const
 Returns the dimension of the global space (all DOFs for all geometric entities) More...
 
size_t numTotalDofsVertices () const
 Returns the total number of vertex DOFs. More...
 
size_t numTotalDofsEdges () const
 Returns the total number of vertex DOFs. More...
 
size_t numTotalDofsCells () const
 Returns the total number of vertex DOFs. More...
 
size_t dimensionVertex (const Vertex &V) const
 Returns the dimension of the local space on the vertex V. More...
 
size_t dimensionVertex (size_t iV) const
 Returns the dimension of the local space on the vertex of index iV. More...
 
size_t dimensionEdge (const Edge &E) const
 Returns the dimension of the local space on the edge E (including vertices) More...
 
size_t dimensionEdge (size_t iE) const
 Returns the dimension of the local space on the edge of index iE (including vertices) More...
 
size_t dimensionCell (const Cell &T) const
 Returns the dimension of the local space on the cell T (including faces, edges and vertices) More...
 
size_t dimensionCellBoundary (const Cell &T) const
 Returns the dimension of the local space on the boundary of T. More...
 
size_t dimensionCell (size_t iT) const
 Returns the dimension of the local space on the cell of index iT (including faces, edges and vertices) More...
 
size_t dimensionCellBoundary (size_t iT) const
 Returns the dimension of the local space on the boundary of T. More...
 
size_t localOffset (const Edge &E, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the edge E. More...
 
size_t localOffset (const Edge &E) const
 Returns the local offset of the unknowns attached to the edge E. More...
 
size_t localOffset (const Cell &T, const Vertex &V) const
 Returns the local offset of the vertex V with respect to the cell T. More...
 
size_t localOffset (const Cell &T, const Edge &E) const
 Returns the local offset of the edge E with respect to the cell T. More...
 
size_t localOffset (const Cell &T) const
 Returns the local offset of the unknowns attached to the element T. More...
 

Additional Inherited Members

- Protected Attributes inherited from HArDCore2D::LocalDOFSpace
const Meshm_mesh
 
size_t m_n_local_vertex_dofs
 
size_t m_n_local_edge_dofs
 
size_t m_n_local_cell_dofs
 

Detailed Description

Discrete Hdivdiv space.

At each vertex, the DOFs are the coefficients on the basis "m_basis" (accessible via m_symm_vertex) of Symm. On each edge \(E\), the DOFs are \(\tau_E\) on \(P^{k-3}(E)\), then \(D_{E,\tau}\) on \(P^{k-2}(E)\). In each element \(T\), the DOFs are \(\tau_{\mathcal H,T}^c\) in \(\mathcal H^{c,k-1}(T)\), and then (if it exists) \(\tau_{\mathcal H,T}\) in \(\mathcal H^{k-4}(T)\).


The documentation for this class was generated from the following files: