HHO scheme for diffusion equation \(-div(K\nabla u)=f\), with \(K\) piecewise constant.
More...
|
| HArDCore2D::HHO_Diffusion::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 | HArDCore2D::HHO_Diffusion::assemble (HybridCore &hho) |
| Assemble and solve the scheme.
|
|
UVector | HArDCore2D::HHO_Diffusion::solve (HybridCore &hho) |
|
double | HArDCore2D::HHO_Diffusion::EnergyNorm (HybridCore &hho, const UVector Xh) |
| Discrete energy norm (associated to the diffusion operator) of an hybrid function.
|
|
Eigen::SparseMatrix< double > | HArDCore2D::HHO_Diffusion::get_SysMat () |
| Return the (statically condensed) matrix system.
|
|
double | HArDCore2D::HHO_Diffusion::get_assembly_time () const |
| cpu time to assemble the scheme
|
|
double | HArDCore2D::HHO_Diffusion::get_solving_time () const |
| cpu time to solve the scheme
|
|
double | HArDCore2D::HHO_Diffusion::get_solving_error () const |
| residual after solving the scheme
|
|
double | HArDCore2D::HHO_Diffusion::get_itime (size_t idx) const |
| various intermediate assembly times
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_nlocal_cell_dofs () |
| Number of DOFs in each cell.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_nlocal_edge_dofs () |
| Number of DOFs on each edge.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_nhighorder_dofs () |
| Number of DOFs per cell for high-order (K+1) polynomials.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_ntotal_cell_dofs () |
| Total number of cell DOFs over the entire mesh.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_ntotal_edge_dofs () |
| Total number of edge DOFs over the entire mesh.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_ndir_edge_dofs () |
| Total number of edge DOFs for Dirichlet edges.
|
|
const size_t | HArDCore2D::HHO_Diffusion::get_ntotal_dofs () |
| Total number of degrees of freedom over the entire mesh.
|
|
HHO scheme for diffusion equation \(-div(K\nabla u)=f\), with \(K\) piecewise constant.
◆ assemble()
void HArDCore2D::HHO_Diffusion::assemble |
( |
HybridCore & |
hho | ) |
|
Assemble and solve the scheme.
◆ EnergyNorm()
Discrete energy norm (associated to the diffusion operator) of an hybrid function.
◆ get_assembly_time()
double HArDCore2D::HHO_Diffusion::get_assembly_time |
( |
| ) |
const |
|
inline |
cpu time to assemble the scheme
◆ get_itime()
double HArDCore2D::HHO_Diffusion::get_itime |
( |
size_t |
idx | ) |
const |
|
inline |
various intermediate assembly times
◆ get_ndir_edge_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_ndir_edge_dofs |
( |
| ) |
|
|
inline |
Total number of edge DOFs for Dirichlet edges.
◆ get_nhighorder_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_nhighorder_dofs |
( |
| ) |
|
|
inline |
Number of DOFs per cell for high-order (K+1) polynomials.
◆ get_nlocal_cell_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_nlocal_cell_dofs |
( |
| ) |
|
|
inline |
Number of DOFs in each cell.
◆ get_nlocal_edge_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_nlocal_edge_dofs |
( |
| ) |
|
|
inline |
Number of DOFs on each edge.
◆ get_ntotal_cell_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_ntotal_cell_dofs |
( |
| ) |
|
|
inline |
Total number of cell DOFs over the entire mesh.
◆ get_ntotal_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_ntotal_dofs |
( |
| ) |
|
|
inline |
Total number of degrees of freedom over the entire mesh.
◆ get_ntotal_edge_dofs()
const size_t HArDCore2D::HHO_Diffusion::get_ntotal_edge_dofs |
( |
| ) |
|
|
inline |
Total number of edge DOFs over the entire mesh.
◆ get_solving_error()
double HArDCore2D::HHO_Diffusion::get_solving_error |
( |
| ) |
const |
|
inline |
residual after solving the scheme
◆ get_solving_time()
double HArDCore2D::HHO_Diffusion::get_solving_time |
( |
| ) |
const |
|
inline |
cpu time to solve the scheme
◆ get_SysMat()
Eigen::SparseMatrix< double > HArDCore2D::HHO_Diffusion::get_SysMat |
( |
| ) |
|
|
inline |
Return the (statically condensed) matrix system.
◆ HHO_Diffusion()
HArDCore2D::HHO_Diffusion::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.
- Parameters
-
hho | reference to the mesh |
K | degree of polynomials on edges |
L | degree of polynomials in cells |
kappa | diffusion tensor |
source | source term |
BC | type of boundary conditions |
exact_solution | exact solution |
grad_exact_solution | gradient of the exact solution |
solver_type | type of solver to use for the global system (bicgstab at the moment) |
use_threads | optional argument determining if local parallelisation is to be used |
output | optional argument for output of messages |
◆ solve()