Digital-filter based boundary condition for velocity, i.e. U, to generate synthetic turbulence-alike time-series for LES and DES turbulent flow computations from input turbulence statistics.
More...
Digital-filter based boundary condition for velocity, i.e. U, to generate synthetic turbulence-alike time-series for LES and DES turbulent flow computations from input turbulence statistics.
Digital-filter method-based generator (DFM) (tag:KSJ):
Klein, M., Sadiki, A., & Janicka, J. (2003).
A digital filter based generation of inflow data for spatially
developing direct numerical or large eddy simulations.
Journal of computational Physics, 186(2), 652-665.
DOI:10.1016/S0021-9991(03)00090-1
Forward-stepwise method-based generator (FSM) (tag:XC)
Xie, Z. T., & Castro, I. P. (2008).
Efficient generation of inflow conditions for
large eddy simulation of street-scale flows.
Flow, turbulence and combustion, 81(3), 449-470.
DOI:10.1007/s10494-008-9151-5
Mass-inflow rate correction (tag:KCX):
Kim, Y., Castro, I. P., & Xie, Z. T. (2013).
Divergence-free turbulence inflow conditions for
large-eddy simulations with incompressible flow solvers.
Computers & Fluids, 84, 56-68.
DOI:10.1016/j.compfluid.2013.06.001
In 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 ->-|
The main difference between 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.
Synthetic turbulence is generated on a virtual rectangular structured-mesh plane, which is parallel to the chosen patch, and is mapped onto this patch by the selected mapping method.
<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 | Req'd | Dflt |
|---|---|---|---|---|
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 (KSJ)
true | Method due to (XC)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 interpolationPatch-profile input is available for two entries:
R | Reynolds stress tensor
UMean | Mean velocitywhere 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.