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

Gauss-Seidel relaxation. Plus de détails...

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

+ Graphe d'héritage de Arcane::Alina::GaussSeidelRelaxation< Backend >:
+ Graphe de collaboration de Arcane::Alina::GaussSeidelRelaxation< Backend >:

Classes

struct  parallel_sweep
 
struct  params
 Relaxation parameters. Plus de détails...
 

Fonctions membres publiques

template<class Matrix>
 GaussSeidelRelaxation (const Matrix &A, const params &prm, const typename Backend::params &)
 Constructs smoother for the system matrix.
 
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void apply_pre (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &) const
 Apply pre-relaxation.
 
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &) const
 Apply post-relaxation.
 
template<class Matrix, class VectorRHS, class VectorX>
void apply (const Matrix &A, const VectorRHS &rhs, VectorX &x) const
 
size_t bytes () const
 Memory used in bytes.
 

Attributs publics

bool is_serial
 

Fonctions membres privées statiques

template<class Matrix, class VectorRHS, class VectorX>
static void serial_sweep (const Matrix &A, const VectorRHS &rhs, VectorX &x, bool forward)
 

Attributs privés

std::shared_ptr< parallel_sweep< true > > forward
 
std::shared_ptr< parallel_sweep< false > > backward
 

Description détaillée

template<class Backend>
struct Arcane::Alina::GaussSeidelRelaxation< Backend >

Gauss-Seidel relaxation.

Note
This is a serial relaxation and is only applicable to backends that support matrix row iteration (e.g. BuiltinBackend or EigenBackend).
Paramètres
BackendBackend for temporary structures allocation.

Définition à la ligne 508 du fichier Relaxation.h.

Documentation des constructeurs et destructeur

◆ GaussSeidelRelaxation()

template<class Backend>
template<class Matrix>
Arcane::Alina::GaussSeidelRelaxation< Backend >::GaussSeidelRelaxation ( const Matrix & A,
const params & prm,
const typename Backend::params &  )
inline

Constructs smoother for the system matrix.

Paramètres
AThe system matrix.
prmRelaxation parameters.
backend_prmBackend parameters.

Définition à la ligne 537 du fichier Relaxation.h.

Documentation des fonctions membres

◆ apply()

template<class Backend>
template<class Matrix, class VectorRHS, class VectorX>
void Arcane::Alina::GaussSeidelRelaxation< Backend >::apply ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x ) const
inline

Définition à la ligne 567 du fichier Relaxation.h.

◆ apply_post()

template<class Backend>
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void Arcane::Alina::GaussSeidelRelaxation< Backend >::apply_post ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP &  ) const
inline

Apply post-relaxation.

Paramètres
ASystem matrix.
rhsRight-hand side.
xSolution vector.
tmpScratch vector.
prmRelaxation parameters.

Définition à la ligne 558 du fichier Relaxation.h.

◆ apply_pre()

template<class Backend>
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void Arcane::Alina::GaussSeidelRelaxation< Backend >::apply_pre ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP &  ) const
inline

Apply pre-relaxation.

Paramètres
ASystem matrix.
rhsRight-hand side.
xSolution vector.
tmpScratch vector.
prmRelaxation parameters.

Définition à la ligne 548 du fichier Relaxation.h.

◆ bytes()

template<class Backend>
size_t Arcane::Alina::GaussSeidelRelaxation< Backend >::bytes ( ) const
inlinevirtual

Memory used in bytes.

Implémente Arcane::Alina::RelaxationBase.

Définition à la ligne 580 du fichier Relaxation.h.

◆ serial_sweep()

template<class Backend>
template<class Matrix, class VectorRHS, class VectorX>
static void Arcane::Alina::GaussSeidelRelaxation< Backend >::serial_sweep ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
bool forward )
inlinestaticprivate

Définition à la ligne 593 du fichier Relaxation.h.

Documentation des données membres

◆ backward

template<class Backend>
std::shared_ptr<parallel_sweep<false> > Arcane::Alina::GaussSeidelRelaxation< Backend >::backward
private

Définition à la ligne 819 du fichier Relaxation.h.

◆ forward

template<class Backend>
std::shared_ptr<parallel_sweep<true> > Arcane::Alina::GaussSeidelRelaxation< Backend >::forward
private

Définition à la ligne 818 du fichier Relaxation.h.

◆ is_serial

template<class Backend>
bool Arcane::Alina::GaussSeidelRelaxation< Backend >::is_serial

Définition à la ligne 533 du fichier Relaxation.h.


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