Provided by: librheolef-dev_7.2-2_amd64 bug

NAME

       solver_abtb - mixed systems solver (rheolef-7.2)

SYNOPSIS

           solver_abtb stokes     (a,b,mp);
           solver_abtb elasticity (a,b,c,mp);

DESCRIPTION

       This class provides both direct and iterative algorithms for solving mixed problem:

          [ A  B^T ] [ u ]    [ Mf ]
          [        ] [   ]  = [    ]
          [ 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. A
       solver_option(4) argument can change this default behavior. Mixed linear problems appears
       for instance with the discretization of Stokes and elasticity 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.

       Recall that, for 1D and 2D problems, the direct method is default, since it is more
       efficient: see e.g. usersguide. The solver_option(4) allows one to change this default
       behavior.

DIRECT ALGORITHM

       When the kernel of B^T is reduced to zero, the global system is non-singular and the
       solver(4) method could be applied. Otherwise, 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. This is
       a major difficulty for any direct method. Thus, the system is first completed by the
       imposition of an additional constraint on the pressure term: it should have a zero average
       value. By this way, the system becomes non-singular and the solver(4) method could be
       applied.

ITERATIVE ALGORITHM

       The cg(5) preconditionned conjugate gradient algorithm or the gmres(5) one is used,
       depending on the symmetry of the matrix. The mp matrix is used as preconditionner: it can
       be customized by the set_preconditionner member function. The linear sub-systems related
       to the A matrix are also solved by an inner solver. This inner solver is automatically
       defined by default: it can be customized by the set_inner_solver member function and e.g.
       uses it own inner iterative algorithm and preconditionner.

EXAMPLE

       See the usersguide for practical examples for the nearly incompressible elasticity, the
       Stokes and the Navier-Stokes problems.

IMPLEMENTATION

       This documentation has been generated from file linalg/lib/solver_abtb.h

AUTHOR

       Pierre  Saramito  <Pierre.Saramito@imag.fr>

COPYRIGHT

       Copyright   (C)  2000-2018  Pierre  Saramito  <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL
       version 3 or later  <http://gnu.org/licenses/gpl.html>.  This  is  free  software:  you
       are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by
       law.