HHO scheme for diffusion equation -div(Diff grad u)=f, with Diff possibly varying in each cell.
More...
|
| | HArDCore2D::HHO_LocVarDiff::HHO_LocVarDiff (HybridCore &hho, size_t K, int L, CellFType< MatrixRd > kappa, size_t deg_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_LocVarDiff::assemble (HybridCore &hho) |
| | Assemble and solve the scheme.
|
| |
| UVector | HArDCore2D::HHO_LocVarDiff::solve (HybridCore &hho) |
| |
| double | HArDCore2D::HHO_LocVarDiff::EnergyNorm (HybridCore &hho, const UVector Xh) |
| | Discrete energy norm (associated to the diffusion operator) of an hybrid function.
|
| |
| Eigen::SparseMatrix< double > | HArDCore2D::HHO_LocVarDiff::get_SysMat () |
| | Return the (statically condensed) matrix system.
|
| |
| double | HArDCore2D::HHO_LocVarDiff::get_assembly_time () const |
| | cpu time to assemble the scheme
|
| |
| double | HArDCore2D::HHO_LocVarDiff::get_solving_time () const |
| | cpu time to solve the scheme
|
| |
| double | HArDCore2D::HHO_LocVarDiff::get_solving_error () const |
| | residual after solving the scheme
|
| |
| double | HArDCore2D::HHO_LocVarDiff::get_itime (size_t idx) const |
| | various intermediate assembly times
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_nlocal_cell_dofs () |
| | Number of DOFs in each cell.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_nlocal_edge_dofs () |
| | Number of DOFs on each edge.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_nhighorder_dofs () |
| | Number of DOFs per cell for high-order (K+1) polynomials.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_ntotal_cell_dofs () |
| | Total number of cell DOFs over the entire mesh.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_ntotal_edge_dofs () |
| | Total number of edge DOFs over the entire mesh.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_ndir_edge_dofs () |
| | Total number of edge DOFs for Dirichlet edges.
|
| |
| const size_t | HArDCore2D::HHO_LocVarDiff::get_ntotal_dofs () |
| | Total number of degrees of freedom over the entire mesh.
|
| |
HHO scheme for diffusion equation -div(Diff grad u)=f, with Diff possibly varying in each cell.
◆ assemble()
| void HArDCore2D::HHO_LocVarDiff::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_LocVarDiff::get_assembly_time |
( |
| ) |
const |
|
inline |
cpu time to assemble the scheme
◆ get_itime()
| double HArDCore2D::HHO_LocVarDiff::get_itime |
( |
size_t |
idx | ) |
const |
|
inline |
various intermediate assembly times
◆ get_ndir_edge_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_ndir_edge_dofs |
( |
| ) |
|
|
inline |
Total number of edge DOFs for Dirichlet edges.
◆ get_nhighorder_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_nhighorder_dofs |
( |
| ) |
|
|
inline |
Number of DOFs per cell for high-order (K+1) polynomials.
◆ get_nlocal_cell_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_nlocal_cell_dofs |
( |
| ) |
|
|
inline |
Number of DOFs in each cell.
◆ get_nlocal_edge_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_nlocal_edge_dofs |
( |
| ) |
|
|
inline |
Number of DOFs on each edge.
◆ get_ntotal_cell_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_ntotal_cell_dofs |
( |
| ) |
|
|
inline |
Total number of cell DOFs over the entire mesh.
◆ get_ntotal_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_ntotal_dofs |
( |
| ) |
|
|
inline |
Total number of degrees of freedom over the entire mesh.
◆ get_ntotal_edge_dofs()
| const size_t HArDCore2D::HHO_LocVarDiff::get_ntotal_edge_dofs |
( |
| ) |
|
|
inline |
Total number of edge DOFs over the entire mesh.
◆ get_solving_error()
| double HArDCore2D::HHO_LocVarDiff::get_solving_error |
( |
| ) |
const |
|
inline |
residual after solving the scheme
◆ get_solving_time()
| double HArDCore2D::HHO_LocVarDiff::get_solving_time |
( |
| ) |
const |
|
inline |
cpu time to solve the scheme
◆ get_SysMat()
| Eigen::SparseMatrix< double > HArDCore2D::HHO_LocVarDiff::get_SysMat |
( |
| ) |
|
|
inline |
Return the (statically condensed) matrix system.
◆ HHO_LocVarDiff()
| HArDCore2D::HHO_LocVarDiff::HHO_LocVarDiff |
( |
HybridCore & |
hho, |
|
|
size_t |
K, |
|
|
int |
L, |
|
|
CellFType< MatrixRd > |
kappa, |
|
|
size_t |
deg_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 |
| deg_kappa | polynomial degree of the 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()