CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   CS for starters (

kirank August 28, 1998 10:29

CS for starters

All those of you who have written your own CFD code, either for a specific problem, specific class of problems...whatever: (1.) Have you had to write your own pre/post-processors (for grid-generation, visualization etc) also? (2.) If yes, how much computer knowledge is generally required, in regards to graphics (to visualize results), programming (to write graphical exchange interfaces) etc. (3.) For all the answers to 2. above, are there any good "teach yourself..." books (like the ELBS series) from which i can learn (it either PC or unix)? (4.)If your answer was no to 2. above, what software is available: freeware, shareware etc that one can customize, and what is needed?

This is mu first posting, so Cheerios! And gracias in advance...


Bruce August 28, 1998 10:54

Re: CS for starters
I'm sorry if this sounds rude, but if you intend to write your own CFD solver, pre- and post-processor you must be able to learn things by just reading manuals, locating and looking at freeware examples ... A "teach yourself" book might be a good start, but in order to succeed I'm afraid you'll have to be able to teach yourself without a special book.

How much knowledge you need and which books you should read depends entirely on what you want to do. If you want to write a commercial CFD code you'll have to be an expert in everything - CAD interfaces, geometry modeling, parallell computing, numerics, visualization techniques, turbulence modeling, software engineering, ... But if you just want to write your own hobby code to solve and plot 2D convection-diffusion you'll probably manage just by learning a bit of matlab and some basic numerics. There are many free mesh generators and post-processors available, but it's difficult to recommend anything without knowing what you want to do and which intentions you have with doing it. Again, I'm sorry if I sound rude, it's not my intention. Writing a general CFD code with buildt in pre- and post-processing is a big project ... reminds me on when I as an enthusiastic college student wanted to write my own operating system, but then Linus Thorvalds did just that (linux). Guess I was too stupid (or realistic) to succeed myself.

John C. Chien August 28, 1998 11:50

Re: CS for starters
You are right ! In old days, if you have access to the Fortran and Plot10 graphic library and a graphic monitor, you can write a 2-D CFD code with integrated line graphics or color graphics ( depending upon the version of Plots10 and your hardware.) Today, the easiest place to start is a PC and the Visual Basic language from Microsoft. The speed may not be ideal, but it's a good starting point. The other option is a PC and the Microsoft Fortran ( if it's still available). I have used both approaches, so you shouldn't have problems with these two approaches. VB and MS Fortran both have graphic library included ( so you don't have to use other package like OpenGL library.) Once you know how to draw a line between two points, you can do almost anything you like. ( once you have learned how to do 2-D graphics, you can make a quantum jump to the 3-D world, using libraries such as OpenGL, Hoops etc.....) Graphic programming is not trivial, it requires special type of skill. Any one can write a commercial package, if he approach it " step-by-step ". It's not difficult, but it sure will take you a lot of time. ( you need to know how to find the information you need. )

Bruce August 28, 1998 12:24

Re: CS for starters
If this is just a hobby and learning project I'd recommend to start playing with matlab (or maple or mathematica) - you can even use the buildt in direct solver to begin with, then all you need to do is to discretize. Contour plots and other more advanced plot routines are also buildt in. Once you want to do more fancy things or want to optimize and speed up your code you can write independet parts in fortran or C and call as separate routines. Graphics in matlab is pretty advanced and flexible these days.

The matlab route is not good if your final goal is an integrated, industrial strength, CFD code though. Then I'd go with F90 or C++ and, as Mr Chien suggests, base graphics on OpenGL.

kirank August 28, 1998 13:55

Re: CS for starters
senor Bruce, and senor John,

Mucho gracias for your suggestions. And i did not be offended from your comments senor Bruce. my intentions are what you call "hobby code" but a little more than basic beginer. so i'll explore your suggestions. thanks for your times.

All times are GMT -4. The time now is 20:58.