Skip to content

BUG: turbulentDigitalFilterInlet: Forward-stepwise option is inoperative

Summary

In turbulentDigitalFilterInletFvPatchVectorField.C, the following assignment operation is inoperative:

for (direction dir = 0; dir < pTraits<vector>::nComponents; ++dir)
{
    U.component(dir) =
        U0_.component(dir)*coeffs1FSM_[dir]
      + U.component(dir)*coeffs2FSM_[dir];
}

The LHS U.component(dir) = is unassignable; therefore, the content of U has never been altered by the intended RHS operations.

For this reason, DFM was acting as a single-cell box rather than the FSM simplifications are in effect.

This situation should have adverse effects on integral scale syntheses (which is luckily not considerably important), and should not have any effect on Reynolds stresses or mean quantities.

Environment information

base0    = base
base1    = develop
api      = 2112
patch    = 0
HEAD     = befbcfce24
version  = com
compiler = Clang (system)
         = clang version 9.0.1 
mpi      = SYSTEMOPENMPI
         = mpirun (Open MPI) 1.10.7.0.5e373bf1fd
OS       = Description:     openSUSE Leap 15.3
opts     = linux64ClangDPInt32Opt

Possible fixes

    for (direction dir = 0; dir < pTraits<vector>::nComponents; ++dir)
    {
        U.replace
        (
            dir,
            U0.component(dir)*coeffs1FSM_[dir] + U.component(dir)*coeffs2FSM_[dir]
        );
    }
Edited by Kutalmış Berçin