Diagonalized Upwind Navier Stokes Code
Frequently Asked Questions
1. Where can I get more information about the solution procedures used with the DUNS code?
Unfortunately, there is not much more documentation available other than what is currently provided in the tutorial and various text files included with the download. If you need a better background in the schemes that are used in the DUNS code, probably the best place for information is my thesis and the thesis of a colleague. They can be obtained through the UMI web service at:
My thesis is:Author: Schwer, Douglas Alan
Title: Numerical Study of Unsteadiness in Non-Reacting and Reacting Mixing Layers
School: Penn State University
Order Number: 9938057
Phil Buelow's is:Author: Buelow, Philip
Title: Convergence Enhancement of Euler and Navier-Stokes Algorithm
School: Penn State University
Order Number: 9612702
2. Will DUNS work on my Unix System?
The DUNS for the most part uses standard tools that are available on all of the different variants of Unix, so porting from one system to another system is generally not a problem. Indeed, a collection of different Makefile parameters is given for several different systems in the
The biggest problem could be getting a good FORTRAN compiler. The GNU f77 compiler (g77) will compile the DUNS code fine, but has some problems with running different cases (look at the Compatibility Page for details. Intel has a nice FORTRAN compiler that is free for non-commercial uses and seems to work well with the DUNS code. Code generated by f2c (and using fort77 as a front-end) also works well, although f2c does not seem to be available for the recent Linux Redhat operating systems (I do not know about the other flavors of Linux). I currently have Linux RH9 and am using an older version of f2c and fort77 and also the Intel compilers for my computations, both of which have worked well.
Another sticking point is the preprocessor. A C-preprocessor is used to preprocess all of the files (both FORTRAN77 and C files) to include code only relevant to the problem you are solving. The behavior of the C-preprocessor in the newer versions of gcc has changed in terms of how it handles white-space recently. The preprocessor now removes whitespace seemingly indiscriminantly (although I'm sure there is a reason for this) as it preprocesses the FORTRAN files. Because FORTRAN77 requires a six-character margin to the left of the command, this removal of white-space can cause problems when subsequently compiling the code. This can be overcome by using the -tranditional-cpp flag for the C-preprocessor. It would be nice to change this preprocessing to use the m4 preprocessor instead, as this would be more stable, and more consistent between systems, but that would be a major effort and so probably won't be done for a while.
3. Will DUNS work on Windows?
Now that is a more interesting question. The DUNS code has been developed on Unix systems using Unix tools, so it doesn't necessarily fit into the Windows world very well. With that being sad, I have actually gotten it to work with Cygwin on a Windows platform, but it was not easy. The largest stumbing block was the file names. Using cygwin and windows, there is no differentiation between the distribution FORTRAN code (defined with *.F) and the preprocessed files required for compilation (the *.f files that are made with the
4. Will DUNS work on MAC OS X?
I have never tried this, but it should work based on the GNU tools. You will need to generate a new Makesystem file for the MAC OS system, but the Makesystem_linux should provide a good template for this.
5. What types of problems can I solve with the DUNS code?
Here is a list of the abilities of the DUNS code:
6. What do I do for grid generation with DUNS?
DUNS does not provide any grid generation. Sorry, you are on your own for this. I don't know of any freely available grid generators that can do very complex geometries, such as baffles or turbine blades, and the commercial ones tend to be expensive (if you are at a university, the university might provide access to a good grid generator). In spite of this, it is fairly easy to write small programs to generate grids for relatively simple geometries (I've done several burners, a simple RBCC-type geometry, nozzles, and backward facing step using simple FORTRAN or C programs to generate the grid). Initially we used grids generated with GridPro, so the connectivity information between the blocks needed by the DUNS code is in the same form as GridPro. This should be documented in the tutorial.
7. What do I do for plotting with DUNS?
DUNS does not provide much plotting. A few programs are provided for 2d plotting, but other plotting packages are required for 3d plots or doing high quality or printable plots. I personally use TECPLOT, however, it should be easy enough to write output appropriate for other plotting packages.
This page will be updated as I get a better feel for problems people have with the DUNS code.