[petsc-users] FETI-DP implementation and call sequence

Alp Kalpalp alpkalpalp at gmail.com
Thu Sep 4 08:52:38 CDT 2014

Dear Stefano,

I have checked out "master" branch and merged with your
stefano_zampini/pcbddc-primalfixe branch. configured, compiled and all
tests are completed successfully.
Then, I tried to compile ex59 with make ex59, it results in unresolved
external error. I believe your bddc_feti files are not included in
Since I am not experienced on how to solve issues in Petsc, I need to ask
several questions;

1-) Are there any global settings to add additonal directories to
compilation  (src\ksp\pc\impls\bddc)
2-) or should I include these files on top of ex59 (AFAIK, including .c
files is not a good thing)
3-) and finally what is the better way of helping you (creating another
branch from yours or what)

Thanks in advance

On Wed, Sep 3, 2014 at 6:18 PM, Stefano Zampini <stefano.zampini at gmail.com>

> FETIDP is in PETSc as a byproduct of the BDDC preconditioner (one is the
> dual of the other) and it does not have its own classes so far.
> That said, you can experiment with FETI-DP only after having setup a BDDC
> preconditioner with the options and customization you prefer.
> Use http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/KSP/index.html for
> manual pages.
> For an 'how to' with FETIDP, please see
> src/ksp/ksp/examples/tutorials/ex.59.c as Jed told you, specifically look
> at ComputeKSPFETIDP for obtaining the FETIDP matrix F (implemented
> Matrix-free) and the optimal FETIDP dirichlet preconditioner. Once you have
> F, you can use PCBDDCMatFETIDPGetRHS and PCBDDCMatFetiDPGetSolution to
> obtain a right-hand side for the FETIDP system and a physical solution from
> the solution of the FETIDP system.
> I would recommend you to use the development version of the library and
> either use the ‘next’ branch or the ‘master' branch after having merged
> in the branch stefano_zampini/pcbddc-primalfixes. Note that ‘next’ also
> contains the new deluxe scaling operator for BDDC which is not available
> to use with FETI-DP.
> If you have any other questions which can be useful for other PETSc users,
> please use the mailing list; otherwise you can contact me personally.
> Stefano
> On Sep 3, 2014, at 5:19 PM, Jed Brown <jed at jedbrown.org> wrote:
> Matthew Knepley <knepley at gmail.com> writes:
> 1- Is it possible to complete a FETI-DP solution with the provided
> functions in current PetSc release?
> There is no FETI-DP in PETSc.
> Wrong.  There is PCBDDC, which has the same eigenvalues as FETI-DP.  You
> can enable it by configuring --with-pcbddc.  This will be turned on by
> default soon.  It is fairly new, so you should use the branch 'master'
> instead of the release.  It has an option to do FETI-DP instead of BDDC.
> See src/ksp/ksp/examples/tutorials/ex59.c.
> For either of these methods, you have to assemble a MATIS.  If you use
> MatSetValuesLocal, most of your assembly code can stay the same.
> Hopefully we can get better examples before the next release.  Stefano
> (the author of PCBDDC, Cc'd) tests mostly with external packages, but we
> really need more complete tests within PETSc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140904/bb37ab5a/attachment-0001.html>

More information about the petsc-users mailing list