***feti
#
Description#
This command allows input of parameters used by the FETI iterative
parallel solver, and therefore may only be included in parallel mode
(execution with switch -PP
as described in the chapter about
Parallel computing at page ).
As the FETI solver is based upon a Conjugate Gradient (CG) method to solve the interface problem arising from sub-domain decomposition, those parameters are mainly conventional input parameters associated with an iterative CG method.
Syntax#
***feti
\(~\,\)**projector
proj \(~\,\)**precision
eps [**max_iteration
iter ] [**max_standing
max ] [**precond
type ] [**keep_direction
dir ] [**reprojection
] [**init_lp
]
**projector
projAfter subdomain decomposition the local problem defined on each subdomain may be singular. To avoid rigid-body motions the FETI solver uses a projected CG algorithm (see page for reference). Projection of the gradient requires solving a linear system of equation whose dimension is the total number of rigid-body motions in the subdomains. The string argument proj specifies the method used to solve this system of equation, and can be one of the following:**
CODE
DESCRIPTION
direct
Direct Gauss solver
iterative
Iterative Conjugate Gradient solver
Direct solver is faster, and this option is strongly advised unless small pivots problems arise during resolution in which case the iterative option may be more efficient.
**precision
epswhere eps is a real value defining the relative precision required for convergence when solving the interface problem with the CG method. For a system of equation:
(82)#\[\bf K \bf q = \bf F\]this relative ratio is defined by:
(83)#\[ratio = \frac{||\bf F - \bf K \bf q||}{||\bf F||}\]and convergence occurs when:
(84)#\[ratio < \hbox{{\sl eps}}\]**max_iteration
iterwhere iter is the maximum iterations when solving the interface problem (default is 100).
**max_standing
maxwhere max is an integer specifying the maximum number of CG iterations allowed without any significant decrease of the convergence ratio.**
**precond
typeThis optional keyword is used to specify the type of pre-conditioning used to accelerate CG convergence. Until now, the only pre-conditioner available is
lumped
. Pre-conditioning is strongly advised and can significantly reduce the number of FETI iterations.**keep_direction
dirwhere dir is the the integer value of the number of orthogonal descent directions retained during the CG iterations. Increasing dir leads to faster convergence but is more memory consuming. Default value is iter+1.
**reprojection
This subcommand can significantly reduce the number of FETI iterations, when used in conjunction with quasi-Newton schemes of tangent matrix update (such as
eeeeee
orp1p1p1
, see the**algorithm
command). With this option the descent directions calculated during previous load increments are reused, leading to convergence in just a few iterations when the tangent matrix and the load increment stay constant over several Newton increments.**init_lp
When a new resolution is asked for (new iteration, or new increment), this option allows to reuse the previous interface force field, instead of starting from a zero force field (which is the default option). This option has to be used together with the
**reprojection
option.
Example#
***feti
**projector direct
**keep_direction 150
**precision 0.00000001
**max_iteration 1000
**precond lumped