Solver which only apply preconditioner once. Plus de détails...
Graphe d'héritage de Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >:
Graphe de collaboration de Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >:Types publics | |
| typedef Backend | backend_type |
| typedef Backend::vector | vector |
| typedef Backend::value_type | value_type |
| typedef Backend::params | backend_params |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef math::inner_product_impl< typenamemath::rhs_of< value_type >::type >::return_type | coef_type |
| typedef Alina::detail::empty_params | params |
| Solver parameters. | |
Fonctions membres publiques | |
| PreconditionerOnlySolver (size_t n, const params &=params(), const backend_params &=backend_params(), const InnerProduct &inner_product=InnerProduct()) | |
Preallocates necessary data structures for the system of size n. | |
| template<class Matrix, class Precond, class Vec1, class Vec2> | |
| SolverResult | operator() (const Matrix &, const Precond &P, const Vec1 &rhs, Vec2 &&x) const |
| Computes the solution for the given system matrix. | |
| template<class Precond, class Vec1, class Vec2> | |
| SolverResult | operator() (const Precond &P, const Vec1 &rhs, Vec2 &&x) const |
| Computes the solution for the given right-hand side. | |
| size_t | bytes () const |
| Memory used in bytes. | |
Fonctions membres privées | |
| template<class Vec> | |
| scalar_type | norm (const Vec &x) const |
Attributs privés | |
| size_t | n |
| InnerProduct | inner_product |
Amis | |
| std::ostream & | operator<< (std::ostream &os, const PreconditionerOnlySolver &s) |
Solver which only apply preconditioner once.
Définition à la ligne 41 du fichier PreconditionerOnlySolver.h.
| typedef Backend::params Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::backend_params |
Définition à la ligne 50 du fichier PreconditionerOnlySolver.h.
| typedef Backend Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::backend_type |
Définition à la ligne 46 du fichier PreconditionerOnlySolver.h.
| typedef math::inner_product_impl<typenamemath::rhs_of<value_type>::type>::return_type Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::coef_type |
Définition à la ligne 55 du fichier PreconditionerOnlySolver.h.
| typedef Alina::detail::empty_params Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::params |
Solver parameters.
Définition à la ligne 58 du fichier PreconditionerOnlySolver.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::scalar_type |
Définition à la ligne 52 du fichier PreconditionerOnlySolver.h.
| typedef Backend::value_type Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::value_type |
Définition à la ligne 49 du fichier PreconditionerOnlySolver.h.
| typedef Backend::vector Arcane::Alina::PreconditionerOnlySolver< Backend, InnerProduct >::vector |
Définition à la ligne 48 du fichier PreconditionerOnlySolver.h.
|
inline |
Preallocates necessary data structures for the system of size n.
Définition à la ligne 61 du fichier PreconditionerOnlySolver.h.
|
inlinevirtual |
Memory used in bytes.
Implémente Arcane::Alina::SolverBase.
Définition à la ligne 107 du fichier PreconditionerOnlySolver.h.
|
inlineprivate |
Définition à la ligne 128 du fichier PreconditionerOnlySolver.h.
|
inline |
Computes the solution for the given system matrix.
Computes the solution for the given system matrix A and the right-hand side rhs. Returns the number of iterations made and the achieved residual as a std::tuple. The solution vector x provides initial approximation in input and holds the computed solution on output.
The system matrix may differ from the matrix used during initialization. This may be used for the solution of non-stationary problems with slowly changing coefficients. There is a strong chance that a preconditioner built for a time step will act as a reasonably good preconditioner for several subsequent time steps [DeSh12]_.
Définition à la ligne 85 du fichier PreconditionerOnlySolver.h.
|
inline |
Computes the solution for the given right-hand side.
Computes the solution for the given right-hand side rhs. The system matrix is the same that was used for the setup of the preconditioner P. Returns the number of iterations made and the achieved residual as a std::tuple. The solution vector x provides initial approximation in input and holds the computed solution on output.
Définition à la ligne 102 du fichier PreconditionerOnlySolver.h.
|
friend |
Définition à la ligne 112 du fichier PreconditionerOnlySolver.h.
|
private |
Définition à la ligne 125 du fichier PreconditionerOnlySolver.h.
|
private |
Définition à la ligne 123 du fichier PreconditionerOnlySolver.h.