Registry
AutoLinearSolver Class Reference

Auto Linear Solver. More...

+ Inheritance diagram for AutoLinearSolver:

Public Member Functions

bool apply (Vector *u, const Vector *f)
 Solve A*u = f, such that u = A^{-1} f by iterating u := u + B(f - A*u), f remains constant. More...
 
bool apply_return_defect (Vector *u, Vector *f)
 Solve A*u = f, such that u = A^{-1} f by iterating u := u + B(f - A*u), f := f - A*u becomes new defect. More...
 
bool apply_update_defect (Vector *unnamed, Vector *unnamed)
 
 AutoLinearSolver ()
 
 AutoLinearSolver (double reductionAlwaysAccept, double worseThenAverage)
 
SmartPtr< ILinearIteratorclone ()
 returns a clone of the object which can be modified independently More...
 
std::string config_string () const
 
ConstSmartPtr< IConvergenceCheckconvergence_check () const
 
double defect () const
 
bool init (SmartPtr< ILinearOperator > unnamed)
 
const char * name () const
 
void print_information ()
 
double reduction () const
 
void set_compute_fresh_defect_when_finished (bool unnamed)
 
void set_convergence_check (SmartPtr< IConvergenceCheck > unnamed)
 
void set_damp (double damp)
 set the damping to a number More...
 
void set_preconditioner (SmartPtr< ILinearIterator > Preconditioner)
 
void set_reduction_always_accept (double unnamed)
 
void set_reinit_when_worse_then_average (double unnamed)
 
int step () const
 

Detailed Description

Auto Linear Solver.

Note
default specialization is AutoLinearSolverCPU1
See also
ug::AutoLinearSolver

Constructor & Destructor Documentation

◆ AutoLinearSolver() [1/2]

◆ AutoLinearSolver() [2/2]

AutoLinearSolver ( double  reductionAlwaysAccept,
double  worseThenAverage 
)
Parameters
[in]reductionAlwaysAccept
[in]worseThenAverage

Member Function Documentation

◆ apply()

bool apply ( Vector u,
const Vector f 
)
inlineinherited

Solve A*u = f, such that u = A^{-1} f by iterating u := u + B(f - A*u), f remains constant.

Parameters
[in]u
[in]f
Returns
Success

References ILinearOperatorInverse< X, Y >::apply().

◆ apply_return_defect()

bool apply_return_defect ( Vector u,
Vector f 
)
inlineinherited

Solve A*u = f, such that u = A^{-1} f by iterating u := u + B(f - A*u), f := f - A*u becomes new defect.

Parameters
[in]u
[in]f
Returns
Success

References ILinearOperatorInverse< X, Y >::apply_return_defect().

◆ apply_update_defect()

bool apply_update_defect ( Vector unnamed,
Vector unnamed 
)
inlineinherited
Parameters
[in]unnamed
[in]unnamed

References ILinearIterator< X, Y >::apply_update_defect().

◆ clone()

SmartPtr<ILinearIterator> clone ( )
inlineinherited

returns a clone of the object which can be modified independently

Returns
SmartPointer to a copy of this object

References ILinearIterator< X, Y >::clone().

◆ config_string()

std::string config_string ( ) const
inlineinherited

◆ convergence_check()

ConstSmartPtr<IConvergenceCheck> convergence_check ( ) const
inlineinherited

◆ defect()

double defect ( ) const
inlineinherited
Returns
the current defect

References ILinearOperatorInverse< X, Y >::defect().

◆ init()

bool init ( SmartPtr< ILinearOperator unnamed)
inlineinherited
Parameters
[in]unnamed

References ILinearOperatorInverse< X, Y >::init().

◆ name()

const char* name ( ) const
inlineinherited

◆ print_information()

void print_information ( )
inline

◆ reduction()

double reduction ( ) const
inlineinherited
Returns
the current relative reduction

References ILinearOperatorInverse< X, Y >::reduction().

◆ set_compute_fresh_defect_when_finished()

void set_compute_fresh_defect_when_finished ( bool  unnamed)
inlineinherited

◆ set_convergence_check()

void set_convergence_check ( SmartPtr< IConvergenceCheck unnamed)
inlineinherited
Parameters
[in]unnamed

References ILinearOperatorInverse< X, Y >::set_convergence_check().

◆ set_damp()

void set_damp ( double  damp)
inlineinherited

set the damping to a number

Parameters
[in]damp

References ILinearIterator< X, Y >::set_damp().

◆ set_preconditioner()

void set_preconditioner ( SmartPtr< ILinearIterator Preconditioner)
inlineinherited

◆ set_reduction_always_accept()

void set_reduction_always_accept ( double  unnamed)
inline

◆ set_reinit_when_worse_then_average()

void set_reinit_when_worse_then_average ( double  unnamed)
inline

◆ step()

int step ( ) const
inlineinherited
Returns
the current number of steps

References ILinearOperatorInverse< X, Y >::step().