|
ug4
|
#include <schur_complement_inverse.h>
Inheritance diagram for ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >:Public Member Functions | |
| virtual void | apply (Y &f, const X &u) |
| virtual void | apply_sub (Y &f, const X &u) |
| virtual void | calculate_matrix () |
| virtual M & | get_matrix () |
| virtual void | init () |
| init operator | |
| virtual void | init (const X &u) |
| init operator depending on a function u | |
| SchurComplementMatrixOperator (SmartPtr< SchurComplementOperator< TAlgebra > > op) | |
| void | set_op (SmartPtr< SchurComplementOperator< TAlgebra > > op) |
Public Member Functions inherited from ug::ILinearOperator< X, Y > | |
| virtual void | prepare (X &u) |
| default implementation for IOperator interface | |
| virtual | ~ILinearOperator () |
| virtual destructor | |
Public Member Functions inherited from ug::IOperator< X, Y > | |
| virtual | ~IOperator () |
| virtual destructor | |
Public Member Functions inherited from ug::UpdateableMatrixOperator | |
| virtual | ~UpdateableMatrixOperator () |
Public Attributes | |
| bool | invalid |
Private Types | |
| typedef M | matrix_type |
Private Attributes | |
| SmartPtr< SchurComplementOperator< TAlgebra > > | m_op |
Additional Inherited Members | |
Public Types inherited from ug::MatrixOperator< M, X, Y > | |
| typedef Y | codomain_function_type |
| typedef X | domain_function_type |
| typedef M | matrix_type |
Public Types inherited from ug::ILinearOperator< X, Y > | |
| typedef Y | codomain_function_type |
| Range space. | |
| typedef X | domain_function_type |
| Domain space. | |
Public Types inherited from ug::IOperator< X, Y > | |
| typedef Y | codomain_function_type |
| Range space. | |
| typedef X | domain_function_type |
| Domain space. | |
|
private |
|
inline |
|
inlinevirtual |
This method applies the operator, i.e. f = L*u (or d = J(u)*c in iterative schemes). Note, that the operator must have been initialized once before this method can be used.
| [in] | u | domain function |
| [out] | f | codomain function |
Reimplemented from ug::MatrixOperator< M, X, Y >.
References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::m_op.
|
inlinevirtual |
This method applies the operator and subracts the result from the input codomain function, i.e. f -= L*u (or d -= J(u)*c in iterative schemes). Note, that the operator must have been initialized once before this method can be used.
| [in] | u | domain function |
| [in,out] | f | codomain function |
Reimplemented from ug::MatrixOperator< M, X, Y >.
References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::m_op.
|
inlinevirtual |
Implements ug::UpdateableMatrixOperator.
References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().
|
inlinevirtual |
Reimplemented from ug::MatrixOperator< M, X, Y >.
Referenced by ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().
|
inlinevirtual |
init operator
This method initializes the operator. Once initialized the 'apply'-method can be called. If the operator is a linearization this function returns false.
Reimplemented from ug::MatrixOperator< M, X, Y >.
References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::get_matrix(), ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::invalid, and ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::m_op.
Referenced by ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::calculate_matrix().
|
inlinevirtual |
init operator depending on a function u
This method initializes the operator. Once initialized the 'apply'-method can be called. The function u is passed here, since the linear operator may be the linearization of some non-linear operator. Thus, the operator depends on the linearization point. If the operator is not a linearization, this method can be implemented by simply calling init() and forgetting about the linearization point.
| [in] | u | function (linearization point) |
Reimplemented from ug::MatrixOperator< M, X, Y >.
References ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().
Referenced by ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::init().
|
inline |
| bool ug::SchurComplementMatrixOperator< TAlgebra, M, X, Y >::invalid |
|
private |