|
HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
The LEPNC_diffusion class provides an implementation of the LEPNC method for the stationnary diffusion problem \(-div(K\nabla u)=f\). More...
#include <LEPNC_diffusion.hpp>
Public Types | |
| using | solution_function_type = std::function< double(double, double)> |
| type for solution | |
| using | source_function_type = std::function< double(double, double, Cell *)> |
| type for source | |
| using | grad_function_type = std::function< VectorRd(double, double, Cell *)> |
| type for gradient | |
| using | tensor_function_type = std::function< Eigen::Matrix2d(double, double, Cell *)> |
| type for diffusion tensor | |
Public Member Functions | |
| LEPNC_diffusion (LEPNCCore &nc, tensor_function_type kappa, size_t deg_kappa, source_function_type source, BoundaryConditions BC, solution_function_type exact_solution, grad_function_type grad_exact_solution, std::string solver_type, std::ostream &output=std::cout) | |
| Constructor of the class. | |
| Eigen::VectorXd | solve () |
| Assemble and solve the scheme. | |
| double | EnergyNorm (const Eigen::VectorXd Xh) const |
| Discrete energy norm (associated to the diffusion operator) | |
| 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 | |
The LEPNC_diffusion class provides an implementation of the LEPNC method for the stationnary diffusion problem \(-div(K\nabla u)=f\).