HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
The HHO_Diffusion class provides tools to implement the HHO method for the diffusion problem. More...
#include <HHO_Diffusion.hpp>
Public Member Functions | |
HHO_Diffusion (HybridCore &hho, size_t K, int L, CellFType< MatrixRd > kappa, CellFType< double > source, BoundaryConditions BC, FType< double > exact_solution, CellFType< VectorRd > grad_exact_solution, std::string solver_type, bool use_threads, std::ostream &output=std::cout) | |
Constructor of the class. | |
void | assemble (HybridCore &hho) |
Assemble and solve the scheme. | |
UVector | solve (HybridCore &hho) |
double | EnergyNorm (HybridCore &hho, const UVector Xh) |
Discrete energy norm (associated to the diffusion operator) of an hybrid function. | |
Eigen::SparseMatrix< double > | get_SysMat () |
Return the (statically condensed) matrix system. | |
double | get_assembly_time () const |
cpu time to assemble the scheme | |
double | get_solving_time () const |
cpu time to solve the scheme | |
double | get_solving_error () const |
residual after solving the scheme | |
double | get_itime (size_t idx) const |
various intermediate assembly times | |
const size_t | get_nlocal_cell_dofs () |
Number of DOFs in each cell. | |
const size_t | get_nlocal_edge_dofs () |
Number of DOFs on each edge. | |
const size_t | get_nhighorder_dofs () |
Number of DOFs per cell for high-order (K+1) polynomials. | |
const size_t | get_ntotal_cell_dofs () |
Total number of cell DOFs over the entire mesh. | |
const size_t | get_ntotal_edge_dofs () |
Total number of edge DOFs over the entire mesh. | |
const size_t | get_ndir_edge_dofs () |
Total number of edge DOFs for Dirichlet edges. | |
const size_t | get_ntotal_dofs () |
Total number of degrees of freedom over the entire mesh. | |
The HHO_Diffusion class provides tools to implement the HHO method for the diffusion problem.