Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::AsDistributedPreconditioner< Relaxation > Struct Template Reference

Use a relaxation as a distributed preconditioner. More...

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

Collaboration diagram for Arcane::Alina::AsDistributedPreconditioner< Relaxation >:

Public Types

typedef Relaxation::params params
typedef Relaxation::BackendType backend_type
using BackendType = backend_type
typedef backend_type::params backend_params
typedef backend_type::value_type value_type
typedef math::scalar_of< value_type >::type scalar_type
typedef DistributedMatrix< backend_type > matrix
typedef backend_type::vector vector

Public Member Functions

template<class Matrix>
 AsDistributedPreconditioner (mpi_communicator comm, const Matrix &A, const params &prm=params(), const backend_params &bprm=backend_params())
 AsDistributedPreconditioner (mpi_communicator, std::shared_ptr< matrix > A, 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

Private Attributes

std::shared_ptr< matrix > A
Relaxation S

Friends

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

Detailed Description

template<class Relaxation>
struct Arcane::Alina::AsDistributedPreconditioner< Relaxation >

Use a relaxation as a distributed preconditioner.

Definition at line 291 of file DistributedRelaxation.h.

Member Typedef Documentation

◆ backend_params

template<class Relaxation>
typedef backend_type::params Arcane::Alina::AsDistributedPreconditioner< Relaxation >::backend_params

Definition at line 296 of file DistributedRelaxation.h.

◆ backend_type

template<class Relaxation>
typedef Relaxation::BackendType Arcane::Alina::AsDistributedPreconditioner< Relaxation >::backend_type

Definition at line 294 of file DistributedRelaxation.h.

◆ BackendType

template<class Relaxation>
using Arcane::Alina::AsDistributedPreconditioner< Relaxation >::BackendType = backend_type

Definition at line 295 of file DistributedRelaxation.h.

◆ matrix

template<class Relaxation>
typedef DistributedMatrix<backend_type> Arcane::Alina::AsDistributedPreconditioner< Relaxation >::matrix

Definition at line 299 of file DistributedRelaxation.h.

◆ params

template<class Relaxation>
typedef Relaxation::params Arcane::Alina::AsDistributedPreconditioner< Relaxation >::params

Definition at line 293 of file DistributedRelaxation.h.

◆ scalar_type

template<class Relaxation>
typedef math::scalar_of<value_type>::type Arcane::Alina::AsDistributedPreconditioner< Relaxation >::scalar_type

Definition at line 298 of file DistributedRelaxation.h.

◆ value_type

template<class Relaxation>
typedef backend_type::value_type Arcane::Alina::AsDistributedPreconditioner< Relaxation >::value_type

Definition at line 297 of file DistributedRelaxation.h.

◆ vector

template<class Relaxation>
typedef backend_type::vector Arcane::Alina::AsDistributedPreconditioner< Relaxation >::vector

Definition at line 300 of file DistributedRelaxation.h.

Constructor & Destructor Documentation

◆ AsDistributedPreconditioner() [1/2]

template<class Relaxation>
template<class Matrix>
Arcane::Alina::AsDistributedPreconditioner< Relaxation >::AsDistributedPreconditioner ( mpi_communicator comm,
const Matrix & A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Definition at line 303 of file DistributedRelaxation.h.

◆ AsDistributedPreconditioner() [2/2]

template<class Relaxation>
Arcane::Alina::AsDistributedPreconditioner< Relaxation >::AsDistributedPreconditioner ( mpi_communicator ,
std::shared_ptr< matrix > A,
const params & prm = params(),
const backend_params & bprm = backend_params() )
inline

Definition at line 313 of file DistributedRelaxation.h.

Member Function Documentation

◆ apply()

template<class Relaxation>
template<class Vec1, class Vec2>
void Arcane::Alina::AsDistributedPreconditioner< Relaxation >::apply ( const Vec1 & rhs,
Vec2 && x ) const
inline

Definition at line 324 of file DistributedRelaxation.h.

◆ system_matrix()

template<class Relaxation>
const matrix & Arcane::Alina::AsDistributedPreconditioner< Relaxation >::system_matrix ( ) const
inline

Definition at line 334 of file DistributedRelaxation.h.

◆ system_matrix_ptr()

template<class Relaxation>
std::shared_ptr< matrix > Arcane::Alina::AsDistributedPreconditioner< Relaxation >::system_matrix_ptr ( ) const
inline

Definition at line 329 of file DistributedRelaxation.h.

◆ operator<<

template<class Relaxation>
std::ostream & operator<< ( std::ostream & os,
const AsDistributedPreconditioner< Relaxation > & p )
friend

Definition at line 344 of file DistributedRelaxation.h.

Member Data Documentation

◆ A

template<class Relaxation>
std::shared_ptr<matrix> Arcane::Alina::AsDistributedPreconditioner< Relaxation >::A
private

Definition at line 341 of file DistributedRelaxation.h.

◆ S

template<class Relaxation>
Relaxation Arcane::Alina::AsDistributedPreconditioner< Relaxation >::S
private

Definition at line 342 of file DistributedRelaxation.h.


The documentation for this struct was generated from the following file: