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

Iterative solver wrapper for distributed linear systems. Plus de détails...

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

+ Graphe d'héritage de Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >:
+ Graphe de collaboration de Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >:

Classes

struct  params
 

Types publics

typedef IterativeSolver::BackendType backend_type
 
using BackendType = backend_type
 
typedef DistributedMatrix< typename Precond::BackendType > matrix
 
typedef backend_type::value_type value_type
 
typedef backend_type::params backend_params
 
typedef BuiltinBackend< value_type >::matrix build_matrix
 
typedef math::scalar_of< value_type >::type scalar_type
 

Fonctions membres publiques

template<class Matrix>
 DistributedPreconditionedSolver (mpi_communicator comm, const Matrix &A, const params &prm=params(), const backend_params &bprm=backend_params())
 
 DistributedPreconditionedSolver (mpi_communicator comm, std::shared_ptr< matrix > A, const params &prm=params(), const backend_params &bprm=backend_params())
 
template<class Backend>
 DistributedPreconditionedSolver (mpi_communicator comm, std::shared_ptr< DistributedMatrix< Backend > > A, const params &prm=params(), const backend_params &bprm=backend_params())
 
 DistributedPreconditionedSolver (mpi_communicator comm, std::shared_ptr< build_matrix > A, const params &prm=params(), const backend_params &bprm=backend_params())
 
template<class Matrix, class Vec1, class Vec2>
SolverResult operator() (const Matrix &A, const Vec1 &rhs, Vec2 &&x) const
 
template<class Vec1, class Vec2>
SolverResult operator() (const Vec1 &rhs, Vec2 &&x) const
 
template<class Vec1, class Vec2>
void apply (const Vec1 &rhs, Vec2 &&x) const
 
const Precond & precond () const
 
Precond & precond ()
 
const IterativeSolver & solver () const
 
std::shared_ptr< matrixsystem_matrix_ptr () const
 
const matrixsystem_matrix () const
 
void get_params (Alina::PropertyTree &p) const
 
size_t size () const
 

Attributs publics

struct Arcane::Alina::DistributedPreconditionedSolver::params prm
 

Attributs privés

size_t n
 
Precond P
 
IterativeSolver S
 

Amis

std::ostream & operator<< (std::ostream &os, const DistributedPreconditionedSolver &M)
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::Alina::detail::non_copyable
 non_copyable (non_copyable const &)=delete
 
void operator= (non_copyable const &x)=delete
 

Description détaillée

template<class Precond, class IterativeSolver>
class Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >

Iterative solver wrapper for distributed linear systems.

Définition à la ligne 44 du fichier DistributedPreconditionedSolver.h.

Documentation des définitions de type membres

◆ backend_params

template<class Precond, class IterativeSolver>
typedef backend_type::params Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::backend_params

Définition à la ligne 58 du fichier DistributedPreconditionedSolver.h.

◆ backend_type

template<class Precond, class IterativeSolver>
typedef IterativeSolver::BackendType Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::backend_type

Définition à la ligne 54 du fichier DistributedPreconditionedSolver.h.

◆ BackendType

template<class Precond, class IterativeSolver>
using Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::BackendType = backend_type

Définition à la ligne 55 du fichier DistributedPreconditionedSolver.h.

◆ build_matrix

template<class Precond, class IterativeSolver>
typedef BuiltinBackend<value_type>::matrix Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::build_matrix

Définition à la ligne 59 du fichier DistributedPreconditionedSolver.h.

◆ matrix

template<class Precond, class IterativeSolver>
typedef DistributedMatrix<typename Precond::BackendType> Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::matrix

Définition à la ligne 56 du fichier DistributedPreconditionedSolver.h.

◆ scalar_type

template<class Precond, class IterativeSolver>
typedef math::scalar_of<value_type>::type Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::scalar_type

Définition à la ligne 60 du fichier DistributedPreconditionedSolver.h.

◆ value_type

template<class Precond, class IterativeSolver>
typedef backend_type::value_type Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::value_type

Définition à la ligne 57 du fichier DistributedPreconditionedSolver.h.

Documentation des constructeurs et destructeur

◆ DistributedPreconditionedSolver() [1/4]

template<class Precond, class IterativeSolver>
template<class Matrix>
Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::DistributedPreconditionedSolver ( mpi_communicator comm,
const Matrix & A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 84 du fichier DistributedPreconditionedSolver.h.

◆ DistributedPreconditionedSolver() [2/4]

template<class Precond, class IterativeSolver>
Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::DistributedPreconditionedSolver ( mpi_communicator comm,
std::shared_ptr< matrix > A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 93 du fichier DistributedPreconditionedSolver.h.

◆ DistributedPreconditionedSolver() [3/4]

template<class Precond, class IterativeSolver>
template<class Backend>
Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::DistributedPreconditionedSolver ( mpi_communicator comm,
std::shared_ptr< DistributedMatrix< Backend > > A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 105 du fichier DistributedPreconditionedSolver.h.

◆ DistributedPreconditionedSolver() [4/4]

template<class Precond, class IterativeSolver>
Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::DistributedPreconditionedSolver ( mpi_communicator comm,
std::shared_ptr< build_matrix > A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

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

Documentation des fonctions membres

◆ apply()

template<class Precond, class IterativeSolver>
template<class Vec1, class Vec2>
void Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::apply ( const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 139 du fichier DistributedPreconditionedSolver.h.

◆ get_params()

template<class Precond, class IterativeSolver>
void Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::get_params ( Alina::PropertyTree & p) const
inline

Définition à la ligne 170 du fichier DistributedPreconditionedSolver.h.

◆ operator()() [1/2]

template<class Precond, class IterativeSolver>
template<class Matrix, class Vec1, class Vec2>
SolverResult Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::operator() ( const Matrix & A,
const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 127 du fichier DistributedPreconditionedSolver.h.

◆ operator()() [2/2]

template<class Precond, class IterativeSolver>
template<class Vec1, class Vec2>
SolverResult Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::operator() ( const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 133 du fichier DistributedPreconditionedSolver.h.

◆ precond() [1/2]

template<class Precond, class IterativeSolver>
Precond & Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::precond ( )
inline

Définition à la ligne 150 du fichier DistributedPreconditionedSolver.h.

◆ precond() [2/2]

template<class Precond, class IterativeSolver>
const Precond & Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::precond ( ) const
inline

Définition à la ligne 145 du fichier DistributedPreconditionedSolver.h.

◆ size()

template<class Precond, class IterativeSolver>
size_t Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::size ( ) const
inline

Définition à la ligne 175 du fichier DistributedPreconditionedSolver.h.

◆ solver()

template<class Precond, class IterativeSolver>
const IterativeSolver & Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::solver ( ) const
inline

Définition à la ligne 155 du fichier DistributedPreconditionedSolver.h.

◆ system_matrix()

template<class Precond, class IterativeSolver>
const matrix & Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::system_matrix ( ) const
inline

Définition à la ligne 165 du fichier DistributedPreconditionedSolver.h.

◆ system_matrix_ptr()

template<class Precond, class IterativeSolver>
std::shared_ptr< matrix > Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::system_matrix_ptr ( ) const
inline

Définition à la ligne 160 du fichier DistributedPreconditionedSolver.h.

Documentation des fonctions amies et associées

◆ operator<<

template<class Precond, class IterativeSolver>
std::ostream & operator<< ( std::ostream & os,
const DistributedPreconditionedSolver< Precond, IterativeSolver > & M )
friend

Définition à la ligne 180 du fichier DistributedPreconditionedSolver.h.

Documentation des données membres

◆ n

template<class Precond, class IterativeSolver>
size_t Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::n
private

Définition à la ligne 188 du fichier DistributedPreconditionedSolver.h.

◆ P

template<class Precond, class IterativeSolver>
Precond Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::P
private

Définition à la ligne 190 du fichier DistributedPreconditionedSolver.h.

◆ S

template<class Precond, class IterativeSolver>
IterativeSolver Arcane::Alina::DistributedPreconditionedSolver< Precond, IterativeSolver >::S
private

Définition à la ligne 191 du fichier DistributedPreconditionedSolver.h.


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