Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::DistributedPreconditioner< Backend > Class Template Reference

Distributed Preconditioner. More...

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

Collaboration diagram for Arcane::Alina::DistributedPreconditioner< Backend >:

Public Types

using backend_type = Backend
using BackendType = Backend
typedef backend_type::params backend_params
typedef PropertyTree params
typedef backend_type::value_type value_type
typedef DistributedMatrix< backend_type > matrix
using AMGPrecondType

Public Member Functions

template<class Matrix>
 DistributedPreconditioner (mpi_communicator comm, const Matrix &Astrip, params prm=params(), const backend_params &bprm=backend_params())
 DistributedPreconditioner (mpi_communicator, std::shared_ptr< matrix > A, params prm=params(), const backend_params &bprm=backend_params())
template<class Matrix>
void rebuild (const Matrix &A, 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
 Returns the system matrix from the finest level.
const matrix & system_matrix () const

Private Member Functions

void init (std::shared_ptr< matrix > A, params &prm, const backend_params &bprm)

Private Attributes

eDistributedPreconditionerType _class
void * handle

Friends

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

Detailed Description

template<class Backend>
class Arcane::Alina::DistributedPreconditioner< Backend >

Distributed Preconditioner.

Definition at line 88 of file DistributedPreconditioner.h.

Member Typedef Documentation

◆ AMGPrecondType

◆ backend_params

template<class Backend>
typedef backend_type::params Arcane::Alina::DistributedPreconditioner< Backend >::backend_params

Definition at line 94 of file DistributedPreconditioner.h.

◆ backend_type

template<class Backend>
using Arcane::Alina::DistributedPreconditioner< Backend >::backend_type = Backend

Definition at line 92 of file DistributedPreconditioner.h.

◆ BackendType

template<class Backend>
using Arcane::Alina::DistributedPreconditioner< Backend >::BackendType = Backend

Definition at line 93 of file DistributedPreconditioner.h.

◆ matrix

template<class Backend>
typedef DistributedMatrix<backend_type> Arcane::Alina::DistributedPreconditioner< Backend >::matrix

Definition at line 97 of file DistributedPreconditioner.h.

◆ params

template<class Backend>
typedef PropertyTree Arcane::Alina::DistributedPreconditioner< Backend >::params

Definition at line 95 of file DistributedPreconditioner.h.

◆ value_type

template<class Backend>
typedef backend_type::value_type Arcane::Alina::DistributedPreconditioner< Backend >::value_type

Definition at line 96 of file DistributedPreconditioner.h.

Constructor & Destructor Documentation

◆ DistributedPreconditioner() [1/2]

template<class Backend>
template<class Matrix>
Arcane::Alina::DistributedPreconditioner< Backend >::DistributedPreconditioner ( mpi_communicator comm,
const Matrix & Astrip,
params prm = params(),
const backend_params & bprm = backend_params() )
inline

Definition at line 106 of file DistributedPreconditioner.h.

◆ DistributedPreconditioner() [2/2]

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

Definition at line 116 of file DistributedPreconditioner.h.

◆ ~DistributedPreconditioner()

template<class Backend>
Arcane::Alina::DistributedPreconditioner< Backend >::~DistributedPreconditioner ( )
inline

Definition at line 126 of file DistributedPreconditioner.h.

Member Function Documentation

◆ apply()

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

Definition at line 158 of file DistributedPreconditioner.h.

◆ init()

template<class Backend>
void Arcane::Alina::DistributedPreconditioner< Backend >::init ( std::shared_ptr< matrix > A,
params & prm,
const backend_params & bprm )
inlineprivate

Definition at line 217 of file DistributedPreconditioner.h.

◆ rebuild()

template<class Backend>
template<class Matrix>
void Arcane::Alina::DistributedPreconditioner< Backend >::rebuild ( const Matrix & A,
const backend_params & bprm = backend_params() )
inline

Definition at line 144 of file DistributedPreconditioner.h.

◆ system_matrix()

template<class Backend>
const matrix & Arcane::Alina::DistributedPreconditioner< Backend >::system_matrix ( ) const
inline

Definition at line 191 of file DistributedPreconditioner.h.

◆ system_matrix_ptr()

template<class Backend>
std::shared_ptr< matrix > Arcane::Alina::DistributedPreconditioner< Backend >::system_matrix_ptr ( ) const
inline

Returns the system matrix from the finest level.

Definition at line 175 of file DistributedPreconditioner.h.

References system_matrix_ptr().

Referenced by system_matrix_ptr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<<

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

Definition at line 196 of file DistributedPreconditioner.h.

Member Data Documentation

◆ _class

template<class Backend>
eDistributedPreconditionerType Arcane::Alina::DistributedPreconditioner< Backend >::_class
private

Definition at line 214 of file DistributedPreconditioner.h.

◆ handle

template<class Backend>
void* Arcane::Alina::DistributedPreconditioner< Backend >::handle
private

Definition at line 215 of file DistributedPreconditioner.h.


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