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

Distributed CPR preconditioner. Plus de détails...

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

+ Graphe de collaboration de Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >:

Classes

struct  params
 

Types publics

using BackendType = PPrecond::BackendType
 
typedef BackendType::value_type value_type
 
typedef math::scalar_of< value_type >::type scalar_type
 
typedef BackendType::matrix bmatrix
 
typedef BackendType::vector vector
 
typedef BackendType::params backend_params
 
typedef DistributedMatrix< BackendType > matrix
 
typedef BuiltinBackend< value_type >::matrix build_matrix
 

Fonctions membres publiques

template<class Matrix>
 DistributedCPRPreconditioner (mpi_communicator comm, const Matrix &K, const params &prm=params(), const backend_params &bprm=backend_params())
 
 DistributedCPRPreconditioner (mpi_communicator comm, std::shared_ptr< matrix > K, const params &prm=params(), const backend_params &bprm=backend_params())
 
template<class Vec1, class Vec2>
void apply (const Vec1 &rhs, Vec2 &&x) const
 
std::shared_ptr< matrixsystem_matrix_ptr () const
 
const matrixsystem_matrix () const
 

Attributs publics

params prm
 

Fonctions membres privées

void init (std::shared_ptr< matrix > K, const backend_params &bprm)
 
void invert (multi_array< value_type, 2 > &A, value_type *y)
 

Attributs privés

mpi_communicator comm
 
size_t n
 
size_t np
 
std::shared_ptr< PPrecond > P
 
std::shared_ptr< SPrecond > S
 
std::shared_ptr< bmatrix > Fpp
 
std::shared_ptr< bmatrix > Scatter
 
std::shared_ptr< vector > rp
 
std::shared_ptr< vector > xp
 
std::shared_ptr< vector > rs
 

Amis

template<class P, class S>
std::ostream & operator<< (std::ostream &os, const DistributedCPRPreconditioner< P, S > &cpr)
 

Description détaillée

template<class PPrecond, class SPrecond>
class Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >

Distributed CPR preconditioner.

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

Documentation des définitions de type membres

◆ backend_params

template<class PPrecond, class SPrecond>
typedef BackendType::params Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::backend_params

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

◆ BackendType

template<class PPrecond, class SPrecond>
using Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::BackendType = PPrecond::BackendType

Définition à la ligne 53 du fichier DistributedCPRPreconditioner.h.

◆ bmatrix

template<class PPrecond, class SPrecond>
typedef BackendType::matrix Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::bmatrix

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

◆ build_matrix

template<class PPrecond, class SPrecond>
typedef BuiltinBackend<value_type>::matrix Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::build_matrix

Définition à la ligne 62 du fichier DistributedCPRPreconditioner.h.

◆ matrix

template<class PPrecond, class SPrecond>
typedef DistributedMatrix<BackendType> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::matrix

Définition à la ligne 61 du fichier DistributedCPRPreconditioner.h.

◆ scalar_type

template<class PPrecond, class SPrecond>
typedef math::scalar_of<value_type>::type Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::scalar_type

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

◆ value_type

template<class PPrecond, class SPrecond>
typedef BackendType::value_type Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::value_type

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

◆ vector

template<class PPrecond, class SPrecond>
typedef BackendType::vector Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::vector

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

Documentation des constructeurs et destructeur

◆ DistributedCPRPreconditioner() [1/2]

template<class PPrecond, class SPrecond>
template<class Matrix>
Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::DistributedCPRPreconditioner ( mpi_communicator comm,
const Matrix & K,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

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

◆ DistributedCPRPreconditioner() [2/2]

template<class PPrecond, class SPrecond>
Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::DistributedCPRPreconditioner ( mpi_communicator comm,
std::shared_ptr< matrix > K,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 104 du fichier DistributedCPRPreconditioner.h.

Documentation des fonctions membres

◆ apply()

template<class PPrecond, class SPrecond>
template<class Vec1, class Vec2>
void Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::apply ( const Vec1 & rhs,
Vec2 && x ) const
inline

Définition à la ligne 116 du fichier DistributedCPRPreconditioner.h.

◆ init()

template<class PPrecond, class SPrecond>
void Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::init ( std::shared_ptr< matrix > K,
const backend_params & bprm )
inlineprivate

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

◆ invert()

template<class PPrecond, class SPrecond>
void Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::invert ( multi_array< value_type, 2 > & A,
value_type * y )
inlineprivate

Définition à la ligne 444 du fichier DistributedCPRPreconditioner.h.

◆ system_matrix()

template<class PPrecond, class SPrecond>
const matrix & Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::system_matrix ( ) const
inline

Définition à la ligne 135 du fichier DistributedCPRPreconditioner.h.

◆ system_matrix_ptr()

template<class PPrecond, class SPrecond>
std::shared_ptr< matrix > Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::system_matrix_ptr ( ) const
inline

Définition à la ligne 130 du fichier DistributedCPRPreconditioner.h.

Documentation des fonctions amies et associées

◆ operator<<

template<class PPrecond, class SPrecond>
template<class P, class S>
std::ostream & operator<< ( std::ostream & os,
const DistributedCPRPreconditioner< P, S > & cpr )
friend

Définition à la ligne 477 du fichier DistributedCPRPreconditioner.h.

Documentation des données membres

◆ comm

template<class PPrecond, class SPrecond>
mpi_communicator Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::comm
private

Définition à la ligne 146 du fichier DistributedCPRPreconditioner.h.

◆ Fpp

template<class PPrecond, class SPrecond>
std::shared_ptr<bmatrix> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::Fpp
private

Définition à la ligne 152 du fichier DistributedCPRPreconditioner.h.

◆ n

template<class PPrecond, class SPrecond>
size_t Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::n
private

Définition à la ligne 147 du fichier DistributedCPRPreconditioner.h.

◆ np

template<class PPrecond, class SPrecond>
size_t Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::np
private

Définition à la ligne 147 du fichier DistributedCPRPreconditioner.h.

◆ P

template<class PPrecond, class SPrecond>
std::shared_ptr<PPrecond> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::P
private

Définition à la ligne 149 du fichier DistributedCPRPreconditioner.h.

◆ prm

template<class PPrecond, class SPrecond>
params Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::prm

Définition à la ligne 142 du fichier DistributedCPRPreconditioner.h.

◆ rp

template<class PPrecond, class SPrecond>
std::shared_ptr<vector> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::rp
private

Définition à la ligne 153 du fichier DistributedCPRPreconditioner.h.

◆ rs

template<class PPrecond, class SPrecond>
std::shared_ptr<vector> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::rs
private

Définition à la ligne 153 du fichier DistributedCPRPreconditioner.h.

◆ S

template<class PPrecond, class SPrecond>
std::shared_ptr<SPrecond> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::S
private

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

◆ Scatter

template<class PPrecond, class SPrecond>
std::shared_ptr<bmatrix> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::Scatter
private

Définition à la ligne 152 du fichier DistributedCPRPreconditioner.h.

◆ xp

template<class PPrecond, class SPrecond>
std::shared_ptr<vector> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::xp
private

Définition à la ligne 153 du fichier DistributedCPRPreconditioner.h.


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