|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Base class for global DOF spaces. More...
#include <variabledofspace.hpp>

Public Member Functions | |
| VariableDOFSpace (const Mesh &mesh, const Eigen::VectorXi n_local_vertex_dofs, const Eigen::VectorXi n_local_edge_dofs, const Eigen::VectorXi n_local_face_dofs, const Eigen::VectorXi n_local_cell_dofs) | |
| Constructor. | |
| VariableDOFSpace (const Mesh &mesh, size_t n_local_vertex_dofs, const Eigen::VectorXi n_local_edge_dofs, const Eigen::VectorXi n_local_face_dofs, const Eigen::VectorXi 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::VectorXi n_local_face_dofs, const Eigen::VectorXi 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_face_dofs, const Eigen::VectorXi n_local_cell_dofs) | |
| Simpler constructor if all vertices/edges/faces 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_face_dofs, size_t n_local_cell_dofs) | |
| Simpler constructor if all vertices/edges/faces/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 | numLocalDofsFace (const size_t iF) const |
| Returns the number of local DOFs on face of index iF. | |
| size_t | numLocalDofsFace (const Face &F) const |
| Returns the number of local DOFs on face F. | |
| 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_faces () const |
| Total number of faces 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 | 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 | 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. | |
| 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. | |
| 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. | |
| void | extendOperator (const Cell &T, const Face &F, Eigen::Ref< Eigen::MatrixXd > opT, const Eigen::MatrixXd &opF) const |
| Adds a face operator to a cell operator: distributes and adds the contributions from face F to the operator opT on element T (equivalent to opT + extendOperator(T, F, opF)). | |
| void | extendOperator (const Cell &T, const Edge &E, Eigen::MatrixXd &opT, const Eigen::MatrixXd &opE) const |
| Adds an edge operator to a cell. | |
| void | extendOperator (const Face &F, const Edge &E, Eigen::MatrixXd &opF, const Eigen::MatrixXd &opE) const |
| Adds an edge operator to a face. | |
| 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. | |
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