HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
Base class for global DOF spaces. More...
#include <variabledofspace.hpp>
Public Member Functions | |
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,. | |
Base class for global DOF spaces.
The DOFs are organised by increasing geometric entities dimensions: DOFs of vertices, DOFs of edges, DOFs of faces, DOFs of cells. This version allows for cases where the number of DOF on each mesh entity varies from one mesh entity to the next