[petsc-users] TS tutorial ex11 in Fortran

Thibault Bridel-Bertomeu thibault.bridelbertomeu at gmail.com
Sat Dec 12 14:59:19 CST 2020

Dear Jed, dear Barry,

Thank you for the fast answers !

If I have any success I will make sure to make a pull request to provide
some version of ex11 in Fortran.

Regarding the stubs, I admit I started looking in that direction to add the
missing wrappers but I am not sure I fully understand the process yet.
For each C function, I gotta provide a Fortran interface in a .h90 file as
well as a C function that has a Fortran-like prototype and calls the C
function - right ? However there are a few things I could not find /
understand yet.
For instance, it appears that for C functions that have character string
arguments take an extra argument in their Fortran-like-prototype-wrapper,
namely the length of the string. Is that passed automatically ? I couldn’t
find where it could come from ...
Another thing is for functions like PetscFVView. I guess the wrapping is
less straightforward because I tried a quick something and it segfault’ed.
I couldnt find the wrapper for DMView although there is such a routine in
Fortran too. Could you please detail how to wrap such functions ?

Thank you very much again,

Thibault Bridel-Bertomeu

Le sam. 12 déc. 2020 à 21:48, Barry Smith <bsmith at petsc.dev> a écrit :

>    PETSc Fortran interfaces are a combination of automatically generated
> and manually generated.
>    For any C PETSc function if the manual page begins with /*@  it
> generates the Fortran interface automatically (make allfortranstubs).  If
> it begins /*@C then either the Fortran interface is done manually or is
> missing.
>    C functions that have character string arguments or function arguments
> (or a few other special cases) need to be manually provided.  The
> automatically generated stubs go in the directory ftn-auto while manually
> generated ones go in the directory fin-custom.
>    Perhaps you could first generate a list of "missing" Fortran stubs and
> then for each stub determine why it is missing and if it can be provided.
> Some are likely easy to provide but a few (involving function arguments)
> will be more involved. Once you have all the stubs available translating
> ex11.c becomes straightforward.
>   Barry
> On Dec 12, 2020, at 9:30 AM, Thibault Bridel-Bertomeu <
> thibault.bridelbertomeu at gmail.com> wrote:
> Dear all,
> Is there somewhere a version of the TS tutorial ex11.c in Fortran ?
> I am looking into building in F90 (let's say that it is an unavoidable
> constraint) an unstructured 3D solver of the Euler equations using the
> "new" features of PETSc - mostly DMPlex & PetscFV - but I think there are
> some interfaces missing and I find it hard to find workarounds in Fortran.
> I would be grateful if anyone could please give me some pointers ...
> Thank you very much in advance,
> Thibault Bridel-Bertomeu
>> Eng, MSc, PhD
> Research Engineer
> 33114 LE BARP
> Tel.: (+33)557046924
> Mob.: (+33)611025322
> Mail: thibault.bridelbertomeu at gmail.com
> --
Thibault Bridel-Bertomeu
Eng, MSc, PhD
Research Engineer
33114 LE BARP
Tel.: (+33)557046924
Mob.: (+33)611025322
Mail: thibault.bridelbertomeu at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20201212/cd9719ca/attachment.html>

More information about the petsc-users mailing list