Vijay,

I have patched in the changes to deal.II subversion and now it is
possible to use petsc-dev. Sadly, I still need to fix the header links
with slepc-dev; I suspect this can be done quite quickly.

I have been suing petsc-dev and slepc-dev with deal.II for quite some
time, however, not in the last six months (which is why part of the
interface was missing).

If you run svn update, acloca, and autoconf, at least petsc-dev should
compile ok for you. Please let me know if that works!

Here are some comments:

> 1) common/Make.global_options: need to check for slepc version > 3.1
> or release. Currently I added a check only for major version of "3" in
> order to include $(DEAL_II_SLEPC_DIR)/$(DEAL_II_PETSC_ARCH)/include in
> the path.

We never check for SLEP_ARCH or SLEPC_VERSION directly in the wrapper
classes. It is assumed (at configuration time) that the PETSC_VERSION
and SLEPC_VERSION are identical. If not, an error is thrown. Therefore,
to keep the link between petsc and slepc obvious, and to make the
interface simple, only PETSc checks are performed. An example is in
slepc_solver.cc

> 2) The typedef for PetscTruth is redefined in petsc_vector_base.h and
> petsc_matrix_base.h. This can be consolidated into a single include
> file. I was not sure if the config.h.in was an appropriate place to
> add this under the umbrella of DEAL_HAVE_PETSC mainly because it
> requires the inclusion of petscsys.h.

This looks like a good idea! I will have a think about this.

> 3) I was not entirely sure if the new copy mode option for
> "ISCreateGeneral" makes a difference unless the index set is actually
> copied. By default, I left them as PETSC_COPY_VALUES.

That's the right thing to do...

> On a side note, when modifying the petsc_solver.cc source file, I
> noticed a comment regarding KSPGMRESSetRestart. It is not a macro
> anymore and I saw couple of comments in petsc_solver.cc that indicate
> this. You could perform a version based code switch by defaulting to
> the existing code for old versions and directly using the method in
> future releases and the dev version. Jed might be able to correct me
> in case I'm off.

I will look into this. In any case, we have a little time getting this
right (until the next deal.II release).

Thanks again for you hard work and for sharing it with us; we really
do appreceate that! Normally I keep up-to-date with PETSc/SLEPc but, as
sketched above, the last six months I have not been able to do this -
your patch made it possible.

You will note the changes I have made to your patches. The reason for
this is that the order of checking always allows that *later* versions
of PETSc/SLEPc will work with the current interface; unless of course,
PETSc change their interface again   ;-)   It is also always worth
remembering that the latest petsc-release is not always a complete issue
of petsc-dev.

I will try to get the header files linking correctly for SLEPc. Do you
know exactly what changes need to be made? Please let me know if so,
and I will check and patch them in. 

Best,
        Toby



-- 
Toby D. Young

Assistant Professor Philosophy & Physics
Polish Academy of Sciences
www:   http://www.ippt.gov.pl/~tyoung
skype: stenografia

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to