The current work is based on an extension of an approach developed by Rai and is discussed in detail in Rai (1986) and Rai and Madavan (1990). The approach is reviewed in brief here. The flow field is divided into two basic types of zones. Inner "O" grids are used to resolve the flowfield near the airfoils. These "O" grids are overlaid on outer "H" grids which are used to resolve the flowfield in the passages between airfoils. The "H" grids are allowed to slip relative to one another to simulate the relative motion between rotors and stators. The thin-layer Navier-Stokes equations are solved in the inner zones where viscous effects are important. The Euler equations are used in the outer zones where viscous effects are weak. The governing equations are cast in the strong conservation form. A fully implicit, finite-difference method is used to advance the solution of the governing equations in time. A Newton-Raphson subiteration scheme is used to reduce the linearization and factorization errors at each time step. The convective terms are evaluated using a third-order-accurate upwind-biased Roe scheme. The viscous terms are evaluated using second-order accurate central differences. The Baldwin-Lomax (1978) turbulence model is used to compute the turbulent eddy viscosity. Details of the turbulence model, zonal and natural boundary conditions, grid configuration, bookkeeping system, and database management systems are discussed in Gundy-Burlet et al. (1989).
Efficient implementation of a computer code requires knowledge of the computer on which it will operate. There are several basic differences in the architectures between supercomputers and workstations that require implementation changes in the code. One of the major differences between supercomputers and workstations is the difference in size of their main memories. For instance, the NASA-Ames CRAY-2 has an internal memory of 2 Gb while a typical workstation has between 8 Mb and 64 Mb of memory. Extended memory, such as disk or SSD is also available to the user on a supercomputer. Virtual memory workstations can also access disk when main memory is used up.
The speed of transfer of information between main memory and extended memory is another major difference between workstations and supercomputers. Supercomputers have high-bandwidth channels between main memory and disk or SSD which provides fast Input/Output (I/O). Software support for unblocked, random access I/O is also usually provided in FORTRAN on supercomputers. This is an efficient mechanism to output data to disk or SSD. Workstations do not support high-bandwith channels between main memory and disk. If the disk is used to supplement main memory on a virtual memory machine, the "swapping" of data between disk and main memory can be extremely slow. In addition, it is difficult to perform efficient I/O from FORTRAN on a workstation.
The CRAY is a vector processor while the workstation is a scalar processor. The large memory combined with the vector capabilities of the CRAY provides the opportunity to trade memory usage for speed. For instance, block tridiagonal inversions have data dependencies which inhibit vectorization. However, block tridiagonal inversions can be vectorized by processing several inversions simultaneously. This requires additional memory usage to store the block elements for each inversion, but can dramatically accelerate a code. Since current workstations are scalar processors, this vectorization strategy would not speed up the code. If the additional memory usage required that virtual memory (disk) be accessed, the wall-clock time used could actually increase by an order of magnitude.
With these factors in mind, the workstation version of the STAGE-2 code has been designed to store data in internal buffer arrays. These arrays are efficiently packed to reduce memory size and minimize or eliminate the use of virtual memory. In addition, many arrays that are used to enhance vector-processing are eliminated in the workstation version of the code. Approximately 120 bytes of memory are required per grid point for the workstation version of STAGE-2.