Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::SolverRuntime< Backend, InnerProduct > Struct Template Reference

Runtime-configurable wrappers around iterative solvers. More...

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

Collaboration diagram for Arcane::Alina::SolverRuntime< Backend, InnerProduct >:

Public Types

typedef PropertyTree params
typedef Backend::params backend_params
typedef Backend::value_type value_type
typedef math::scalar_of< value_type >::type scalar_type
typedef Backend backend_type
using BackendType = backend_type

Public Member Functions

 SolverRuntime (size_t n, params prm=params(), const backend_params &bprm=backend_params(), const InnerProduct &inner_product=InnerProduct())
template<class Matrix, class Precond, class Vec1, class Vec2>
SolverResult operator() (const Matrix &A, const Precond &P, const Vec1 &rhs, Vec2 &&x) const
template<class Precond, class Vec1, class Vec2>
SolverResult operator() (const Precond &P, const Vec1 &rhs, Vec2 &&x) const
size_t bytes () const

Public Attributes

eSolverType m_solver_type
SolverBasem_solver = nullptr

Friends

std::ostream & operator<< (std::ostream &os, const SolverRuntime &w)

Detailed Description

template<class Backend, class InnerProduct = detail::default_inner_product>
struct Arcane::Alina::SolverRuntime< Backend, InnerProduct >

Runtime-configurable wrappers around iterative solvers.

Definition at line 145 of file SolverRuntime.h.

Member Typedef Documentation

◆ backend_params

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend::params Arcane::Alina::SolverRuntime< Backend, InnerProduct >::backend_params

Definition at line 148 of file SolverRuntime.h.

◆ backend_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend Arcane::Alina::SolverRuntime< Backend, InnerProduct >::backend_type

Definition at line 151 of file SolverRuntime.h.

◆ BackendType

template<class Backend, class InnerProduct = detail::default_inner_product>
using Arcane::Alina::SolverRuntime< Backend, InnerProduct >::BackendType = backend_type

Definition at line 152 of file SolverRuntime.h.

◆ params

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef PropertyTree Arcane::Alina::SolverRuntime< Backend, InnerProduct >::params

Definition at line 147 of file SolverRuntime.h.

◆ scalar_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef math::scalar_of<value_type>::type Arcane::Alina::SolverRuntime< Backend, InnerProduct >::scalar_type

Definition at line 150 of file SolverRuntime.h.

◆ value_type

template<class Backend, class InnerProduct = detail::default_inner_product>
typedef Backend::value_type Arcane::Alina::SolverRuntime< Backend, InnerProduct >::value_type

Definition at line 149 of file SolverRuntime.h.

Constructor & Destructor Documentation

◆ SolverRuntime()

template<class Backend, class InnerProduct = detail::default_inner_product>
Arcane::Alina::SolverRuntime< Backend, InnerProduct >::SolverRuntime ( size_t n,
params prm = params(),
const backend_params & bprm = backend_params(),
const InnerProduct & inner_product = InnerProduct() )
inlineexplicit

Definition at line 157 of file SolverRuntime.h.

◆ ~SolverRuntime()

template<class Backend, class InnerProduct = detail::default_inner_product>
Arcane::Alina::SolverRuntime< Backend, InnerProduct >::~SolverRuntime ( )
inline

Definition at line 181 of file SolverRuntime.h.

Member Function Documentation

◆ bytes()

template<class Backend, class InnerProduct = detail::default_inner_product>
size_t Arcane::Alina::SolverRuntime< Backend, InnerProduct >::bytes ( ) const
inline

Definition at line 227 of file SolverRuntime.h.

◆ operator()() [1/2]

template<class Backend, class InnerProduct = detail::default_inner_product>
template<class Matrix, class Precond, class Vec1, class Vec2>
SolverResult Arcane::Alina::SolverRuntime< Backend, InnerProduct >::operator() ( const Matrix & A,
const Precond & P,
const Vec1 & rhs,
Vec2 && x ) const
inline

Definition at line 187 of file SolverRuntime.h.

◆ operator()() [2/2]

template<class Backend, class InnerProduct = detail::default_inner_product>
template<class Precond, class Vec1, class Vec2>
SolverResult Arcane::Alina::SolverRuntime< Backend, InnerProduct >::operator() ( const Precond & P,
const Vec1 & rhs,
Vec2 && x ) const
inline

Definition at line 205 of file SolverRuntime.h.

◆ operator<<

template<class Backend, class InnerProduct = detail::default_inner_product>
std::ostream & operator<< ( std::ostream & os,
const SolverRuntime< Backend, InnerProduct > & w )
friend

Definition at line 210 of file SolverRuntime.h.

Member Data Documentation

◆ m_solver

template<class Backend, class InnerProduct = detail::default_inner_product>
SolverBase* Arcane::Alina::SolverRuntime< Backend, InnerProduct >::m_solver = nullptr

Definition at line 155 of file SolverRuntime.h.

◆ m_solver_type

template<class Backend, class InnerProduct = detail::default_inner_product>
eSolverType Arcane::Alina::SolverRuntime< Backend, InnerProduct >::m_solver_type

Definition at line 154 of file SolverRuntime.h.


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