On 16/10/17 13:12, Matthew Knepley wrote:
Okay, I was wrong about what gets produced. Barry rewrote the Fortran
bindings last, and I did not understand how everything
was put together. You will need to make some modifications. Here is
the idea: we build an F90 module for each class, and your
stuff will go in the Vec module here:
https://bitbucket.org/petsc/petsc/src/c99b676fdc4d0978b5621d138ceee2e1b7869aa6/src/vec/f90-mod/petscvecmod.F?at=master&fileviewer=file-view-default
You will need to make a module in this file petscsf. It should look
about like the petscao module. That means making
a petscsf.h90 with your new interfaces, like this one
https://bitbucket.org/petsc/petsc/src/c99b676fdc4d0978b5621d138ceee2e1b7869aa6/src/vec/f90-mod/petscis.h90?at=master&fileviewer=file-view-default
and also a generic petscsf.h, like this one
https://bitbucket.org/petsc/petsc/src/c99b676fdc4d0978b5621d138ceee2e1b7869aa6/src/vec/f90-mod/petscao.h?at=master&fileviewer=file-view-default
This last file petscao.h is including a "petsc/finclude/petscao.h",
which contains various definitions including the definition of AO. Do I
need to make some sort of similar "petsc/finclude/petscsf.h"?
It looks like PetscSF is already defined inside
petsc/finclude/petscis.h. It's not clear to me which bits of the SF
interface need to be in their own files and which are lumped in with the
IS interface.
- Adrian
--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: [email protected]
tel: +64 (0)9 923 4611