Figure 1 shows the main flow-chart of the algorithm. It consists of
two functions: (1) spectral generator () and vector-field
generator (
). User supplies the input data in form of the size
of a spectral sample (integer parameter,
), correlation tensor
for the vector field and time scale. In case of a turbulent flow modeling
this should be the velocity correlation tensor,
and
turbulent time scale,
. In the case of homogeneous turbulence the
correlation tensor and time-scale are constant and are suppled as arguments
to the
function (link A in the figure). In the case of an
inhomogeneous turbulence these parameters are supplied to the
function (link B in the figure). Both cases are implemented in the two different
versions of the algorithm (see Sec.3.1).
Most of the routines are written in a C language with some
auxiliary Fortran routines imported from the Netlib library
(www.netlib.org).
User input parameters to the algorithm are shown in Fig.1 and
include: - number of spectral modes, 6-dimensional array of velocity
correlations,
(for anisotropic inhomogeneous case:
), turbulence
time scale,
, turbulent length scale
(for
isotropic homogeneous case), and space-time coordinates,
. At the
beginning there should be only one call to
function, which
initializes the spectral data. These consists of four arrays:
,
,
, and
. While the first one is the array of scalar values, the other
three are all arrays of 3D vectors. These four arrays are global variables
and after they are initialized by
they are repeatedly used by the
function to generate the random vector field. In the homogeneous
isotropic version of the algorithm (
) the user supplies the
,
, and
parameters to
function, and then
repeatedly calls the
functions for different spatial locations and
time. In the inhomogeneous anisotropic case (
), the user calls
with only one parameter, defining the size of the spectral sample
(
), and then repeatedly calls
with for different
, as
well as different values of velocity correlation tensor and time scale. In
this way one provides spacial inhomogeneity of the generated vector
field. The anisotropy is determined by the correlation tensor.
The complete listing of the main RFG routine is given in the Appendix.