<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 10/27/2013 12:36 PM, Hossein Talebi wrote:
<blockquote
cite="mid:CAEjaKwAPfF=x+Qqwf7JbGyZ_fiTpeHWDdVi-GVcwBRGf1o7hiQ@mail.gmail.com"
type="cite">
<div dir="ltr">Thank you for your answer.
<div><br>
</div>
<div>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.</div>
</div>
</blockquote>
<br>
You're 100% right but many systems often have older versions of
these compilers that don't support the Fortran C interoperability.
There is absolutely no excuse to not upgrade but then its not always
possible.<br>
<br>
Unless there is a significant gain in functionality (or ease of
support) by moving to a Fortran 2003 compiler it would be better to
be conservative. One advantage of being able to build PETSc on a old
enough system (e.g., Debian Etch with GCC 4.1; glibc 2.4) is that
you can very easily build a static binary of your code and it will
run pretty much on every Linux machine out there.<br>
<br>
T<br>
<br>
<blockquote
cite="mid:CAEjaKwAPfF=x+Qqwf7JbGyZ_fiTpeHWDdVi-GVcwBRGf1o7hiQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>* 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. <br>
</div>
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div><br>
</div>
<div>Cheers</div>
<div>Hossein</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div> </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div> </div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">On Sun, Oct 27, 2013 at 4:42 PM,
Satish Balay <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On Sun, 27 Oct 2013, Matthew Knepley wrote:<br>
<br>
> On Sun, Oct 27, 2013 at 6:16 AM, Hossein Talebi
<<a moz-do-not-send="true"
href="mailto:talebi.hossein@gmail.com" target="_blank">talebi.hossein@gmail.com</a>>wrote:<br>
><br>
> > Hello All,<br>
> ><br>
> > I am trying to use petsc with Fortran. The
initial mechanism to use petsc<br>
> > with FORTRAN77 that works fine. However, I
found the Fortran 90 interfaces<br>
> > difficult to work with. The very first issue
is one has to recompile petsc<br>
> > with the Fortran compiler in case different to
the one which was used to<br>
> > create the Fortran Mod files.<br>
<br>
</div>
Yes - one cannot mix fortran code compiled with 2
different compilers<br>
- or 2 different version of the same compiler wrt modules.<br>
<br>
But we generally recommend not mixing compilers for C
aswell as this<br>
can cause problems.<br>
<br>
Also you don't need to use modules to get f90 interfaces.
You can include<br>
the f90 interface include files directly in your code.<br>
<br>
#incude "finclude/petsc.h90"<br>
<div><br>
> > Also, we would still need to use C type<br>
> > #include statements along with Fortran 'use'
statement which is not so<br>
> > optimal.<br>
<br>
</div>
Even if you were to use f90 modules #include is
unavoidable as we still<br>
have other stuff in include files.<br>
<br>
check include/finclude/petscsysdef.h
include/finclude/petscsys.h<br>
<div><br>
> > Since Fortran 2003 offers great interface to
C, did anyone try to write a<br>
> > F03 interface to petsc? Using F03 features, we
can have very low data<br>
> > access to petsc database as well.<br>
> ><br>
><br>
> F2003 support is fairly thin in the compiler world,
and we have not had<br>
> much call for it. We do gratefully accept
contributions.<br>
<br>
</div>
Currently we have the f90 interfaces [in
include/finclude/ftn-auto/]<br>
automatically generated by bfort tool from the C
interface. So to<br>
support F03 it would be ideal if there is such a tool. [or
update<br>
bfort to do it]<br>
<span><font color="#888888"><br>
Satish<br>
</font></span></blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
No one trusts a model except the one who wrote it; Everyone trusts an observation except the one who made it- Harlow Shapley</pre>
</body>
</html>