.TH "solver_abtb" 4rheolef "Version 7.2" "rheolef" \" -*- nroff -*- .ad l .nh .SH NAME solver_abtb \- mixed systems solver (rheolef-7\&.2) .PP .SH "SYNOPSIS" .PP .PP .nf solver_abtb stokes (a,b,mp); solver_abtb elasticity (a,b,c,mp); .fi .PP .SH "DESCRIPTION" .PP This class provides both direct and iterative algorithms for solving mixed problem: .PP .nf [ A B^T ] [ u ] [ Mf ] [ ] [ ] = [ ] [ B -C ] [ p ] [ Mg ] .fi .PP 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 \fBsolver_option(4)\fP 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\&. .PP Recall that, for 1D and 2D problems, the direct method is default, since it is more efficient: see e\&.g\&. \fBusersguide\fP\&. The \fBsolver_option(4)\fP allows one to change this default behavior\&. .SH "DIRECT ALGORITHM" .PP When the kernel of \fCB^T\fP is reduced to zero, the global system is non-singular and the \fBsolver(4)\fP method could be applied\&. Otherwise, when the kernel of \fCB^T\fP 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 \fBsolver(4)\fP method could be applied\&. .SH "ITERATIVE ALGORITHM" .PP The \fBcg(5)\fP preconditionned conjugate gradient algorithm or the \fBgmres(5)\fP one is used, depending on the symmetry of the matrix\&. The \fCmp\fP matrix is used as preconditionner: it can be customized by the \fCset_preconditionner\fP member function\&. The linear sub-systems related to the \fCA\fP matrix are also solved by an inner solver\&. This inner solver is automatically defined by default: it can be customized by the \fCset_inner_solver\fP member function and e\&.g\&. uses it own inner iterative algorithm and preconditionner\&. .SH "EXAMPLE" .PP See the \fBusersguide\fP for practical examples for the nearly incompressible elasticity, the Stokes and the Navier-Stokes problems\&. .SH "IMPLEMENTATION" .PP This documentation has been generated from file linalg/lib/solver_abtb\&.h .SH AUTHOR Pierre Saramito .SH COPYRIGHT Copyright (C) 2000-2018 Pierre Saramito GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.