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

Alp Kalpalp alpkalpalp at gmail.com
Fri Sep 5 04:27:07 CDT 2014


As I said before, I have checked out "master" branch and merged with your
stefano_zampini/pcbddc-primalfixe branch. configured, compiled successfully.
I have used --with-pcbddc option in configure as Barry suggested.

However, tests are failed with following reason:

akalpalp at a-kalpalp ~/petsc
$ make PETSC_DIR=/home/akalpalp/petsc PETSC_ARCH=arch-mswin-c-debug test
Running test examples to verify correct installation
Using PETSC_DIR=/home/akalpalp/petsc and PETSC_ARCH=arch-mswin-c-debug
*******************Error detected during compile or link!*******************
See http://www.mcs.anl.gov/petsc/documentation/faq.html
/home/akalpalp/petsc/src/snes/examples/tutorials ex19
*********************************************************************************
/home/akalpalp/petsc/arch-mswin-c-debug/bin/mpicc -o ex19.o -c -Wall
-Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0
-I/home/akalpalp/petsc/include
-I/home/akalpalp/petsc/arch-mswin-c-debug/include    `pwd`/ex19.c
/home/akalpalp/petsc/arch-mswin-c-debug/bin/mpicc -Wall -Wwrite-strings
-Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0  -o ex19  ex19.o
-L/home/akalpalp/petsc/arch-mswin-c-debug/lib  -lpetsc
-Wl,-rpath,/home/akalpalp/petsc/arch-mswin-c-debug/lib -lf2clapack
-lf2cblas -lpthread -lgdi32 -luser32 -ladvapi32 -lkernel32 -ldl
/home/akalpalp/petsc/arch-mswin-c-debug/lib/libpetsc.a(pcregis.o):pcregis.c:(.rdata$.refptr.PCCreate_BDDC[.refptr.PCCreate_BDDC]+0x0):
undefined reference to `PCCreate_BDDC'
collect2: error: ld returned 1 exit status
makefile:108: recipe for target 'ex19' failed
make[3]: [ex19] Error 1 (ignored)
/usr/bin/rm -f ex19.o
Completed test examples
=========================================
Now to evaluate the computer systems you plan use - do:
make PETSC_DIR=/home/akalpalp/petsc PETSC_ARCH=arch-mswin-c-debug streams
NPMAX=<number of MPI processes you intend to use>



On Thu, Sep 4, 2014 at 5:37 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>    This is likely due to the horrible horrible fact that some of the bddc
> files only get compiled if ./configure is run with the option --with-pcbddc
> you will need to rerun ./configure and then make with that option.
>
>    I pray that someone removes that horrible confusing configure option.
>
>    Barry
>
> On Sep 4, 2014, at 8:52 AM, Alp Kalpalp <alpkalpalp at gmail.com> wrote:
>
> > 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
> compilation.
> > 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> wrote:
> > 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/20140905/201ca71b/attachment.html>


More information about the petsc-users mailing list