ug4
|
#include <schur_complement_inverse.h>
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) |
![]() | |
virtual void | prepare (X &u) |
default implementation for IOperator interface | |
virtual | ~ILinearOperator () |
virtual destructor | |
![]() | |
virtual | ~IOperator () |
virtual destructor | |
![]() | |
virtual | ~UpdateableMatrixOperator () |
Public Attributes | |
bool | invalid |
Private Types | |
typedef M | matrix_type |
Private Attributes | |
SmartPtr< SchurComplementOperator< TAlgebra > > | m_op |
Additional Inherited Members | |
![]() | |
typedef Y | codomain_function_type |
typedef X | domain_function_type |
typedef M | matrix_type |
![]() | |
typedef Y | codomain_function_type |
Range space. | |
typedef X | domain_function_type |
Domain space. | |
![]() | |
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 |