Source code for pyts.phaseModels.main

"""
The main random phase models.
"""
from .base import phaseModelBase, np, ts_complex


[docs]class randPhase(phaseModelBase): """ This phase-model randomizes the phases uniformly and without any 'phase coherence' (correlation as a function of frequency). Because it is so simple, it has no initialization parameters. """
[docs] def __call__(self, tsrun): """ Create and calculate the phases for the `tsrun` instance. Parameters ---------- tsrun : :class:`tsrun <pyts.main.tsrun>` A TurbSim run object. Returns ------- out : array_like(3,n_p,n_f) An array of random phases. """ phases = np.empty((tsrun.grid.n_comp, tsrun.grid.n_p, tsrun.grid.n_f), dtype=ts_complex, order='F') phases[:] = np.exp(1j * 2 * np.pi * tsrun.randgen.rand(tsrun.grid.n_comp, tsrun.grid.n_p, tsrun.grid.n_f)) return phases