[petsc-users] PetscSection: Fortran interfaces

Satish Balay balay at mcs.anl.gov
Sat Feb 3 11:19:40 CST 2024


diff --git a/src/vec/f90-mod/petscvecmod.F90 b/src/vec/f90-mod/petscvecmod.F90
index 4c54fbf63dc..8772f89e135 100644
--- a/src/vec/f90-mod/petscvecmod.F90
+++ b/src/vec/f90-mod/petscvecmod.F90
@@ -163,6 +163,7 @@
 #include <../src/vec/f90-mod/petscvec.h90>
         interface
 #include <../src/vec/f90-mod/ftn-auto-interfaces/petscvec.h90>
+#include <../src/vec/f90-mod/ftn-auto-interfaces/petscpetscsection.h90>
         end interface
         end module


Perhaps there are more generated files that are missing from such listing..

Satish

On Sat, 3 Feb 2024, Martin Diehl wrote:

> thanks for the quick reply
> 
> I think my question was not clear enough:
> With "interfaces" I ment the Fortran module files that ensure correct
> calling signatures.
> 
> In the example (ex26f90), I can replace "ierr" of PetscSectionGetDof
> with anything without getting complaints from the compiler. This does
> not work for other functions, e.g. "ISRestoreIndicesF90" in line 272.
> 
> Martin
>  
> 
> On Sat, 2024-02-03 at 11:51 -0500, Matthew Knepley wrote:
> > Can you give us a simple code that is not working for you?  My test
> > should work
> > 
> >   src/dm/impls/plex/tests/ex26f90
> > 
> >   Thanks,
> > 
> >      Matt
> > 
> > On Sat, Feb 3, 2024 at 11:36 AM Barry Smith <bsmith at petsc.dev> wrote:
> > > 
> > >   The Fortran "stubs" (subroutines) should be in
> > > $PETSC_ARCH/src/vec/is/section/interface/ftn-auto/sectionf.c and
> > > compiled and linked into the PETSc library.
> > > 
> > >   The same tool that builds the interfaces in
> > > $PETSC_ARCH/src/vec/f90-mod/ftn-auto-
> > > interfaces/petscpetscsection.h90,  also builds the stubs so it is
> > > surprising one would exist but not the other.
> > > 
> > >   Barry
> > > 
> > > 
> > > > On Feb 3, 2024, at 11:27 AM, Martin Diehl
> > > > <martin.diehl at kuleuven.be> wrote:
> > > > 
> > > > Dear PETSc team,
> > > > 
> > > > I currently can't make use of Fortran interfaces for "section".
> > > > In particular, I can't see how to use
> > > > 
> > > > PetscSectionGetFieldComponents                                   
> > > >     
> > > > PetscSectionGetFieldDof                                         
> > > >      
> > > > PetscSectionGetFieldOffset
> > > > 
> > > > The interfaces for them are created in $PETSC_ARCH/src/vec/f90-
> > > > mod/ftn-
> > > > auto-interfaces/petscpetscsection.h90, but it seems that they are
> > > > not
> > > > exposed to the public.
> > > > 
> > > > Could you give me a hint how to use them or fix this?
> > > > 
> > > > with best regards,
> > > > Martin
> > > > 
> > > > 
> > > > -- 
> > > > KU Leuven
> > > > Department of Computer Science
> > > > Department of Materials Engineering
> > > > Celestijnenlaan 200a
> > > > 3001 Leuven, Belgium
> > > > 
> > > 
> > 
> > 
> > -- 
> > What most experimenters take for granted before they begin their
> > experiments is infinitely more interesting than any results to which
> > their experiments lead.
> > -- Norbert Wiener
> > 
> > https://www.cse.buffalo.edu/~knepley/
> 
> 


More information about the petsc-users mailing list