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 <[email protected]> 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 < > [email protected]> 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 > CEA/CESTA > 33114 LE BARP > Tel.: (+33)557046924 > Mob.: (+33)611025322 > Mail: [email protected] > > > -- Thibault Bridel-Bertomeu — Eng, MSc, PhD Research Engineer CEA/CESTA 33114 LE BARP Tel.: (+33)557046924 Mob.: (+33)611025322 Mail: [email protected]
