template<class T, class M = rheo_default_memory_model>
class rheolef::solver_abtb_basic< T, M >
solver_abtb – direct or iterative solver iterface for mixed linear systems
solver_abtb class provides direct or iterative algorithms for some mixed problem:
[ ] [ ] = [ ]
[ B -C ] [ p ] [ Mg ]
where A is symmetric positive definite and C is symmetric positive. By default, iterative algorithms are considered for tridimensional problems and direct methods otherwise. Such mixed linear problems appears for instance with the discretization of Stokes problems. The C matrix can be zero and then the corresponding argument can be omitted when invoking the constructor. Non-zero C matrix appears for of Stokes problems with stabilized P1-P1 element, or for nearly incompressible elasticity problems.
When the kernel of
B^T is not reduced to zero, then the pressure p is defined up to a constant and the system is singular. In the case of iterative methods, this is not a problem. But when using direct method, the system is then completed to impose a constraint on the pressure term and the whole matrix is factored one time for all.
The preconditionned conjugate gradient algorithm is used, where the
mp matrix is used as preconditionner. See see mixed_solver algorithm.
See the user's manual for practical examples for the nearly incompressible elasticity, the Stokes and the Navier-Stokes problems.
Definition at line 55 of file solver_abtb.h.