TSparseSolver< F >::A_mult_x Class Referenceabstract

A class that implements the multiplication of a cell of the matrix A with the field x. More...

#include <mia/core/sparse_solver.hh>

Inheritance diagram for TSparseSolver< F >::A_mult_x:
[legend]
Collaboration diagram for TSparseSolver< F >::A_mult_x:
[legend]

Public Types

typedef F plugin_data
 helper typedef for the plug-in handling More...
 
typedef A_mult_x plugin_type
 helper typedef for the plug-in handling More...
 
- Public Types inherited from CPropertyFlagHolder
typedef std::set< const char * > Set
 define the type of the set of flags More...
 

Public Member Functions

 A_mult_x ()
 
 A_mult_x (const dimsize_type &size)
 
virtual int get_boundary_size () const =0
 
dimsize_type get_size () const
 
virtual value_type operator() (const_field_iterator ix) const =0
 
virtual ~A_mult_x ()
 
- Public Member Functions inherited from CProductBase
const char * get_init_string () const
 
void set_init_string (const char *init)
 
void set_module (PPluginModule module)
 
- Public Member Functions inherited from CPropertyFlagHolder
void add (const char *property)
 
Set get_missing_properties (const CPropertyFlagHolder &testset) const
 
bool has (const char *property) const
 
bool has_all_in (const CPropertyFlagHolder &testset) const
 
virtual ~CPropertyFlagHolder ()
 

Static Public Attributes

static const char *const type_descr = "amultx"
 plugin type component of plugin path descriptor More...
 

Detailed Description

template<typename F>
class TSparseSolver< F >::A_mult_x

A class that implements the multiplication of a cell of the matrix A with the field x.

This class defines the (sparse) multiplication of the matrix A with a vector x

Definition at line 76 of file sparse_solver.hh.

Member Typedef Documentation

◆ plugin_data

template<typename F >
typedef F TSparseSolver< F >::A_mult_x::plugin_data

helper typedef for the plug-in handling

Definition at line 79 of file sparse_solver.hh.

◆ plugin_type

template<typename F >
typedef A_mult_x TSparseSolver< F >::A_mult_x::plugin_type

helper typedef for the plug-in handling

Definition at line 82 of file sparse_solver.hh.

Constructor & Destructor Documentation

◆ A_mult_x() [1/2]

template<typename F >
TSparseSolver< F >::A_mult_x::A_mult_x ( )
inline

standard constructor sets the expected fiels size to zero

Definition at line 88 of file sparse_solver.hh.

◆ A_mult_x() [2/2]

template<typename F >
TSparseSolver< F >::A_mult_x::A_mult_x ( const dimsize_type size)
inline

constructor sets the expected fiels size to given value

Definition at line 91 of file sparse_solver.hh.

◆ ~A_mult_x()

template<typename F >
virtual TSparseSolver< F >::A_mult_x::~A_mult_x ( )
inlinevirtual

destructor to ensure virtual distruction

Definition at line 94 of file sparse_solver.hh.

References TSparseSolver< F >::A_mult_x::get_boundary_size(), and TSparseSolver< F >::A_mult_x::operator()().

Member Function Documentation

◆ get_boundary_size()

template<typename F >
virtual int TSparseSolver< F >::A_mult_x::get_boundary_size ( ) const
pure virtual

Returns the size of the boundary that one has to take into account

Referenced by TSparseSolver< F >::A_mult_x::~A_mult_x().

◆ get_size()

template<typename F >
dimsize_type TSparseSolver< F >::A_mult_x::get_size ( ) const
inline
Returns
the sizes of the (multidimensional) array that is expected by the operator

Definition at line 116 of file sparse_solver.hh.

◆ operator()()

template<typename F >
virtual value_type TSparseSolver< F >::A_mult_x::operator() ( const_field_iterator  ix) const
pure virtual

Operator to execute the multiplication

Parameters
ixis the random access iterator to the central value of the input vector that would be multiplied by the element on the main diagonal of A
Returns
the result for the cell multiplication
Remarks
For efficiency no tests are done whether the boundary conditions are actually honoured. this is the job of the solver calling the operator

Referenced by TSparseSolver< F >::A_mult_x::~A_mult_x().

Field Documentation

◆ type_descr

template<typename F >
const char *const TSparseSolver< F >::A_mult_x::type_descr = "amultx"
static

plugin type component of plugin path descriptor

Definition at line 85 of file sparse_solver.hh.


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