U
, to generate synthetic turbulence-alike time-series for LES and turbulent DES flow computations from input turbulence statistics.DFM
or FSM
, a random number set (mostly white noise), and a group of target statistics (mostly mean flow, Reynolds stress tensor profiles and length-scale sets) are merged into a new number set (stochastic time-series, yet consisting of the statistics) by a chain of mathematical operations whose characteristics are designated by the target statistics, so that the realised statistics of the new sets could match the target. Random number sets ---->-| | DFM or FSM ---> New stochastic time-series consisting | turbulence statistics Turbulence statistics ->-|
DFM
and FSM
is that FSM
replaces the expensive-to-run streamwise convolution summation in DFM
by a simpler and an almost-equivalent-in-effect numerical procedure in order to reduce computational costs. Accordingly, FSM
potentially brings computational resource advantages for computations involving relatively large streamwise length-scale sets and small time-steps.Required fields:
U | Velocity [m/s]
Example of the boundary condition specification:
<patchName> { // Mandatory entries (unmodifiable) type turbulentDigitalFilterInlet; n (<nHeight> <nWidth>); L (<L1> <L2> ... <L9>); R uniform (<Rxx> <Rxy> <Rxz> <Ryy> <Ryz> <Rzz>); UMean uniform (1 0 0); Ubulk 10.0; // Optional entries (unmodifiable) fsm false; Gaussian true; // always false for FSM fixSeed true; continuous false; correctFlowRate true; mapMethod nearestCell; perturb 1e-5; C1 -1.5707; //-0.5*PI; C1FSM -0.7854 //-0.25*PI; C2FSM -1.5707; //-0.5*PI; // Optional (inherited) entries ...
where the entries mean:
Property | Description | Type | Required | Default |
---|---|---|---|---|
type | Type name: turbulentDigitalFilterInlet | word | yes | - |
n | Number of cells on turbulence generation plane | tuple of labels | yes | - |
L | Integral length-scale set (Lxu Lxv Lxw Lyu Lyv Lyw Lzu Lzv Lzw) [m] | tensor | yes | - |
R | Reynolds stress tensor set (xx xy xz yy yz zz) [m2/s2] | symmTensorField | yes | - |
UMean | Mean velocity profile [m/s] | vectorField | yes | - |
Ubulk | Characteristic patch-normal bulk flow speed [m/s] | scalar | yes | - |
fsm | Flag to turn on the forward-stepwise method | bool | no | false |
Gaussian | Autocorrelation function form | bool | no | true |
fixSeed | Flag to fix random-number generator seed to 1234 or generate a new seed based on clock-time per simulation | bool | no | true |
continuous | Flag to write random-number sets at output time, and to read them on restart. Otherwise, generate new random-number sets of restart | bool | no | false |
correctFlowRate | Flag to correct mass-inflow rate on turbulence plane in (only) streamwise direction | bool | no | true |
mapMethod | Interpolation-to-patch method | word | no | nearestCell |
perturb | Point perturbation for planarInterpolation mapMethod | scalar | no | 1e-5 |
C1 | Model constant shaping autocorrelation function (KSJ:Eq. 14) | scalar | no | -0.5*PI |
C1FSM | Model coefficient in FSM (XC:Eq. 14) | scalar | no | -0.25*PI |
C2FSM | Model coefficient in FSM (XC:Eq. 14) | scalar | no | -0.5*PI |
The inherited entries are elaborated in:
Options for the fsm
entry:
false | Method due to (Klein et al., 2003) true | Method due to (Xie-Castro, 2008)
Options for the Gaussian
entry:
true | Gaussian function false | Exponential function (only option for FSM)
Options for the mapMethod
entry:
nearestCell | One-to-one direct map, no interpolation planarInterpolation | Bilinear interpolation
Patch-profile input is available for two entries:
R | Reynolds stress tensor UMean | Mean velocity
where the input profiles and profile coordinates are located in:
Coordinates | $FOAM_CASE/constant/boundaryData/<patchName>/points R/UMean | $FOAM_CASE/constant/boundaryData/<patchName>/0/{R, UMean}
points
file contains a list of three-dimensional coordinates, and profile data files provide a value corresponding to each coordinate.
mapMethod=planarInterpolation
option needs point coordinates that can form a plane.adjustTimeStep=true
option is currently not fully supported.continuous=true
means deterministic-statistical consistent restart (relatively more expensive), and continuous=false
means deterministic discontinuity in synthetic turbulence time-series by keeping statistical consistency (relatively cheaper).L
, the first three entries should always correspond to the length scales in association with the convective (streamwise) mean flow direction.Ubulk
.Tutorial:
Source code:
History