This page contains a list of software packages written by Andrew A. Johnson (unless otherwise noted). All of these packages are used in various phases of a CFD simulation. On this page can be found user manuals and help pages for each of the various packages.

This section is under construction an more information will be posted soon.

DimensionFS (Flow Solver)
A general purpose parallel finite element incompressible flow solver. This package is written using the distributed memory programming model, and uses MPI so it is portable to almost any architecture. Parallel communication costs are usually always below 5 percent of total execution time. Works for 2D (triangular elements) and 3D (tetrahedral elements), fixed-grid (Semi-Discrete Formulation) and moving-grids (Space-Time Formulation), low Reynolds number and high Reynolds numbers (Smagorinsky turbulence model), time-dependent or steady. Uses a matrix-free iterative flow solver (diagonal preconditioned GMRES) so this package has extremely low memory requirements.
DimensionMG (Mesh Generator)
A general purpose 3D automatic mesh generator based on Delaunay methods. Final completion of this package is underway, and more information will be posed when it is completed. I hope to have this program freely downloadable (what do you call the version that comes before beta?) when it is completed (hopefully sometime in September 1997). Should run on almost any architecture, but I hope to initially provide a SGI version (IRIX 5.x and 6.x), Linux version, and PC version. This program is a newer, faster, more robust and powerful version (hopefully) of Meshme described below.
DimensionSG (Surface Generator)
A general purpose automatic surface mesh generator based on Delaunay methods. This package will discretize a geometric model into a surface grid composed of triangular elements. Initially, this will work on a geometric model composed of either Quadrilateral or Triangular Bezier patches, but later versions will work on NURBS. This is actually the pre-processing step before DimensionMG is used. Again, I hope to have this program freely available sometime in Sept. 97. This program is a newer version of Surface95 described below.
DimensionGM (Geometric Modeler)
Our interactive geometric modeler based on NURBS. Development of this package is ongoing, but beta versions are complete or will be completed very soon. This program will replace the ModelG package described below.

A 2D automatic mesh generation system (modeler and mesh generator) is available now for SGI systems. It is really just a research/educational code, but it is useful for 2D simulations. For more information about this package, contact Andrew A. Johnson at .

Older Software Packages (2+ Years Old)


General purpose finite element 3D incompressible flow solver for unstructured tetrahedral element meshes.
General purpose finite element temperature transport/diffusion solver for unstructured tetrahedral element meshes. The velocity profile should have been previously computed and is used in this package.

Mesh Generation:

Geometric modeling package in 3D. Used to build the computational model for the automatic mesh generation package. Uses Bezier triangular and quadrilateral surfaces.
Automatic surface mesh generation package. Automatically generates an unstructured triangular element mesh in 3D on the surface of the geometric model.
Automatic mesh generator in 3D. Uses Delaunay-Voronoi methods to generate a 3D tetrahedral element mesh using the surface mesh as an input.


Interactive viewing of the surface mesh in 3D space.
Interactive viewing of the surface of the geometric model as defined by the surface mesh.
General purpose finite element data visualization package (M. Behr creator).
Interactive general purpose 3D finite element data visualization package (developed at MIT, M. Behr supports).


Partitions a 3D finite element mesh composed of tetrahedral elements into numerous separate pieces. Used in the parallel implementation of the CFD fluid-flow packages. This package is based on the mesh partitioning subroutines found in the Thinking Machines Scientific Software Library.

The use, duplication, or disclosure of this software and its documentation is subject to restrictions as set forth by the author.