Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >

BiConjugate Gradient Stabilized (BiCGSTAB) method. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/BiCGStabSolver.h>

+ Graphe d'héritage de Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >:
+ Graphe de collaboration de Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >:

Types publics

using backend_type = Backend
 
using BackendType = Backend
 
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
 
using params = BiCGStabSolverParams
 

Fonctions membres publiques

 BiCGStabSolver (size_t n, const params &prm=params(), const backend_params &backend_prm=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 &A, const Precond &P, const Vec1 &rhs, Vec2 &&x) const
 
template<class Precond, class Vec1, class Vec2>
SolverResult operator() (const Precond &P, const Vec1 &rhs, Vec2 &&x) const
 
size_t bytes () const
 Memory used in bytes.
 

Attributs publics

params prm
 

Fonctions membres privées

template<class Vec>
scalar_type norm (const Vec &x) const
 

Attributs privés

size_t n
 
std::shared_ptr< vectorr
 
std::shared_ptr< vectorp
 
std::shared_ptr< vectorv
 
std::shared_ptr< vectors
 
std::shared_ptr< vectort
 
std::shared_ptr< vectorrh
 
std::shared_ptr< vectorT
 
InnerProduct inner_product
 

Amis

std::ostream & operator<< (std::ostream &os, const BiCGStabSolver &s)
 

Description détaillée

template<class Backend, class InnerProduct = detail::default_inner_product>
class Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >

BiConjugate Gradient Stabilized (BiCGSTAB) method.

The BiConjugate Gradient Stabilized method (Bi-CGSTAB) was developed to solve nonsymmetric linear systems while avoiding the often irregular convergence patterns of the Conjugate Gradient [Barr94]_.

Définition à la ligne 102 du fichier BiCGStabSolver.h.

Documentation des définitions de type membres

◆ backend_params

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend::params Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::backend_params

Définition à la ligne 112 du fichier BiCGStabSolver.h.

◆ backend_type

template<class Backend, class InnerProduct = detail::default_inner_product>
using Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::backend_type = Backend

Définition à la ligne 107 du fichier BiCGStabSolver.h.

◆ BackendType

template<class Backend, class InnerProduct = detail::default_inner_product>
using Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::BackendType = Backend

Définition à la ligne 108 du fichier BiCGStabSolver.h.

◆ coef_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef math::inner_product_impl<typenamemath::rhs_of<value_type>::type>::return_type Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::coef_type

Définition à la ligne 117 du fichier BiCGStabSolver.h.

◆ params

template<class Backend, class InnerProduct = detail::default_inner_product>
using Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::params = BiCGStabSolverParams

Définition à la ligne 119 du fichier BiCGStabSolver.h.

◆ scalar_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef math::scalar_of<value_type>::type Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::scalar_type

Définition à la ligne 114 du fichier BiCGStabSolver.h.

◆ value_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend::value_type Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::value_type

Définition à la ligne 111 du fichier BiCGStabSolver.h.

◆ vector

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend::vector Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::vector

Définition à la ligne 110 du fichier BiCGStabSolver.h.

Documentation des constructeurs et destructeur

◆ BiCGStabSolver()

template<class Backend, class InnerProduct = detail::default_inner_product>
Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::BiCGStabSolver ( size_t n,
const params & prm = params(),
const backend_params & backend_prm = backend_params(),
const InnerProduct & inner_product = InnerProduct() )
inline

Preallocates necessary data structures for the system of size n.

Définition à la ligne 122 du fichier BiCGStabSolver.h.

Documentation des fonctions membres

◆ bytes()

template<class Backend, class InnerProduct = detail::default_inner_product>
size_t Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::bytes ( ) const
inlinevirtual

Memory used in bytes.

Implémente Arcane::Alina::SolverBase.

Définition à la ligne 255 du fichier BiCGStabSolver.h.

◆ norm()

template<class Backend, class InnerProduct = detail::default_inner_product>
template<class Vec>
scalar_type Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::norm ( const Vec & x) const
inlineprivate

Définition à la ligne 293 du fichier BiCGStabSolver.h.

◆ operator()() [1/2]

template<class Backend, class InnerProduct = detail::default_inner_product>
template<class Matrix, class Precond, class Vec1, class Vec2>
SolverResult Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::operator() ( const Matrix & A,
const Precond & P,
const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 151 du fichier BiCGStabSolver.h.

◆ operator()() [2/2]

template<class Backend, class InnerProduct = detail::default_inner_product>
template<class Precond, class Vec1, class Vec2>
SolverResult Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::operator() ( const Precond & P,
const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 250 du fichier BiCGStabSolver.h.

Documentation des fonctions amies et associées

◆ operator<<

template<class Backend, class InnerProduct = detail::default_inner_product>
std::ostream & operator<< ( std::ostream & os,
const BiCGStabSolver< Backend, InnerProduct > & s )
friend

Définition à la ligne 266 du fichier BiCGStabSolver.h.

Documentation des données membres

◆ inner_product

template<class Backend, class InnerProduct = detail::default_inner_product>
InnerProduct Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::inner_product
private

Définition à la ligne 290 du fichier BiCGStabSolver.h.

◆ n

template<class Backend, class InnerProduct = detail::default_inner_product>
size_t Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::n
private

Définition à la ligne 280 du fichier BiCGStabSolver.h.

◆ p

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::p
private

Définition à la ligne 283 du fichier BiCGStabSolver.h.

◆ prm

template<class Backend, class InnerProduct = detail::default_inner_product>
params Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::prm

Définition à la ligne 276 du fichier BiCGStabSolver.h.

◆ r

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::r
private

Définition à la ligne 282 du fichier BiCGStabSolver.h.

◆ rh

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::rh
private

Définition à la ligne 287 du fichier BiCGStabSolver.h.

◆ s

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::s
private

Définition à la ligne 285 du fichier BiCGStabSolver.h.

◆ T

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::T
private

Définition à la ligne 288 du fichier BiCGStabSolver.h.

◆ t

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::t
private

Définition à la ligne 286 du fichier BiCGStabSolver.h.

◆ v

template<class Backend, class InnerProduct = detail::default_inner_product>
std::shared_ptr<vector> Arcane::Alina::BiCGStabSolver< Backend, InnerProduct >::v
private

Définition à la ligne 284 du fichier BiCGStabSolver.h.


La documentation de cette classe a été générée à partir du fichier suivant :