CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   A book for a beginner wanting to learn programming (

frank September 12, 2005 19:46

A book for a beginner wanting to learn programming
Hello I am a mechanical engineer. Unfortunately in my university there are no many programming courses for the mechanical area. However with the years I had to learn the use of FEA packages, in the linear and non-linear fields (ansys). Since last year I have been involved in a company, and I had to learn some CFD codes (CFX primarly). Today I really know that the programming is the key to achieve good models and have a little of control of the model. I have suffered the limitations of be a non-programmer and only be a "user" of a package. On the other hand I want to apply for a postgraduate the next year and I want to know how to program for that date. I think that Fortran is one of the most important languages for scientific and engineering programming, but I want to hear your advise about other language. I am writing to this excellent forum to get a suggestions about a book for "learn by myself" in Fortran 95. Does anybody know about a book for a beginner? I think I will buy by Thank you in advance frank

Ahmed September 12, 2005 20:30

Re: A book for a beginner wanting to learn program
C++ and C are the languages used in all cfd programes

Renato N. Elias September 12, 2005 20:49

Re: A book for a beginner wanting to learn program
Hi Frank,

I think Fortran is the easiest programming language to write scientific applications quickly, thus it's a good choice for learners. I know that Fortran is not so powerful than C++, but by choosing an easy programing language you'll avoid to get unmotivated.


Renato N. Elias

p.s.: I'm seding a Fortran 90's ebook to your email.

andy September 13, 2005 03:55

Re: A book for a beginner wanting to learn program
The best place to get recommendations for learning Fortran is probably the usenet group comp.lang.fortran.

Learning to use a programming language effectively requires only a modest amount of bookwork but a significant amount of practice guided by good programming examples. A typical programming course for a modest sized programming language would perhaps have 10 hours lectures, 30-50 hours tutorials and 30-50 hours homework. When working on your own it can be hard to sort out much of the practical side or even realize you are doing things in an awkward and clumsy manner.

The best choice of language/s is not clear cut. Engineers who do not get involved in the nitty-gritty of implementing CFD solvers but are principally users of various packages and wish to manipulate their data are usually more effective using scripting languages such as python, ruby, matlab, etc... Such languages can be a good place to start learning. A 30 minute browse of the getting started documents on may be useful.

Python + Fortran 77 is a fairly effective combination.

zxaar September 13, 2005 05:17

Re: A book for a beginner wanting to learn program
Frank, in my opinion the most important thing is the way you think of a problem. Or how do you approach its solution. Once you know this, using a computer language is mere a formality. I did just a basic pascal course and i do not remeber when i learnt C or C++ or Java. Its just that i am equaly at ease with all of them. because more or less all the lanugage in their background work the same. I would suggest you to look into algorithmic aspect more than just trying to learn some language. The best way to learn is to keep your self a fairly complecated task and try to accomplish that. The task shall not be too small also, it shall give you some amount of headache or shall make your grey cells work.

Jim_Park September 13, 2005 08:37

Re: A book for a beginner wanting to learn program
Introduction to Fortran 90 for Engineers and Scientists, by Larry R. Nyhoff and Sanford C. Leestma, paperback by Prentice Hall has exercises. Good beginning.

Fortran 90/95 for Scientists and Engineers, by Stephen J. Chapman, paperback by McGraw-Hill. A more complete reference.

Slightly difference approach in each. Both are really useful (for me).

Good luck!

frank September 13, 2005 16:23

Re: A book for a beginner wanting to learn program
Thank you to everyone for your responses. and thank you Renato for the ebook, I have receive it. regards, frank

Vinod Dhiman September 23, 2005 16:57

Re: A book for a beginner wanting to learn program
Hi Frank

Its very true that you should be knowing how to write an algorithm, and not a program. Program is just an implimentation of an algorithm. It really doesn't matter which language do you use, whether FORTRAN or C(++), what matter is how well organized your algorithm. However, FORTRAN 200x is much much better than any other language. But right now not freely available, will be shortly. And for most of CFD Engineers FORTRAN is best.

There is one thing. Sometimes you need to write UDFs in packages as they are self-contained. So, you should be knowing somewhat C(++), too.

If you need I can send you an electronic manual of IBM XL FORTRAN. Its a manual and not for beginners, however, to reach to this level you don't need more than two days. If you need do send me your mail ID at

With Best Wishes Vinod Dhiman

amin d April 30, 2014 06:16

could u please send this books to me. I'm beginner in fortran programing

Dcarroll May 12, 2014 23:15

"A Book on C" is the classic C textbook. I love it.


All times are GMT -4. The time now is 11:45.