Public Types | Public Member Functions | Static Public Attributes
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:
CProductBase CPropertyFlagHolder

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 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

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.

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

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.

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.

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.

Member Function Documentation

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

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.

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

Field Documentation

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: