OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF > Struct Template Reference

#include <Preconditioner.h>

Inheritance diagram for ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >:
Inheritance graph
Collaboration diagram for ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >:
Collaboration graph

Public Types

using mesh_type = typename Field::Mesh_t
 
using layout_type = typename Field::Layout_t
 

Public Member Functions

 richardson_preconditioner (UpperAndLowerF &&upper_and_lower, InvDiagF &&inverse_diagonal, unsigned innerloops=5)
 
Field operator() (Field &r) override
 
void init_fields (Field &b) override
 
std::string get_type ()
 

Static Public Attributes

static constexpr unsigned Dim = Field::dim
 

Protected Attributes

UpperAndLowerF upper_and_lower_m
 
InvDiagF inverse_diagonal_m
 
unsigned innerloops_m
 
Field ULg_m
 
std::string type_m
 

Detailed Description

template<typename Field, typename UpperAndLowerF, typename InvDiagF>
struct ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >

Richardson preconditioner

Definition at line 285 of file Preconditioner.h.

Member Typedef Documentation

◆ layout_type

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
using ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::layout_type = typename Field::Layout_t

Definition at line 288 of file Preconditioner.h.

◆ mesh_type

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
using ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::mesh_type = typename Field::Mesh_t

Definition at line 287 of file Preconditioner.h.

Constructor & Destructor Documentation

◆ richardson_preconditioner()

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::richardson_preconditioner ( UpperAndLowerF &&  upper_and_lower,
InvDiagF &&  inverse_diagonal,
unsigned  innerloops = 5 
)
inline

Member Function Documentation

◆ get_type()

template<typename Field >
std::string ippl::preconditioner< Field >::get_type ( )
inlineinherited

Definition at line 47 of file Preconditioner.h.

References ippl::preconditioner< Field >::type_m.

◆ init_fields()

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
void ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::init_fields ( Field b)
inlineoverridevirtual

◆ operator()()

Member Data Documentation

◆ Dim

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
constexpr unsigned ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::Dim = Field::dim
staticconstexpr

Definition at line 286 of file Preconditioner.h.

◆ innerloops_m

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
unsigned ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::innerloops_m
protected

◆ inverse_diagonal_m

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
InvDiagF ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::inverse_diagonal_m
protected

◆ type_m

template<typename Field >
std::string ippl::preconditioner< Field >::type_m
protectedinherited

Definition at line 50 of file Preconditioner.h.

Referenced by ippl::preconditioner< Field >::get_type().

◆ ULg_m

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
Field ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::ULg_m
protected

◆ upper_and_lower_m

template<typename Field , typename UpperAndLowerF , typename InvDiagF >
UpperAndLowerF ippl::richardson_preconditioner< Field, UpperAndLowerF, InvDiagF >::upper_and_lower_m
protected

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