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

CPR preconditioner with Dynamic Row Sum modification. Plus de détails...

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

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

Classes

struct  params
 

Types publics

typedef SPrecond::backend_type backend_type
 
typedef PPrecond::backend_type backend_type_p
 
typedef backend_type::value_type value_type
 
typedef math::scalar_of< value_type >::type scalar_type
 
typedef backend_type::matrix matrix
 
typedef backend_type::vector vector
 
typedef backend_type_p::value_type value_type_p
 
typedef backend_type_p::matrix matrix_p
 
typedef backend_type_p::vector vector_p
 
typedef backend_type::params backend_params
 
typedef BuiltinBackend< value_type >::matrix build_matrix
 
typedef BuiltinBackend< value_type_p >::matrix build_matrix_p
 

Fonctions membres publiques

template<class Matrix>
 CPRDynamicRowSumPreconditioner (const Matrix &K, const params &prm=params(), const backend_params &bprm=backend_params())
 
 CPRDynamicRowSumPreconditioner (std::shared_ptr< build_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< matrix > system_matrix_ptr () const
 
const matrix & system_matrix () const
 
template<class Matrix>
void partial_update (const Matrix &K, bool update_transfer_ops=true, const backend_params &bprm=backend_params())
 

Attributs publics

params prm
 

Fonctions membres privées

std::tuple< std::shared_ptr< build_matrix_p >, std::shared_ptr< build_matrix_p > > first_scalar_pass (std::shared_ptr< build_matrix > K, bool get_app=true)
 
void init (std::shared_ptr< build_matrix > K, const backend_params bprm, std::true_type)
 
void update_transfer (std::shared_ptr< build_matrix > K, const backend_params bprm, std::true_type)
 
void init (std::shared_ptr< build_matrix > K, const backend_params bprm, std::false_type)
 
void update_transfer (std::shared_ptr< build_matrix > K, const backend_params bprm, std::false_type)
 

Attributs privés

size_t n
 
size_t np
 
std::shared_ptr< PPrecond > P
 
std::shared_ptr< SPrecond > S
 
std::shared_ptr< matrix_p > Fpp
 
std::shared_ptr< matrix_p > Scatter
 
std::shared_ptr< vector > rs
 
std::shared_ptr< vector_p > rp
 
std::shared_ptr< vector_p > xp
 

Amis

std::ostream & operator<< (std::ostream &os, const CPRDynamicRowSumPreconditioner &p)
 

Description détaillée

template<class PPrecond, class SPrecond>
class Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >

CPR preconditioner with Dynamic Row Sum modification.

Définition à la ligne 46 du fichier CPRDynamicRowSumPreconditioner.h.

Documentation des définitions de type membres

◆ backend_params

template<class PPrecond, class SPrecond>
typedef backend_type::params Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::backend_params

Définition à la ligne 69 du fichier CPRDynamicRowSumPreconditioner.h.

◆ backend_type

template<class PPrecond, class SPrecond>
typedef SPrecond::backend_type Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::backend_type

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

◆ backend_type_p

template<class PPrecond, class SPrecond>
typedef PPrecond::backend_type Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::backend_type_p

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

◆ build_matrix

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

Définition à la ligne 71 du fichier CPRDynamicRowSumPreconditioner.h.

◆ build_matrix_p

template<class PPrecond, class SPrecond>
typedef BuiltinBackend<value_type_p>::matrix Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::build_matrix_p

Définition à la ligne 72 du fichier CPRDynamicRowSumPreconditioner.h.

◆ matrix

template<class PPrecond, class SPrecond>
typedef backend_type::matrix Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::matrix

Définition à la ligne 63 du fichier CPRDynamicRowSumPreconditioner.h.

◆ matrix_p

template<class PPrecond, class SPrecond>
typedef backend_type_p::matrix Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::matrix_p

Définition à la ligne 66 du fichier CPRDynamicRowSumPreconditioner.h.

◆ scalar_type

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

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

◆ value_type

template<class PPrecond, class SPrecond>
typedef backend_type::value_type Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::value_type

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

◆ value_type_p

template<class PPrecond, class SPrecond>
typedef backend_type_p::value_type Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::value_type_p

Définition à la ligne 65 du fichier CPRDynamicRowSumPreconditioner.h.

◆ vector

template<class PPrecond, class SPrecond>
typedef backend_type::vector Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::vector

Définition à la ligne 64 du fichier CPRDynamicRowSumPreconditioner.h.

◆ vector_p

template<class PPrecond, class SPrecond>
typedef backend_type_p::vector Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::vector_p

Définition à la ligne 67 du fichier CPRDynamicRowSumPreconditioner.h.

Documentation des constructeurs et destructeur

◆ CPRDynamicRowSumPreconditioner() [1/2]

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

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

◆ CPRDynamicRowSumPreconditioner() [2/2]

template<class PPrecond, class SPrecond>
Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::CPRDynamicRowSumPreconditioner ( std::shared_ptr< build_matrix > K,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 140 du fichier CPRDynamicRowSumPreconditioner.h.

Documentation des fonctions membres

◆ apply()

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

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

◆ first_scalar_pass()

template<class PPrecond, class SPrecond>
std::tuple< std::shared_ptr< build_matrix_p >, std::shared_ptr< build_matrix_p > > Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::first_scalar_pass ( std::shared_ptr< build_matrix > K,
bool get_app = true )
inlineprivate

Définition à la ligne 217 du fichier CPRDynamicRowSumPreconditioner.h.

◆ init() [1/2]

template<class PPrecond, class SPrecond>
void Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::init ( std::shared_ptr< build_matrix > K,
const backend_params bprm,
std::false_type  )
inlineprivate

Définition à la ligne 450 du fichier CPRDynamicRowSumPreconditioner.h.

◆ init() [2/2]

template<class PPrecond, class SPrecond>
void Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::init ( std::shared_ptr< build_matrix > K,
const backend_params bprm,
std::true_type  )
inlineprivate

Définition à la ligne 335 du fichier CPRDynamicRowSumPreconditioner.h.

◆ partial_update()

template<class PPrecond, class SPrecond>
template<class Matrix>
void Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::partial_update ( const Matrix & K,
bool update_transfer_ops = true,
const backend_params & bprm = backend_params() )
inline

Définition à la ligne 185 du fichier CPRDynamicRowSumPreconditioner.h.

◆ system_matrix()

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

Définition à la ligne 174 du fichier CPRDynamicRowSumPreconditioner.h.

◆ system_matrix_ptr()

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

Définition à la ligne 169 du fichier CPRDynamicRowSumPreconditioner.h.

◆ update_transfer() [1/2]

template<class PPrecond, class SPrecond>
void Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::update_transfer ( std::shared_ptr< build_matrix > K,
const backend_params bprm,
std::false_type  )
inlineprivate

Définition à la ligne 551 du fichier CPRDynamicRowSumPreconditioner.h.

◆ update_transfer() [2/2]

template<class PPrecond, class SPrecond>
void Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::update_transfer ( std::shared_ptr< build_matrix > K,
const backend_params bprm,
std::true_type  )
inlineprivate

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

Documentation des fonctions amies et associées

◆ operator<<

template<class PPrecond, class SPrecond>
std::ostream & operator<< ( std::ostream & os,
const CPRDynamicRowSumPreconditioner< PPrecond, SPrecond > & p )
friend

Définition à la ligne 615 du fichier CPRDynamicRowSumPreconditioner.h.

Documentation des données membres

◆ Fpp

template<class PPrecond, class SPrecond>
std::shared_ptr<matrix_p> Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::Fpp
private

Définition à la ligne 210 du fichier CPRDynamicRowSumPreconditioner.h.

◆ n

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

Définition à la ligne 205 du fichier CPRDynamicRowSumPreconditioner.h.

◆ np

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

Définition à la ligne 205 du fichier CPRDynamicRowSumPreconditioner.h.

◆ P

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

Définition à la ligne 207 du fichier CPRDynamicRowSumPreconditioner.h.

◆ prm

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

Définition à la ligne 201 du fichier CPRDynamicRowSumPreconditioner.h.

◆ rp

template<class PPrecond, class SPrecond>
std::shared_ptr<vector_p> Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::rp
private

Définition à la ligne 212 du fichier CPRDynamicRowSumPreconditioner.h.

◆ rs

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

Définition à la ligne 211 du fichier CPRDynamicRowSumPreconditioner.h.

◆ S

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

Définition à la ligne 208 du fichier CPRDynamicRowSumPreconditioner.h.

◆ Scatter

template<class PPrecond, class SPrecond>
std::shared_ptr<matrix_p> Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::Scatter
private

Définition à la ligne 210 du fichier CPRDynamicRowSumPreconditioner.h.

◆ xp

template<class PPrecond, class SPrecond>
std::shared_ptr<vector_p> Arcane::Alina::preconditioner::CPRDynamicRowSumPreconditioner< PPrecond, SPrecond >::xp
private

Définition à la ligne 212 du fichier CPRDynamicRowSumPreconditioner.h.


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