FLLOP (FETI Light Layer On top of PETSc) is a novel package for constrained quadratic programming and FETI domain decomposition. It is built on top of PETSc as its extension (similarly to TAO or SLEPc). FLLOP API is carefully designed to be user-friendly allowing natural specification of a QP problem, QP transformations independent of a particular solver, automatic or manual choice of a sensible solver. Still, it remains efficient and targeted at HPC. Current applications include mainly engineering problems of structural mechanics: linear elasticity, contact problems (also with friction), elasto-plasticity.
We are working hard on improving scalability of FETI domain decomposition methods blending iterative and direct solvers. Smart use of parallel direct solvers for FETI coarse problem solution turned out to be crucial to solve problems with hundreds of millions to billions unknowns. However, further significant improvement is anticipated in case we would use direct solvers designated specifically for multi-core systems or accelerators to solve local and coarse problems and map them appropriately to the computational nodes.
The code is written in ANSI C and requires PETSc 3.2+. It is recommended to link PETSc with at least one external parallel direct solver (MUMPS, SuperLU, PaStiX).
- Highly scalable solution of linear systems and more general quadratic programming problems (QP).
- Easy to use front-end with 2 different APIs (PETSc-like and pure C) and file-based interface.
- Sophisticated back-end: QP transformations, special QP algorithms and FETI domain decomposition.