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

Reply via email to