| -ksp_fetidp_fullyredundant <false> : use a fully redundant set of Lagrange multipliers | - . -ksp_fetidp_saddlepoint <false> : activates support for saddle point problems, see [2]
|
| -ksp_fetidp_saddlepoint_flip <false> : usually, an incompressible Stokes problem is written as | - | A B^T | | v | = | f |
| B 0 | | p | = | g |
with B representing -\int_\Omega \nabla \cdot u q.
If -ksp_fetidp_saddlepoint_flip is true, the code assumes that the user provides it as
| A B^T | | v | = | f |
|-B 0 | | p | = |-g |
|
| -ksp_fetidp_pressure_field < | - 1> : activates support for saddle point problems, and identifies the pressure field id.
If this information is not provided, the pressure field is detected by using MatFindZeroDiagonals().
|
| -ksp_fetidp_pressure_iszero <true> : if false, extracts the pressure block from the matrix (i.e. for Almost Incompressible Elasticity) | - - -ksp_fetidp_pressure_all <false> : if false, uses the interface pressures, as described in [2]. If true, uses the entire pressure field.
|
Notes: Options for the inner KSP and for the customization of the PCBDDC object can be specified at command line by using the prefixes -fetidp_ and -fetidp_bddc_. E.g.,
-fetidp_ksp_type gmres -fetidp_bddc_pc_bddc_symmetric false
will use GMRES for the solution of the linear system on the Lagrange multipliers, generated using a non-symmetric PCBDDC.
For saddle point problems with continuous pressures, the preconditioned operator for the pressure solver can be specified with KSPFETIDPSetPressureOperator().
If it's not provided, an identity matrix will be created; the user then needs to scale it through a Richardson solver.
Options for the pressure solver can be prefixed with -fetidp_fielsplit_p_, E.g.
-fetidp_fielsplit_p_ksp_type preonly -fetidp_fielsplit_p_pc_type lu -fetidp_fielsplit_p_pc_factor_mat_solver_package mumps
In order to use the deluxe version of FETI-DP, you must customize the inner BDDC operator with -fetidp_bddc_pc_bddc_use_deluxe_scaling -fetidp_bddc_pc_bddc_deluxe_singlemat and use
non-redundant multipliers, i.e. -ksp_fetidp_fullyredundant false. Options for the scaling solver are prefixed by -fetidp_bddelta_, E.g.
-fetidp_bddelta_pc_factor_mat_solver_package mumps -my_fetidp_bddelta_pc_type lu
Some of the basic options such as maximum number of iterations and tolerances are automatically passed from this KSP to the inner KSP that actually performs the iterations.
The converged reason and number of iterations computed are passed from the inner KSP to this KSP at the end of the solution.
Developer Notes: Even though this method does not directly use any norms, the user is allowed to set the KSPNormType to any value.
This is so users do not have to change KSPNormType options when they switch from other KSP methods to this one.
References
. [1] - C. Farhat, M. Lesoinne, P. LeTallec, K. Pierson, and D. Rixen, FETI-DP: a dual-primal unified FETI method. I. A faster alternative to the two-level FETI method, Internat. J. Numer. Methods Engrg., 50 (2001), pp. 1523--1544
. [2] - X. Tu, J. Li, A FETI-DP type domain decomposition algorithm for three-dimensional incompressible Stokes equations, SIAM J. Numer. Anal., 53 (2015), pp. 720-742
See Also
MATIS, PCBDDC, KSPFETIDPSetInnerBDDC(), KSPFETIDPGetInnerBDDC(), KSPFETIDPGetInnerKSP()
Level:Advanced
Location:src/ksp/ksp/impls/fetidp/fetidp.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages