***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 proj

After 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 eps

where 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 iter

where iter is the maximum iterations when solving the interface problem (default is 100).

**max_standing max

where max is an integer specifying the maximum number of CG iterations allowed without any significant decrease of the convergence ratio.**

**precond type

This 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 dir

where 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 or p1p1p1, 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