ug4
|
#include <analyzing_solver.h>
Public Types | |
typedef Y | codomain_function_type |
Range space. More... | |
typedef X | domain_function_type |
Domain space. More... | |
typedef M | matrix_type |
Matrix type. More... | |
Public Types inherited from ug::ILinearOperatorInverse< X, X > | |
typedef X | codomain_function_type |
Range space. More... | |
typedef X | domain_function_type |
Domain space. More... | |
Public Types inherited from ug::ILinearIterator< X, X > | |
typedef X | codomain_function_type |
Range space. More... | |
typedef X | domain_function_type |
Domain space. More... | |
Public Member Functions | |
AnalyzingSolver (SmartPtr< ILinearOperatorInverse< X, Y > > pLinearOperatorInverse) | |
virtual bool | apply (Y &u, const X &f) |
virtual bool | apply_return_defect (Y &u, X &f) |
void | check (const matrix_type &A) |
void | check (SmartPtr< ILinearOperator< Y, X > > A) |
virtual std::string | config_string () const |
returns information about configuration parameters More... | |
virtual bool | init (SmartPtr< ILinearOperator< Y, X > > A) |
virtual bool | init (SmartPtr< ILinearOperator< Y, X > > A, const Y &u) |
virtual const char * | name () const |
returns the name of the operator inverse More... | |
virtual bool | supports_parallel () const |
returns if parallel solving is supported More... | |
virtual | ~AnalyzingSolver () |
virtual destructor More... | |
Public Member Functions inherited from ug::ILinearOperatorInverse< X, X > | |
virtual bool | apply (X &u, const X &f)=0 |
applies inverse operator, i.e. returns u = A^{-1} f More... | |
virtual bool | apply_return_defect (X &u, X &f)=0 |
applies inverse operator, i.e. returns u = A^{-1} f and returns defect d := f - A*u More... | |
virtual bool | apply_update_defect (X &u, X &f) |
virtual SmartPtr< ILinearIterator< X, X > > | clone () |
clone More... | |
SmartPtr< IConvergenceCheck< X > > | convergence_check () |
returns the convergence check More... | |
ConstSmartPtr< IConvergenceCheck< X > > | convergence_check () const |
returns the convergence check More... | |
number | defect () const |
returns the current defect More... | |
ILinearOperatorInverse () | |
constructor setting convergence check to (100, 1e-12, 1e-12, true) More... | |
ILinearOperatorInverse (SmartPtr< IConvergenceCheck< X > > spConvCheck) | |
Default constructor. More... | |
virtual bool | init (SmartPtr< ILinearOperator< X, X > > J, const X &u) |
initializes for the inverse for a linearized operator at linearization point u More... | |
virtual bool | init (SmartPtr< ILinearOperator< X, X > > L) |
initializes for the inverse for a linear operator More... | |
SmartPtr< ILinearOperator< X, X > > | linear_operator () |
returns the current Operator this Inverse Operator is initialized for More... | |
number | reduction () const |
returns the current relative reduction More... | |
void | set_convergence_check (SmartPtr< IConvergenceCheck< X > > spConvCheck) |
set the convergence check More... | |
virtual int | standard_offset () const |
returns the standard offset for output More... | |
int | step () const |
returns the current number of steps More... | |
virtual | ~ILinearOperatorInverse () |
virtual destructor More... | |
Public Member Functions inherited from ug::ILinearIterator< X, X > | |
SmartPtr< IDamping< X, X > > | damping () |
returns the scaling More... | |
ILinearIterator () | |
constructor More... | |
ILinearIterator (const ILinearIterator< X, X > &parent) | |
copy constructor More... | |
void | set_damp (number factor) |
sets the damping to a constant factor More... | |
void | set_damp (SmartPtr< IDamping< X, X > > spScaling) |
sets a scaling for the correction More... | |
virtual | ~ILinearIterator () |
virtual destructor More... | |
Private Attributes | |
SmartPtr< ILinearOperatorInverse< X, Y > > | m_pLinearOperatorInverse |
Additional Inherited Members | |
Protected Attributes inherited from ug::ILinearOperatorInverse< X, X > | |
SmartPtr< IConvergenceCheck< X > > | m_spConvCheck |
smart pointer holding the convergence check More... | |
SmartPtr< ILinearOperator< X, X > > | m_spLinearOperator |
Operator that is inverted by this Inverse Operator. More... | |
Protected Attributes inherited from ug::ILinearIterator< X, X > | |
SmartPtr< IDamping< X, X > > | m_spDamping |
the scaling More... | |
typedef Y ug::AnalyzingSolver< M, X, Y >::codomain_function_type |
Range space.
typedef X ug::AnalyzingSolver< M, X, Y >::domain_function_type |
Domain space.
typedef M ug::AnalyzingSolver< M, X, Y >::matrix_type |
Matrix type.
|
inline |
|
inlinevirtual |
virtual destructor
|
inlinevirtual |
|
inlinevirtual |
|
inline |
References ug::BlockRef(), ug::checksub(), ug::GetCols(), ug::GetRows(), and UG_LOG.
Referenced by ug::AnalyzingSolver< M, X, Y >::check(), and ug::AnalyzingSolver< M, X, Y >::init().
|
inline |
|
inlinevirtual |
returns information about configuration parameters
this should return necessary information about parameters and possibly calling config_string of subcomponents.
Reimplemented from ug::ILinearOperatorInverse< X, X >.
References ug::AnalyzingSolver< M, X, Y >::m_pLinearOperatorInverse.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
returns the name of the operator inverse
This method returns the name of the inverse operator. This function is typically needed, when the inverse operator is used inside of another and some debug output should be printed
Implements ug::ILinearOperatorInverse< X, X >.
References ug::AnalyzingSolver< M, X, Y >::m_pLinearOperatorInverse.
|
inlinevirtual |
returns if parallel solving is supported
Implements ug::ILinearOperatorInverse< X, X >.
References ug::AnalyzingSolver< M, X, Y >::m_pLinearOperatorInverse.
|
private |
Referenced by ug::AnalyzingSolver< M, X, Y >::AnalyzingSolver(), ug::AnalyzingSolver< M, X, Y >::apply(), ug::AnalyzingSolver< M, X, Y >::apply_return_defect(), ug::AnalyzingSolver< M, X, Y >::config_string(), ug::AnalyzingSolver< M, X, Y >::init(), ug::AnalyzingSolver< M, X, Y >::name(), and ug::AnalyzingSolver< M, X, Y >::supports_parallel().