- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does anyone have any good available resources for summary of statements, structures, etc for FORTRAN 77,just like the link below, but something more full and complete. Thanks.
http://www.nsc.liu.se/~boein/f77to90/a2.html
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would be quite surprised if Abaqus cared what the source form was.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It does seem that all Abaqus subroutines are written in the .FOR format and all the examples I have seen seem to exactly follow the Fotran 77 structure. I am currently using Intel Fortran 10.1 which abaqus recommend I use for the version of abaqus I am using. I have attached an example subroutine to this post. I was so confused at the beginning why I could not understand the syntax, but now I have loads of old FORTRAN 77 book the code starts to make more sense to me as I am not a programming by field.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if(time <= 0.2) then
c = 1.113e-6 * h
else if( time(2) > 0.2 .and. time(2) <= 5.0 )then
From a pedantic viewpoint, the use of lower case didn't strictly conform to Fortran 77.
The use of default data typing is a practice held over from 50 years ago which was frowned upon even before Fortran 77 was introduced.
real flow(kflow),time(2),coords(3),c,h
would have the same effect with better maintainability, and that's Fortran 66.
I disagree with the comment about INCLUDE as a reason for fixed format. I do agree that you would not attempt to replace the INCLUDEs with a Fortran 90 equivalent (USE).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"ABA_PARAMS.INC" in your example.
As Steve already mentioned, the source form (fixed form) is not tied to the standard. Having to
use fixed form still allows you to use Fortran 90/95 constructs (Intel Fortran 10.1 conforms to
that standard). So you could still use, say:
c Initialise the flow array
flow = 0.0
an array operation, because the flow array is dimensioned to kflow elements.
Regards,
Arjen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To add to (and emphasise) what others have said.
F77 style coding is supported by modern compilers, it is a subset of the current Fortran standard.
Intel Fortran 10, while not exactly new :-) , is one of those compilers
A ".for" file means the contents of the file follow the rules for fixed format
In which case this means columns are important.
However theFortran code itselfcould be F95 -with whole array operations, allocatables, modules etc.
By all means learn Fortran from the resources you have, just do not think that you are constrained to do things the F77 way. Fortran has improved over the last 40 years.
Les
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Posting on this forum has been a massive help and I am sure there will be many posts to come :-)
P.S. I noticed that with abaqus it records all your actions in the GUI into a python script which you can later add to change, etc. Is there anything similar to this for fortran? I.e. where you can build a flow chart and it converts this to code? It's probably cheating though ;-)
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks TimP, its nice to hear you are also from a Mechanical Engineering background, but quite clearly have contributed to the computer science arena :-). I completely agree, I would use new rather than old, the problem is SIMULIA still seem to think in "old money" when it comes to developing subroutines. This is not a criticism, its just that they are probably going by the philosophy "if it ain't broken, don't fix it".
I would like to take my programming to the current and future directions, i.e. I do not want to be learning 50 year old code, etc. Hence my question about new ways of writing codes and programmes... i.e. I have heardof flowbased programming, but notsure if thisthe sort of thing I am after.Does anyone input on this?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am in civil engineering and I use Fortran with Abaqus from time to time. All the code I write for Abaqus is based on the 95 and later standards. So as the previous posts state there is absolutely no need to use Fortran 77, expecially if you are new to the language. Also, I have never had any problems with using newer versions of Intel Fortran with Abaqus, even though Abaqus recommends, for example, Ifort 10.1.
j_clausen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi J_clausen,
Thanks for your input on this. It's nice to know I can use 95 as well, although, both are just as new to me. It's been very steep learning curve so far.
In order to do this, do you need to make the changes to the .env file as you suggested in another post? (see link below):
http://software.intel.com/en-us/forums/showthread.php?t=86477
mechprog
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"You can ensure your program enforces the Fortran standard by using the -stand (Linux* OS and Mac OS* X) or /stand (Windows* OS) compiler option with the appropriate keyword (f90, f95, or f03) to flag extensions. The none keyword turns off enforcement of a particular Fortran standard. You can also use the following compiler options to set the Fortran standard: -std90 or /std90, -std95 or /std95, and -std03 or /std03. "
------
Wendy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To mechprog
No, you don't need to change the .env-file in order to use any Fortran standard. One of the nice things about Fortran is thatit's backward compatible.The mentioned change in the .env-file is only needed if you want to use free in stead of fixed form. (as mentioned by Steve in an earlier post, the free/fixed form is independent of the Fortran standard version)
Best regards
j_clausen
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page