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 | Public Types | Public Member Functions | List of all members
HArDCore3D::LAXCurl Class Reference

Discrete Lie algebra valued Hcurl space. More...

#include <laxcurl.hpp>

Inheritance diagram for HArDCore3D::LAXCurl:
Inheritance graph
[legend]
Collaboration diagram for HArDCore3D::LAXCurl:
Collaboration graph
[legend]

Classes

struct  LocalOperators
 A structure to store the local operators (curl and potential) More...
 

Public Types

typedef std::function< Eigen::Vector3d(const Eigen::Vector3d &)> FunctionType
 
typedef std::vector< FunctionTypeLAFunctionType
 

Public Member Functions

const LieAlgebralieAlgebra () const
 Returns the Lie algebra.
 
const XCurlxCurl () const
 Returns the space XCurl.
 
 LAXCurl (const LieAlgebra &lie_algebra, const XCurl &xcurl, bool use_threads=true, std::ostream &output=std::cout)
 Constructor.
 
const Meshmesh () const
 Return the mesh.
 
const size_tdegree () const
 Return the polynomial degree.
 
Eigen::VectorXd interpolate (const LAFunctionType &v, const int doe_cell=-1, const int doe_face=-1, const int doe_edge=-1) const
 Interpolator of a continuous Lie algebra valued function decomposed on the basis of the LieAlgebra, given as a vector of functions.
 
const LocalOperatorscellOperators (size_t iT) const
 Return cell operators for the cell of index iT.
 
const LocalOperatorscellOperators (const Cell &T) const
 Return cell operators for cell T.
 
const LocalOperatorsfaceOperators (size_t iF) const
 Return face operators for the face of index iF.
 
const LocalOperatorsfaceOperators (const Face &F) const
 Return face operators for face F.
 
const DDRCore::CellBasescellBases (size_t iT) const
 Return cell bases for the face of index iT.
 
const DDRCore::CellBasescellBases (const Cell &T) const
 Return cell bases for cell T.
 
const DDRCore::FaceBasesfaceBases (size_t iF) const
 Return face bases for the face of index iF.
 
const DDRCore::FaceBasesfaceBases (const Face &F) const
 Return cell bases for face F.
 
const DDRCore::EdgeBasesedgeBases (size_t iE) const
 Return edge bases for the edge of index iE.
 
const DDRCore::EdgeBasesedgeBases (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_Pk3_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const
 
Eigen::MatrixXd computeL2ProductGradient (const size_t iT, const XGrad &x_grad, const std::string &side, 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 as 'computeL2Product', with application of the discrete gradient on the left/right/both sides (depending on argument "side").
 
- 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_tglobalDOFIndices (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_tglobalDOFIndices (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 Meshmesh () 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 Meshm_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
 

Detailed Description

Discrete Lie algebra valued Hcurl space.

Each DOF in the XCurl space corresponds to the dimension of the Lie algebra number of DOFs in the LAXCurl space. These DOFs are stored consecutively with overall ordering given by XCurl; they represent and are locally ordered by the basis in the LieAlgebra


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