Discrete Serendipity Hcurl space: local operators, L2 product and global interpolator.
More...
|
| | SXCurl (const DDRCore &ddr_core, const SerendipityProblem &ser_pro, 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 FunctionType &v, const int deg_quad=-1) const |
| | Interpolator of a continuous function.
|
| |
| const Eigen::MatrixXd & | ScurlCell (size_t iT) const |
| | Return the serendipity reconstruction for the cell of index iT.
|
| |
| const Eigen::MatrixXd & | EcurlCell (size_t iT) const |
| | Return the extension for the cell of index iT.
|
| |
| const Eigen::MatrixXd & | RcurlCell (size_t iT) const |
| | Return the reduction for the cell of index iT.
|
| |
| const Eigen::MatrixXd & | ScurlCell (const Cell &T) const |
| | Return the serendipity reconstruction for cell T.
|
| |
| const Eigen::MatrixXd & | EcurlCell (const Cell &T) const |
| | Return the extension for cell T.
|
| |
| const Eigen::MatrixXd & | RcurlCell (const Cell &T) const |
| | Return the reduction for cell T.
|
| |
| const Eigen::MatrixXd | cellCurl (size_t iT) const |
| | Return the full curl operator on the cell of index iT.
|
| |
| const Eigen::MatrixXd | cellCurl (const Cell &T) const |
| | Return the full curl operator on cell T.
|
| |
| const Eigen::MatrixXd | cellPotential (size_t iT) const |
| | Return the potential operator on the cell of index iT.
|
| |
| const Eigen::MatrixXd | cellPotential (const Cell &T) const |
| | Return the potential operator on cell T.
|
| |
| Eigen::MatrixXd | computeL2Product (const size_t iT, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk2_T=Eigen::MatrixXd::Zero(1, 1), const IntegralWeight &weight=IntegralWeight(1.)) const |
| | Compute the matrix of the (weighted) L2-product.
|
| |
| Eigen::MatrixXd | computeL2ProductGradient (const size_t iT, const SXGrad &sx_grad, const std::string &side, const double &penalty_factor=1., const Eigen::MatrixXd &mass_Pk2_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").
|
| |
| const DDRCore::CellBases & | cellBases (size_t iT) const |
| | Return cell bases for the face of index iT.
|
| |
| const DDRCore::CellBases & | cellBases (const Cell &T) const |
| | Return cell bases for cell T.
|
| |
| 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.
|
| |
| | VariableDOFSpace (const Mesh &mesh, const Eigen::VectorXd n_local_vertex_dofs, const Eigen::VectorXd n_local_edge_dofs, const Eigen::VectorXd n_local_cell_dofs) |
| | Constructor.
|
| |
| | VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, const Eigen::VectorXd n_local_edge_dofs, const Eigen::VectorXd n_local_cell_dofs) |
| | Simpler constructor if all vertices have the same number of DOFs.
|
| |
| | VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, const Eigen::VectorXd n_local_cell_dofs) |
| | Simpler constructor if all vertices/edges have the same number of DOFs.
|
| |
| | VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, size_t n_local_edge_dofs, size_t n_local_cell_dofs) |
| | Simpler constructor if all vertices/edges/cells have the same number of DOFs.
|
| |
| const Mesh & | mesh () const |
| | Returns the mesh.
|
| |
| size_t | numLocalDofsVertex (const size_t iV) const |
| | Returns the number of local DOFs on vertex of index iV.
|
| |
| size_t | numLocalDofsVertex (const Vertex &V) const |
| | Returns the number of local DOFs on vertex V.
|
| |
| size_t | numLocalDofsEdge (const size_t iE) const |
| | Returns the number of local DOFs on edge of index iE.
|
| |
| size_t | numLocalDofsEdge (const Edge &E) const |
| | Returns the number of local DOFs on edge E.
|
| |
| size_t | numLocalDofsCell (const size_t iT) const |
| | Returns the number of local DOFs on cell of index iT.
|
| |
| size_t | numLocalDofsCell (const Cell &T) const |
| | Returns the number of local DOFs on cell T.
|
| |
| size_t | nDOFs_vertices () const |
| | Total number of vertices DOFs.
|
| |
| size_t | nDOFs_edges () const |
| | Total number of edges DOFs.
|
| |
| size_t | nDOFs_cells () const |
| | Total number of cells 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 | 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 | 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 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 |
| | Returns the local offset of the unknowns attached to the element T.
|
| |
| 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 Cell &T) const |
| | Return the global offset for the unknowns on the cell T.
|
| |
| Eigen::VectorXd | restrictEdge (size_t iE, const Eigen::VectorXd &vh) const |
| | Restrict to the edge (including its vertices) of index iE.
|
| |
| 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 Cell &T, const Eigen::VectorXd vh) const |
| | Restrict to a cell.
|
| |
| Eigen::MatrixXd | extendOperator (const Cell &T, const Edge &E, const Eigen::MatrixXd &opE) const |
| | Extend an edge operator to a cell.
|
| |
| 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 Edge &E) const |
| | Returns a vector listing the global DOFs attached to the edge E: vertex DOFs, edge DOFs,.
|
| |
Discrete Serendipity Hcurl space: local operators, L2 product and global interpolator.
On each edge, the DOFs correspond to the polynomial bases on the edge provided by m_ddr_core. On each face/element, the DOFs are first those of the \(\mathcal{R}^{k-1}\) component and then of the \(\mathcal{R}^{c,\ell+1}\) component, each one of them following the bases of these spaces provided by m_ddr_core or restriction thereof.