Hi,

I was trying to configure Deal.II (svn dev version) with the
PETSc/SLEPc dev versions and encountered few issues. I am attaching a
patch that fixes these errors. Most changes in the patch are
straightforward but do go over the modifications to make sure if they
are consistent.

Few notes:

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.

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.

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.

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.

It might be a good idea to run the regression tests (with both 3.1/dev
versions of PETSc/SLEPc) with the patch applied before committing it
to the trunk. Do let me know if you have any other questions regarding
the patch.

Vijay

Attachment: petsc-dev-patch-dealii-sep-3-2011-rev24246
Description: Binary data

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

Reply via email to