Thank you for your answer. It is not true that F2003 support is that limited: Gfortran, Intel Fortran, Cray Fortran, IBM Fortran and PGI Fortran all support nearly full F2003. Some other ones support the C portability of F2003 although not supporting the rest.
* I can contribute on creating this interface. I have experience with F2003 to C++ and it works fine while C is a lot easier. My idea is to create the F03 interface to petsc as a separate tool. So, anyone trying to use petsc with a F03 compiler can compile this interface again to avoid the compiler inconsistency of Modules. We can work on a python (or similar) script to generate the interfaces. For example, a project called gtk-fortran uses this method. Can any of you guys help a little for planning the interface design? Cheers Hossein On Sun, Oct 27, 2013 at 4:42 PM, Satish Balay <[email protected]> wrote: > On Sun, 27 Oct 2013, Matthew Knepley wrote: > > > On Sun, Oct 27, 2013 at 6:16 AM, Hossein Talebi < > [email protected]>wrote: > > > > > Hello All, > > > > > > I am trying to use petsc with Fortran. The initial mechanism to use > petsc > > > with FORTRAN77 that works fine. However, I found the Fortran 90 > interfaces > > > difficult to work with. The very first issue is one has to recompile > petsc > > > with the Fortran compiler in case different to the one which was used > to > > > create the Fortran Mod files. > > Yes - one cannot mix fortran code compiled with 2 different compilers > - or 2 different version of the same compiler wrt modules. > > But we generally recommend not mixing compilers for C aswell as > this > can cause problems. > > Also you don't need to use modules to get f90 interfaces. You can include > the f90 interface include files directly in your code. > > #incude "finclude/petsc.h90" > > > > Also, we would still need to use C type > > > #include statements along with Fortran 'use' statement which is not so > > > optimal. > > Even if you were to use f90 modules #include is unavoidable as we still > have other stuff in include files. > > check include/finclude/petscsysdef.h include/finclude/petscsys.h > > > > Since Fortran 2003 offers great interface to C, did anyone try to > write a > > > F03 interface to petsc? Using F03 features, we can have very low data > > > access to petsc database as well. > > > > > > > F2003 support is fairly thin in the compiler world, and we have not had > > much call for it. We do gratefully accept contributions. > > Currently we have the f90 interfaces [in include/finclude/ftn-auto/] > automatically generated by bfort tool from the C interface. So to > support F03 it would be ideal if there is such a tool. [or update > bfort to do it] > > Satish >
