|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
#include <hybridcore.hpp>
Public Member Functions | |
| UVector (const Eigen::VectorXd values, const Mesh &mesh, const int cell_deg, const size_t face_deg) | |
| Eigen::VectorXd & | asVectorXd () const |
| Return the values as an Eigen vector. | |
| const int | get_cell_deg () const |
| Return the cell degree. | |
| const size_t | get_face_deg () const |
| Return the face degree. | |
| const size_t | n_cell_dofs () const |
| Number of dofs in each cell. | |
| const size_t | n_face_dofs () const |
| Number of dofs on each face. | |
| const size_t | n_total_cell_dofs () const |
| Total number of cell dofs (in the vector, this is where the face dofs start) | |
| Eigen::VectorXd | restr (size_t iT) const |
| Extract the restriction of the unknowns corresponding to cell iT and its faces. | |
| UVector | operator+ (const UVector &b) |
| Overloads the addition: adds the coefficients. | |
| UVector | operator- (const UVector &b) |
| Overloads the subtraction: subtracts the coefficients. | |
| double | operator() (size_t index) const |
| Overloads the (): returns the corresponding coefficient. | |
The UVector class describes a vector of unknowns for discrete functions defined by polynomials in the cells and polynomials on the faces (polynomials on the edges are not taken into account yet, but this can easily be changed). The class describes the respective degrees of cell and faces polynomials considered. In the values stored in an element of this class, the coefficients on the cell basis functions come first (in the order of the cells), and then all the face basis functions (in the order of the faces)