|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Discrete Lie algebra valued H1 space: local operators, L2 product and global interpolator. More...
#include <laxgrad.hpp>


Classes | |
| struct | LocalOperators |
| A structure to store local operators (gradient and potential) More... | |
Public Types | |
| typedef std::function< double(const Eigen::Vector3d &)> | FunctionType |
| typedef std::vector< FunctionType > | LAFunctionType |
Public Member Functions | |
| LAXGrad (const LieAlgebra &lie_algebra, const XGrad &xgrad, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | mesh () const |
| Return the mesh. | |
| const size_t & | degree () const |
| Return the polynomial degree. | |
| Eigen::VectorXd | 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 LocalOperators & | edgeOperators (size_t iE) const |
| Return edge operators for the edge of index iE. | |
| const LocalOperators & | edgeOperators (const Edge &E) const |
| Return edge operators for edge E. | |
| const LocalOperators & | faceOperators (size_t iF) const |
| Return face operators for the face of index iF. | |
| const LocalOperators & | faceOperators (const Face &F) const |
| Return face operators for face F. | |
| const LocalOperators & | cellOperators (size_t iT) const |
| Return cell operators for the cell of index iT. | |
| const LocalOperators & | cellOperators (const Cell &T) const |
| Return cell operators for cell T. | |
| const DDRCore::CellBases & | cellBases (size_t iT) const |
| Return cell bases for the cell of index iT. | |
| const DDRCore::CellBases & | cellBases (const Cell &T) const |
| Return cell bases for cell T. | |
| const DDRCore::FaceBases & | faceBases (size_t iF) const |
| Return face bases for the face of index iF. | |
| const DDRCore::FaceBases & | faceBases (const Face &F) const |
| Return cell bases for face F. | |
| const DDRCore::EdgeBases & | edgeBases (size_t iE) const |
| Return edge bases for the edge of index iE. | |
| const DDRCore::EdgeBases & | edgeBases (const Edge &E) const |
| Return edge bases for edge E. | |
| Eigen::MatrixXd | 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. | |
Public Member Functions inherited from HArDCore3D::GlobalDOFSpace | |
| GlobalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, size_t n_local_cell_dofs) | |
| Constructor. | |
| size_t | globalOffset (const Vertex &V) const |
| Return the global offset for the unknowns on the vertex V. | |
| size_t | globalOffset (const Edge &E) const |
| Return the global offset for the unknowns on the edge E. | |
| size_t | globalOffset (const Face &F) const |
| Return the global offset for the unknowns on the face F. | |
| size_t | globalOffset (const Cell &T) const |
| Return the global offset for the unknowns on the cell T. | |
| size_t | globalOffset (size_t d, size_t i) const |
| Return the global offset for the unknows on the i-th element of dimension d. | |
| Eigen::VectorXd | restrictEdge (size_t iE, const Eigen::VectorXd &vh) const |
| Restrict to the edge (including its vertices) of index iE. | |
| Eigen::VectorXd | restrictFace (size_t iF, const Eigen::VectorXd &vh) const |
| Restrict to the face (including vertices and edges) of index iF. | |
| Eigen::VectorXd | restrictCell (size_t iT, const Eigen::VectorXd &vh) const |
| Restrict to the cell (including vertices, edges and faces) of index iT. | |
| Eigen::VectorXd | restrict (const Edge &E, const Eigen::VectorXd vh) const |
| Restrict to an edge. | |
| Eigen::VectorXd | restrict (const Face &F, const Eigen::VectorXd vh) const |
| Restrict to a face. | |
| Eigen::VectorXd | restrict (const Cell &T, const Eigen::VectorXd vh) const |
| Restrict to a cell. | |
| Eigen::MatrixXd | extendOperator (const Cell &T, const Face &F, const Eigen::MatrixXd &opF) const |
| Eigen::MatrixXd | extendOperator (const Cell &T, const Edge &E, const Eigen::MatrixXd &opE) const |
| Extend an edge operator to a cell. | |
| Eigen::MatrixXd | extendOperator (const Face &F, const Edge &E, const Eigen::MatrixXd &opE) const |
| Extend an edge operator to a face. | |
| Eigen::MatrixXd | extendOperator (size_t d1, size_t i1, size_t d2, size_t i2, const Eigen::MatrixXd &op) const |
| Generic extension operator from the i2-th d2-cell to the i1-th d1-cell. | |
| void | addInnerProductContribution (const Cell &T, const Face &F, Eigen::MatrixXd &prodT, const Eigen::MatrixXd &prodF) const |
| Takes an inner product prodF on a face F, and adds its contributions to the inner product prodT on the element T (distributes the contributions according to the DOFs as seen from T) | |
| std::vector< size_t > | globalDOFIndices (const Cell &T) const |
| Returns a vector listing the global DOFs attached to the element T: vertex DOFs, edge DOFs, face DOFs and element DOFs. | |
| std::vector< size_t > | globalDOFIndices (const Face &F) const |
| Returns a vector listing the global DOFs attached to the face F: vertex DOFs, edge DOFs, face DOFs. | |
Public Member Functions inherited from HArDCore3D::LocalDOFSpace | |
| LocalDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_face_dofs, size_t n_local_cell_dofs) | |
| Constructor. | |
| const Mesh & | mesh () const |
| Returns the mesh. | |
| size_t | numLocalDofsVertex () const |
| Returns the number of local vertex DOFs. | |
| size_t | numLocalDofsEdge () const |
| Returns the number of local edge DOFs. | |
| size_t | numLocalDofsFace () const |
| Returns the number of local face DOFs. | |
| size_t | numLocalDofsCell () const |
| Returns the number of local cell DOFs. | |
| size_t | numLocalDofs (size_t d) const |
| Returns the number of local d-cell DOFs. | |
| size_t | dimension () const |
| Returns the dimension of the global space (all DOFs for all geometric entities) | |
| size_t | dimensionVertex (const Vertex &V) const |
| Returns the dimension of the local space on the vertex V. | |
| size_t | dimensionVertex (size_t iV) const |
| Returns the dimension of the local space on the vertex of index iV. | |
| size_t | dimensionEdge (const Edge &E) const |
| Returns the dimension of the local space on the edge E (including vertices) | |
| size_t | dimensionEdge (size_t iE) const |
| Returns the dimension of the local space on the edge of index iE (including vertices) | |
| size_t | dimensionFace (const Face &F) const |
| Returns the dimension of the local space on the face F (including edges and vertices) | |
| size_t | dimensionFace (size_t iF) const |
| Returns the dimension of the local space on the face of index iF (including edges and vertices) | |
| size_t | dimensionCell (const Cell &T) const |
| Returns the dimension of the local space on the cell T (including faces, edges and vertices) | |
| 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) | |
| size_t | dimension (size_t d, size_t i) const |
| Returns the dimension of the local space on the d-cell of index i (including its boundary) | |
| size_t | localOffset (const Edge &E, const Vertex &V) const |
| Returns the local offset of the vertex V with respect to the edge E. | |
| size_t | localOffset (const Edge &E) const |
| Returns the local offset of the unknowns attached to the edge E. | |
| size_t | localOffset (const Face &F, const Vertex &V) const |
| Returns the local offset of the vertex V with respect to the face F. | |
| size_t | localOffset (const Face &F, const Edge &E) const |
| Returns the local offset of the edge E with respect to the face F. | |
| size_t | localOffset (const Face &F) const |
| Returns the local offset of the unknowns attached to the face F. | |
| size_t | localOffset (const Cell &T, const Vertex &V) const |
| Returns the local offset of the vertex V with respect to the cell T. | |
| size_t | localOffset (const Cell &T, const Edge &E) const |
| Returns the local offset of the edge E with respect to the cell T. | |
| size_t | localOffset (const Cell &T, const Face &F) const |
| Returns the local offset of the face F with respect to the cell T. | |
| size_t | localOffset (const Cell &T) const |
| Returns the local offset of the unknowns attached to the element T. | |
Additional Inherited Members | |
Protected Attributes inherited from HArDCore3D::LocalDOFSpace | |
| const Mesh & | m_mesh |
| size_t | m_n_local_vertex_dofs |
| size_t | m_n_local_edge_dofs |
| size_t | m_n_local_face_dofs |
| size_t | m_n_local_cell_dofs |
Discrete Lie algebra valued H1 space: local operators, L2 product and global interpolator.
Each DOF in the XGrad space corresponds to the dimension of the Lie algebra number of DOFs in the LAXGrad space. These DOFs are stored consecutively with overall ordering given by XGrad; they represent and are locally ordered by the basis in the LieAlgebra