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

Distributed memory sparse approximate inverse relaxation scheme. Plus de détails...

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

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

Types publics

typedef Backend backend_type
 
using BackendType = backend_type
 
typedef Backend::params backend_params
 
typedef Alina::PropertyTree params
 

Fonctions membres publiques

 DistributedRelaxationRuntime (const DistributedMatrix< Backend > &A, params prm, 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
 
template<template< class > class Relaxation, class Matrix>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void * >::type call_constructor (const Matrix &A, const params &prm, const backend_params &bprm)
 
template<template< class > class Relaxation, class Matrix>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void * >::type 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
 

Attributs publics

eRelaxationType r
 
void * handle = nullptr
 

Description détaillée

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

Distributed memory sparse approximate inverse relaxation scheme.

Définition à la ligne 43 du fichier DistributedRelaxationRuntime.h.

Documentation des définitions de type membres

◆ backend_params

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

Définition à la ligne 47 du fichier DistributedRelaxationRuntime.h.

◆ backend_type

template<class Backend>
typedef Backend Arcane::Alina::DistributedRelaxationRuntime< Backend >::backend_type

Définition à la ligne 45 du fichier DistributedRelaxationRuntime.h.

◆ BackendType

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

◆ params

Définition à la ligne 48 du fichier DistributedRelaxationRuntime.h.

Documentation des constructeurs et destructeur

◆ DistributedRelaxationRuntime()

template<class Backend>
Arcane::Alina::DistributedRelaxationRuntime< Backend >::DistributedRelaxationRuntime ( const DistributedMatrix< Backend > & A,
params prm,
const backend_params & bprm = backend_params() )
inline

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

◆ ~DistributedRelaxationRuntime()

Documentation des fonctions membres

◆ apply()

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

Définition à la ligne 206 du fichier DistributedRelaxationRuntime.h.

◆ apply_post()

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

Définition à la ligne 167 du fichier DistributedRelaxationRuntime.h.

◆ apply_pre()

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

Définition à la ligne 128 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply ( const Matrix & ,
const VectorRHS & ,
VectorX &  ) const
inline

Définition à la ligne 295 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x ) const
inline

Définition à la ligne 288 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply_post ( const Matrix & ,
const VectorRHS & ,
VectorX & ,
VectorTMP &  ) const
inline

Définition à la ligne 281 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply_post ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP & tmp ) const
inline

Définition à la ligne 274 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply_pre ( const Matrix & ,
const VectorRHS & ,
VectorX & ,
VectorTMP &  ) const
inline

Définition à la ligne 267 du fichier DistributedRelaxationRuntime.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::DistributedRelaxationRuntime< Backend >::call_apply_pre ( const Matrix & A,
const VectorRHS & rhs,
VectorX & x,
VectorTMP & tmp ) const
inline

Définition à la ligne 260 du fichier DistributedRelaxationRuntime.h.

◆ call_constructor() [1/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix>
std::enable_if<!backend::relaxation_is_supported< Backend, Relaxation >::value, void * >::type Arcane::Alina::DistributedRelaxationRuntime< Backend >::call_constructor ( const Matrix & ,
const params & ,
const backend_params &  )
inline

Définition à la ligne 253 du fichier DistributedRelaxationRuntime.h.

◆ call_constructor() [2/2]

template<class Backend>
template<template< class > class Relaxation, class Matrix>
std::enable_if< backend::relaxation_is_supported< Backend, Relaxation >::value, void * >::type Arcane::Alina::DistributedRelaxationRuntime< Backend >::call_constructor ( const Matrix & A,
const params & prm,
const backend_params & bprm )
inline

Définition à la ligne 246 du fichier DistributedRelaxationRuntime.h.

Documentation des données membres

◆ handle

template<class Backend>
void* Arcane::Alina::DistributedRelaxationRuntime< Backend >::handle = nullptr

Définition à la ligne 51 du fichier DistributedRelaxationRuntime.h.

◆ r

template<class Backend>
eRelaxationType Arcane::Alina::DistributedRelaxationRuntime< Backend >::r

Définition à la ligne 50 du fichier DistributedRelaxationRuntime.h.


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