Design patterns for multiphysics modeling in Fortran 2003 and C++
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 31.45 |
The Rogallo (1981) algorithm for simulating homogeneous turbulent shear flow solves the equations on a mesh that in physical space deforms with the mean flow. Eventually, when the mesh reaches a particular degree of deformation, the coordinate system must be ''remeshed''. Remeshing introduces unavoidable numerical errors such as loss of turbulent kinetic energy and dissipation rate and is therefore not desirable. In this paper, we present a new algorithm for simulating homogeneous turbulent shear flow, based on a Fourier decomposition of the velocity field, that avoids the troublesome remeshing step. Equations for the Fourier amplitudes of three components of velocity are advanced in time; however, nonlinear terms are calculated on a stationary, orthogonal mesh in physical space, allowing traditional de-aliasing procedures to be used. The resulting spectral transforms involve a phase shift to account for the frame of reference change; consequently, the standard three-dimensional fast Fourier transforms (3D FFT) cannot be used. We have developed an algorithm that accomplishes the spectral transforms at a computational cost that still scales like O(N^3lnN) operations, where N is the number of grid points in each direction. A fully parallel version of the algorithm has been implemented to run on 2^p processors, where p is a positive integer. Results over a broad range of the shear parameter, S^*, demonstrate the advantages of avoiding the remeshing step.