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

Runtime configurable relaxation. Plus de détails...

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

+ Graphe de collaboration de Arcane::Alina::RelaxationRuntime< Backend >:

Types publics

typedef Alina::PropertyTree params
 
typedef Backend::params backend_params
 

Fonctions membres publiques

template<class Matrix>
 RelaxationRuntime (const Matrix &A, params prm=params(), const backend_params &bprm=backend_params())
 
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void apply_pre (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const
 
template<class Matrix, class VectorRHS, class VectorX, class VectorTMP>
void apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const
 
template<class Matrix, class VectorRHS, class VectorX>
void apply (const Matrix &A, const VectorRHS &rhs, VectorX &x) const
 
size_t bytes () const
 
template<template< class > class Relaxation, class Matrix>
std::enable_if_t< backend::relaxation_is_supported< Backend, Relaxation >::value, RelaxationBase * > call_constructor (const Matrix &A, const params &prm, const backend_params &bprm)
 
template<template< class > class Relaxation, class Matrix>
std::enable_if_t<!backend::relaxation_is_supported< Backend, Relaxation >::value, RelaxationBase * > call_constructor (const Matrix &, const params &, const backend_params &)
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply_pre (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply_pre (const Matrix &, const VectorRHS &, VectorX &, VectorTMP &) const
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply_post (const Matrix &, const VectorRHS &, VectorX &, VectorTMP &) const
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply (const Matrix &A, const VectorRHS &rhs, VectorX &x) const
 
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type call_apply (const Matrix &, const VectorRHS &, VectorX &) const
 
void _throwBadTypeType () const
 
void _throwUnsupportedBackendType () const
 

Attributs privés

eRelaxationType m_relaxation_type = eRelaxationType::SPAI0Relaxation
 
RelaxationBasem_relaxation = nullptr
 

Description détaillée

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

Runtime configurable relaxation.

Définition à la ligne 91 du fichier RelaxationRuntime.h.

Documentation des définitions de type membres

◆ backend_params

template<class Backend>
typedef Backend::params Arcane::Alina::RelaxationRuntime< Backend >::backend_params

Définition à la ligne 94 du fichier RelaxationRuntime.h.

◆ params

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

Documentation des constructeurs et destructeur

◆ RelaxationRuntime()

template<class Backend>
template<class Matrix>
Arcane::Alina::RelaxationRuntime< Backend >::RelaxationRuntime ( const Matrix & A,
params prm = params(),
const backend_params & bprm = backend_params() )
inlineexplicit

Définition à la ligne 97 du fichier RelaxationRuntime.h.

◆ ~RelaxationRuntime()

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

Documentation des fonctions membres

◆ _throwBadTypeType()

template<class Backend>
void Arcane::Alina::RelaxationRuntime< Backend >::_throwBadTypeType ( ) const
inline

Définition à la ligne 242 du fichier RelaxationRuntime.h.

◆ _throwUnsupportedBackendType()

template<class Backend>
void Arcane::Alina::RelaxationRuntime< Backend >::_throwUnsupportedBackendType ( ) const
inline

Définition à la ligne 247 du fichier RelaxationRuntime.h.

◆ apply()

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

Définition à la ligne 163 du fichier RelaxationRuntime.h.

◆ apply_post()

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

Définition à la ligne 144 du fichier RelaxationRuntime.h.

◆ apply_pre()

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

Définition à la ligne 125 du fichier RelaxationRuntime.h.

◆ bytes()

template<class Backend>
size_t Arcane::Alina::RelaxationRuntime< Backend >::bytes ( ) const
inline

Définition à la ligne 181 du fichier RelaxationRuntime.h.

◆ call_apply() [1/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply ( const Matrix & ,
const VectorRHS & ,
VectorX &  ) const
inline

Définition à la ligne 237 du fichier RelaxationRuntime.h.

◆ call_apply() [2/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x ) const
inline

Définition à la ligne 230 du fichier RelaxationRuntime.h.

◆ call_apply_post() [1/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply_post ( const Matrix & ,
const VectorRHS & ,
VectorX & ,
VectorTMP &  ) const
inline

Définition à la ligne 223 du fichier RelaxationRuntime.h.

◆ call_apply_post() [2/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply_post ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP & tmp ) const
inline

Définition à la ligne 216 du fichier RelaxationRuntime.h.

◆ call_apply_pre() [1/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply_pre ( const Matrix & ,
const VectorRHS & ,
VectorX & ,
VectorTMP &  ) const
inline

Définition à la ligne 209 du fichier RelaxationRuntime.h.

◆ call_apply_pre() [2/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix, class VectorRHS, class VectorX, class VectorTMP>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void >::type Arcane::Alina::RelaxationRuntime< Backend >::call_apply_pre ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP & tmp ) const
inline

Définition à la ligne 202 du fichier RelaxationRuntime.h.

◆ call_constructor() [1/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix>
std::enable_if_t<!backend::relaxation_is_supported< Backend, Relaxation >::value, RelaxationBase * > Arcane::Alina::RelaxationRuntime< Backend >::call_constructor ( const Matrix & ,
const params & ,
const backend_params &  )
inline

Définition à la ligne 195 du fichier RelaxationRuntime.h.

◆ call_constructor() [2/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix>
std::enable_if_t< backend::relaxation_is_supported< Backend, Relaxation >::value, RelaxationBase * > Arcane::Alina::RelaxationRuntime< Backend >::call_constructor ( const Matrix & A,
const params & prm,
const backend_params & bprm )
inline

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

Documentation des données membres

◆ m_relaxation

template<class Backend>
RelaxationBase* Arcane::Alina::RelaxationRuntime< Backend >::m_relaxation = nullptr
private

Définition à la ligne 257 du fichier RelaxationRuntime.h.

◆ m_relaxation_type

template<class Backend>
eRelaxationType Arcane::Alina::RelaxationRuntime< Backend >::m_relaxation_type = eRelaxationType::SPAI0Relaxation
private

Définition à la ligne 256 du fichier RelaxationRuntime.h.


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