Skip to content

ENH: turbulentDigitalFilter: Synthetic fluctuations of scalars

Kutalmış Berçin requested to merge feature-synthetic-turbulence-methods into develop


To enable synthetic fluctuations of scalars (e.g. temperature or contaminant concentrations) for the turbulentDigitalFilterInlet boundary condition.

Previous status

  • Produces only vector-based fluctuations​
  • Input entries of mean and Reynolds stresses are limited to be either constant or simple wall-normal profiles​
  • Contains unresolved bugs​:
  • Domain rotations/translations are not possible​
  • Parallelisation and scaling are problematic​
  • Restart is problematic​
  • Mapping fluctuations onto an inlet patch is problematic and limited to only the nearest-cell option​
  • Adjustable time-step simulations are not possible


  • Produces vector- or scalar-based fluctuations​
  • New input-entry types: ​
    • Mean and Reynolds stresses have become PatchFunction1 type​
    • Time-variant input for mean and Reynolds stresses is possible​
    • Number of input entries have been simplified by reducing the number from 16 to 8, most of which are default valued.​
  • Resolves the reported bugs
  • Domain rotations/translations are improved​
    • Users can set a local coordinate system​
  • Parallelisation and scaling are improved​
  • Restart is improved​
  • Mapping fluctuations onto an inlet patch is improved and generalised​
    • Users can select an AMI mapping method for the mapping operation​
  • Adjustable time-step simulations are possible for the FSM option​
  • Removes Taylor's frozen turbulence assumption for the streamwise integral scale calculations

Resolved bugs

#1725 ​ #2262 (closed)#2267 (closed) #2329 (closed)



DFM - only vector

DFM - only scalar

DFM - vector+scalar

FSM - only vector

FSM - only scalar

FSM - vector+scalar



  • Clean compilation (incl. submodules):
    • linux64ClangDPInt32Opt (clang11)
    • linux64GccDPInt32Opt
    • linux64GccSPDPInt64Debug
  • Alltest: No new error

Future work - Constraints

  • Test scope should be extended further for:​
    • Integral length scales​
    • Domain rotations and/or translations​
    • Multiphase-flow cases​
    • Dynamic-mesh cases​
    • Overset meshes​
    • Mesh (un)refinements​
    • Collated-data format​
    • Hybrid and single precisions​
  • transformPoints utility has no effect on boundaryData input, which can slow down case preparations for input sets which need to be rotated/translated
  • Scalar-based condition​
    • No constraints on nonpositive output​
    • Scarce and ambiguous academic resources​
    • No cross-correlations​
      • Not easy to produce/find benchmark data from theory or measurements​
      • Usefulness is not clarified by academia​
  • DFM​
    • Incomplete parallelisation of the three-dimensional separable convolution due to the lack of no open-source algorithms​
  • The use of redistributePar -decompose utility is not supported.
Edited by Kutalmış Berçin

Merge request reports