| FEAT 3
    Finite Element Analysis Toolbox | 
Solver conversion module. More...
#include <convert_precond.hpp>
 
  
| Public Types | |
| using | BaseClass = SolverBase< VectorTypeOuter > | 
| using | SolverTypeInner = SolverBase< VectorTypeInner > | 
| typedef VectorOuter_ | VectorType | 
| The type of vector this solver can be applied to.  More... | |
| using | VectorTypeInner = VectorInner_ | 
| using | VectorTypeOuter = VectorOuter_ | 
| Public Member Functions | |
| ConvertPrecond (std::shared_ptr< SolverTypeInner > inner_solver) | |
| Constructor.  More... | |
| virtual Status | apply (VectorTypeOuter &vec_cor, const VectorTypeOuter &vec_def) override | 
| Solver application method.  More... | |
| virtual void | done () | 
| Finalization method.  More... | |
| virtual void | done_numeric () override | 
| Numeric finalization method.  More... | |
| virtual void | done_symbolic () override | 
| Symbolic finalization method.  More... | |
| virtual void | init () | 
| Initialization method.  More... | |
| virtual void | init_numeric () override | 
| Numeric initialization method.  More... | |
| virtual void | init_symbolic () override | 
| Symbolic initialization method.  More... | |
| virtual String | name () const override | 
| Returns the name of the solver.  More... | |
| Protected Attributes | |
| std::shared_ptr< SolverTypeInner > | _inner_solver | 
Solver conversion module.
This class implements a simple solver module, which converts data before and after the inner solver call
There are two typical applications:
Definition at line 39 of file convert_precond.hpp.
| using FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::BaseClass = SolverBase<VectorTypeOuter> | 
Definition at line 44 of file convert_precond.hpp.
| using FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::SolverTypeInner = SolverBase<VectorTypeInner> | 
Definition at line 47 of file convert_precond.hpp.
| 
 | inherited | 
| using FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::VectorTypeInner = VectorInner_ | 
Definition at line 46 of file convert_precond.hpp.
| using FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::VectorTypeOuter = VectorOuter_ | 
Definition at line 43 of file convert_precond.hpp.
| 
 | inlineexplicit | 
Constructor.
| [in] | inner_solver | The actual solver, which shall be executed with converted rhs/sol vectors | 
Definition at line 59 of file convert_precond.hpp.
| 
 | inlineoverridevirtual | 
Solver application method.
This method applies the solver represented by this object onto a given defect vector and returns the corresponding correction vector.
correct() method which corrects an initial solution instead of starting with the null vector.| [out] | vec_cor | The vector that shall receive the solution of the linear system. It is assumed to be allocated, but its numerical contents may be undefined upon calling this method. | 
| [in] | vec_def | The vector that represents the right-hand-side of the linear system to be solved. | 
Implements FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 98 of file convert_precond.hpp.
References FEAT::LAFEM::Layout, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::name(), FEAT::Solver::status_success(), and FEAT::Solver::success.
| 
 | inlinevirtualinherited | 
| 
 | inlineoverridevirtual | 
Numeric finalization method.
This method is called to release any data allocated in the numeric initialization step.
Reimplemented from FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 84 of file convert_precond.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_numeric().
| 
 | inlineoverridevirtual | 
Symbolic finalization method.
This method is called to release any data allocated in the symbolic initialization step.
Reimplemented from FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 91 of file convert_precond.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_symbolic().
| 
 | inlinevirtualinherited | 
| 
 | inlineoverridevirtual | 
Numeric initialization method.
This method is called to perform numeric initialization of the solver.
Before this function can be called, the symbolic initialization must be performed. 
Reimplemented from FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 77 of file convert_precond.hpp.
References FEAT::Solver::SolverBase< Vector_ >::init_numeric().
| 
 | inlineoverridevirtual | 
Symbolic initialization method.
This method is called to perform symbolic initialization of the solver.
Reimplemented from FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 70 of file convert_precond.hpp.
References FEAT::Solver::SolverBase< Vector_ >::init_symbolic().
| 
 | inlineoverridevirtual | 
Returns the name of the solver.
Implements FEAT::Solver::SolverBase< VectorOuter_ >.
Definition at line 65 of file convert_precond.hpp.
Referenced by FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >::apply(), and FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >::apply().
| 
 | protected | 
Definition at line 50 of file convert_precond.hpp.