HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Public Types | Public Member Functions | List of all members
HArDCore2D::LEPNC_diffusion Class Reference

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 More...
 
using source_function_type = std::function< double(double, double, Cell *)>
 type for source More...
 
using grad_function_type = std::function< VectorRd(double, double, Cell *)>
 type for gradient More...
 
using tensor_function_type = std::function< Eigen::Matrix2d(double, double, Cell *)>
 type for diffusion tensor More...
 

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. More...
 
Eigen::VectorXd solve ()
 Assemble and solve the scheme. More...
 
double EnergyNorm (const Eigen::VectorXd Xh) const
 Discrete energy norm (associated to the diffusion operator) More...
 
double get_assembly_time () const
 cpu time to assemble the scheme More...
 
double get_solving_time () const
 cpu time to solve the scheme More...
 
double get_solving_error () const
 residual after solving the scheme More...
 
double get_itime (size_t idx) const
 various intermediate assembly times More...
 

Detailed Description

The LEPNC_diffusion class provides an implementation of the LEPNC method for the stationnary diffusion problem \(-div(K\nabla u)=f\).


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