|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
#include <ddr_pec.hpp>
Public Types | |
| typedef Eigen::KroneckerProduct< Eigen::MatrixXd, Eigen::MatrixXd > | Kronecker |
Public Member Functions | |
| DDR_PEC (Mesh const &mesh, int r, bool use_threads=true, std::ostream &output=std::cout) | |
| Constructor. | |
| Kronecker | get_mass (size_t k, size_t d, size_t i) const |
| Return the mass matrix for the k-forms on the i-th d-cell. | |
| Kronecker | get_trace (size_t k, size_t d, size_t i, size_t j) const |
| Return the trace for the k-forms on the i-th d-cell onto its j-th (d-1)-neighbour. | |
| const Eigen::MatrixXd & | get_diff (size_t l, size_t d) const |
| Getters for the generic operators matrices. | |
| const Eigen::MatrixXd & | get_Koszul (size_t l, size_t d) const |
| const Eigen::MatrixXd & | get_diff_as_degr (size_t l, size_t d) const |
| const Eigen::MatrixXd & | get_trimmed (size_t l, size_t d) const |
| const Eigen::MatrixXd & | get_reduced_Koszul_m1 (size_t l, size_t d) const |
| 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::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) * potential(k,d,i) is the potential P^k in PL(r,k,d) | |
| double | evaluate_scalar_basis (Eigen::Vector3d const &x, size_t d, size_t i_cell, int i_basis) const |
| 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. | |
| Eigen::Matrix< double,-1, 1, 0, 3, 1 > | evaluate_basis (Eigen::Vector3d const &x, size_t k, size_t d, size_t i, 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. | |
| double | get_scaling (size_t d, size_t i) const |
| Gets scaling of the i-th d-cell. | |