|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
#include <ddr_spaces.hpp>
Classes | |
| struct | DDR_function_type |
Public Member Functions | |
| DDR_Spaces (Mesh const &mesh, int r, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| const Mesh & | mesh () const |
| Return the mesh. | |
| int | degree () const |
| Return the polynomial degree. | |
| Eigen::VectorXd | interpolate (const DDR_function_type &, size_t k) const |
| Returns the interpolate of the given function as a k-form. | |
| const Eigen::MatrixXd & | full_diff (size_t k, size_t d, size_t i_cell) const |
| Returns \star d in PL(r,d-k-1,d), the Hodge star of the full discrete exterior derivative of a discrete k-form on the mesh element of dimension d with index i_cell. | |
| Eigen::MatrixXd | compose_diff (size_t k, size_t d, size_t i_cell) const |
| Returns \star \ul{d}^k in PLtrimmed(r,d-k-1,d) on the cell (including its boundary), the Hodge star of the discrete exterior derivative of a discrete k-form on the mesh element of dimension d with index i_cell (discrete subspace of X^{k+1}) | |
| const Eigen::MatrixXd & | potential (size_t k, size_t d, size_t i_cell) const |
| Returns \star P^k in PL(r,d-k,d), the Hodge star of the potential of a discrete k-form on the mesh element of dimension d with index i_cell. | |
| GlobalDOFSpace const & | dofspace (size_t k) const |
| Returns the dofspace associated to discrete k-forms. | |
| Eigen::Matrix< double,-1, 1, 0, 3, 1 > | evaluate_basis (Eigen::Vector3d const &x, size_t k, size_t d, size_t i_cell, Eigen::VectorXd const &b) const |
| Evaluate at point x, the sum of the coefficients b times the basis of PL(r,k,d) in the cell with index i_cell. | |
| Eigen::Matrix< double,-1, 1, 0, 3, 1 > | evaluate_basis (Eigen::Vector3d const &x, size_t k, size_t d, size_t i_cell, int i_basis) const |
| Evaluate at point x, the i th basis function of PL(r,k,d) in the cell with index i_cell. | |
| DDR_PEC::Kronecker | get_mass (size_t k, size_t d, size_t i_cell) const |
| Returns the mass matrix for the k-forms on the mesh element of dimension d with index i_cell. | |
| Eigen::Matrix< double,-1,-1, 0, 3, 3 > | get_hodge_star (size_t k, size_t d, size_t i_cell) const |
| Gets the continuous Hodge star on k forms on the mesh element of dimension d with index i. | |
| Eigen::MatrixXd | discrete_hodge_star (size_t k, size_t d, size_t i_cell) const |
| Takes a k form on the polynomial k basis to a d-k form on the d-k basis (deals with scaling) on the mesh element of dimension d with index i_cell. | |
| Eigen::MatrixXd | discrete_inv_hodge_star (size_t k, size_t d, size_t i_cell) const |
| e.g. discrete_inv_hodge_star(d-k, d, i_cell) * potential(k, d, i_cell) is the potential P^k in PL(r,k,d) | |
| Eigen::Matrix< double,-1,-1, 0, 3, 3 > | get_exterior_trace (size_t k, size_t d, size_t i_cell) const |
| Trace of a k form from the global space to the mesh element of dimension d with index i_cell. | |
| Eigen::MatrixXd | computeL2Product (size_t k, size_t i_cell, const double penalty_factor=0.1) const |
| Computes the L2 product for discrete k-forms on the highest dimensional cell with index i_cell. | |
| std::vector< VectorRd > | computeVertexValues (size_t k, const Eigen::VectorXd &u) const |
| Computes the averaged vertex values of a discrete k-form u using the potential. | |