blue_sky::two_stage_preconditioner< strategy_t > Class Template Reference

Class declaration for two stage preconditioner. More...

#include <two_stage_preconditioner.h>

List of all members.

Public Types

typedef linear_solver_base
< strategy_t > 
base_t
 short name for base class
typedef
two_stage_preconditioner
< strategy_t > 
this_t
 short name for this class
typedef strategy_t::matrix_t matrix_t
 short name for matrix type
typedef strategy_t::item_array_t item_array_t
 short name for array type
typedef strategy_t::item_t item_t
 short name for array item type
typedef strategy_t::rhs_item_t rhs_item_t
 short name for type of rhs
typedef
strategy_t::rhs_item_array_t 
rhs_item_array_t
 short name for rhs array type
typedef strategy_t::index_t index_t
 short name for index type
typedef item_t fp_type
 short name for array item type
typedef index_t i_type
 short name for index type
typedef smart_ptr< base_t, true > sp_base_t
 short name for smart pointer on base class
typedef smart_ptr< matrix_t, true > sp_matrix_t
 short name for smart pointer on matrix

Public Member Functions

virtual ~two_stage_preconditioner ()
 destructor
virtual int solve (matrix_t *matrix, rhs_item_array_t &rhs, item_array_t &sol)
 Solves Jacobian matrix.
virtual int solve_prec (matrix_t *matrix, item_array_t &rhs, item_array_t &sol)
 Solves matrix from sub-preconditioner.
template<class rhs_t >
int templ_solve (matrix_t *matrix, rhs_t &rhs, item_array_t &sol)
 Solves matrix.
virtual int setup (matrix_t *matrix)
 Setups preconditioner to solve matrix matrix.
void set_prec_1 (const base_t *prec)
 Sets first preconditioner.
void set_prec_2 (const base_t *prec)
 Sets second preconditioner.
int get_prec_1_iters ()
 Returns iterations count from first preconditioner.
sp_base_t get_prec_1 () const
 Returns first preconditioner.
sp_base_t get_prec_2 () const
 Returns second preconditioner.
 BLUE_SKY_TYPE_DECL (two_stage_preconditioner)
 set sub node by their name

Private Attributes

sp_base_t prec_2
 Second preconditioner.
item_array_t r_array
 Temporary array.
item_array_t w_array
 Temporary array.


Detailed Description

template<class strategy_t>
class blue_sky::two_stage_preconditioner< strategy_t >

Class declaration for two stage preconditioner.

Member Typedef Documentation

template<class strategy_t >
typedef linear_solver_base<strategy_t> blue_sky::two_stage_preconditioner< strategy_t >::base_t

short name for base class

template<class strategy_t >
typedef item_t blue_sky::two_stage_preconditioner< strategy_t >::fp_type

short name for array item type

template<class strategy_t >
typedef index_t blue_sky::two_stage_preconditioner< strategy_t >::i_type

short name for index type

template<class strategy_t >
typedef strategy_t::index_t blue_sky::two_stage_preconditioner< strategy_t >::index_t

short name for index type

template<class strategy_t >
typedef strategy_t::item_array_t blue_sky::two_stage_preconditioner< strategy_t >::item_array_t

short name for array type

template<class strategy_t >
typedef strategy_t::item_t blue_sky::two_stage_preconditioner< strategy_t >::item_t

short name for array item type

template<class strategy_t >
typedef strategy_t::matrix_t blue_sky::two_stage_preconditioner< strategy_t >::matrix_t

short name for matrix type

template<class strategy_t >
typedef strategy_t::rhs_item_array_t blue_sky::two_stage_preconditioner< strategy_t >::rhs_item_array_t

short name for rhs array type

template<class strategy_t >
typedef strategy_t::rhs_item_t blue_sky::two_stage_preconditioner< strategy_t >::rhs_item_t

short name for type of rhs

template<class strategy_t >
typedef smart_ptr<base_t, true> blue_sky::two_stage_preconditioner< strategy_t >::sp_base_t

short name for smart pointer on base class

template<class strategy_t >
typedef smart_ptr<matrix_t, true> blue_sky::two_stage_preconditioner< strategy_t >::sp_matrix_t

short name for smart pointer on matrix

template<class strategy_t >
typedef two_stage_preconditioner<strategy_t> blue_sky::two_stage_preconditioner< strategy_t >::this_t

short name for this class


Constructor & Destructor Documentation

template<class strategy_t >
virtual blue_sky::two_stage_preconditioner< strategy_t >::~two_stage_preconditioner (  )  [virtual]

destructor


Member Function Documentation

template<class strategy_t >
blue_sky::two_stage_preconditioner< strategy_t >::BLUE_SKY_TYPE_DECL ( two_stage_preconditioner< strategy_t >   ) 

set sub node by their name

Parameters:
[in] name The name of subnode
[in] obj The smart pointer to new object blue-sky type declaration

template<class strategy_t >
sp_base_t blue_sky::two_stage_preconditioner< strategy_t >::get_prec_1 (  )  const [inline]

Returns first preconditioner.

Returns:
First preconditioner instance

template<class strategy_t >
int blue_sky::two_stage_preconditioner< strategy_t >::get_prec_1_iters (  )  [inline]

Returns iterations count from first preconditioner.

Returns:
Iterations count

template<class strategy_t >
sp_base_t blue_sky::two_stage_preconditioner< strategy_t >::get_prec_2 (  )  const [inline]

Returns second preconditioner.

Returns:
Second preconditioner instance

template<class strategy_t >
void blue_sky::two_stage_preconditioner< strategy_t >::set_prec_1 ( const base_t prec  )  [inline]

Sets first preconditioner.

Parameters:
prec Instance of new preconditioner

template<class strategy_t >
void blue_sky::two_stage_preconditioner< strategy_t >::set_prec_2 ( const base_t prec  )  [inline]

Sets second preconditioner.

Parameters:
prec Instance of new preconditioner

template<class strategy_t >
virtual int blue_sky::two_stage_preconditioner< strategy_t >::setup ( matrix_t matrix  )  [virtual]

Setups preconditioner to solve matrix matrix.

Parameters:
matrix 
Returns:
0 on success

template<class strategy_t >
virtual int blue_sky::two_stage_preconditioner< strategy_t >::solve ( matrix_t matrix,
rhs_item_array_t rhs,
item_array_t sol 
) [virtual]

Solves Jacobian matrix.

Parameters:
matrix Jacobian matrix
rhs 
sol 
Returns:
0 on success

template<class strategy_t >
virtual int blue_sky::two_stage_preconditioner< strategy_t >::solve_prec ( matrix_t matrix,
item_array_t rhs,
item_array_t sol 
) [virtual]

Solves matrix from sub-preconditioner.

Parameters:
matrix 
rhs 
sol 
Returns:
0 on success

template<class strategy_t >
template<class rhs_t >
int blue_sky::two_stage_preconditioner< strategy_t >::templ_solve ( matrix_t matrix,
rhs_t &  rhs,
item_array_t sol 
) [inline]

Solves matrix.

Parameters:
matrix 
rhs 
sol 
Returns:
0 on success


Member Data Documentation

template<class strategy_t >
sp_base_t blue_sky::two_stage_preconditioner< strategy_t >::prec_2 [private]

Second preconditioner.

template<class strategy_t >
item_array_t blue_sky::two_stage_preconditioner< strategy_t >::r_array [private]

Temporary array.

template<class strategy_t >
item_array_t blue_sky::two_stage_preconditioner< strategy_t >::w_array [private]

Temporary array.


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

Generated on Fri Nov 13 12:07:14 2009 for TheBSEagleProject by  doxygen 1.5.8