HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
HArDCore3D::DDR_PEC Class Reference

#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.
 

The documentation for this class was generated from the following files: