SFS Scheme
FLOWVPM.SubFilterScale
— TypeImplementation of calculations associated with subfilter-scale turbulence
model.
NOTE: Any implementation is expected to evaluate UJ and SFS terms of the particles which will be used by the time integration routine so make sure they are stored in the memory (see implementation of ConstantSFS
as an example).
NOTE2: Any control strategy is implemented as a function that returns true
whenever the SFS model needs to be clipped. Subsequently, the model coefficient of the targeted particle will be turned to zero.
Missing docstring for FLOWUnsteady.vpm.NoSFS
. Check Documenter's build log for details.
Missing docstring for FLOWUnsteady.vpm.ConstantSFS
. Check Documenter's build log for details.
FLOWVPM.DynamicSFS
— TypeSubfilter-scale scheme with an associated dynamic procedure for calculating
the model coefficient.
FLOWVPM.clipping_backscatter
— FunctionBackscatter control strategy of SFS enstrophy production by clipping of the
SFS model. See 20210901 notebook for derivation.
FLOWVPM.control_directional
— FunctionDirectional control strategy of SFS enstrophy production forcing the model
to affect only the vortex strength magnitude and not the vortex orientation. See 20210901 notebook for derivation.
FLOWVPM.control_magnitude
— FunctionMagnitude control strategy of SFS enstrophy production limiting the
magnitude of the forward scattering (diffussion) of the model. See 20210901 notebook for derivation.
FLOWVPM.dynamicprocedure_pseudo3level
— FunctionDynamic procedure for SFS model coefficient based on enstrophy and
derivative balance between resolved and unresolved domain, numerically implemented through pseudo-three filtering levels. See 20210901 notebook for derivation.
NOTES
rlxf
= Δ𝑡/𝑇 ≤ 1 is the relaxation factor of the Lagrangian average, where Δ𝑡
is the time step of the simulation, and 𝑇 is the time length of the ensemble average.
- The scaling constant becomes 1 for $\alpha_\tau = 1$ (but notice that the
derivative approximation becomes zero at that point). Hence, the pseudo-three-level procedure converges to the two-level procedure for $\alpha_\tau \rightarrow 1$**.
- The scaling constant tends to zero when $\alpha_\tau \rightarrow 2/3$. Hence,
it can be used to arbitrarely attenuate the SFS contributions with $\alpha_\tau \rightarrow 2/3$, or let it trully be a self-regulated dynamic procedure with $\alpha_\tau \rightarrow 1$.
\[\alpha_\tau\]
should not be made smaller than $2/3$ as the constant becomes
negative beyond that point. This strains the assumption that $\sigma_\tau$ is small enough to approximate the singular velocity field as $\mathbf{u} \approx \mathbf{\tilde{u}}$, which now is only true if $\sigma$ is small enough.
𝛼𝜏=0.999 ⇒ 3𝛼𝜏−2=0.997 𝛼𝜏=0.990 ⇒ 3𝛼𝜏−2=0.970 𝛼𝜏=0.900 ⇒ 3𝛼𝜏−2=0.700 𝛼𝜏=0.833 ⇒ 3𝛼𝜏−2=0.499 𝛼𝜏=0.750 ⇒ 3𝛼𝜏−2=0.250 𝛼𝜏=0.700 ⇒ 3𝛼𝜏−2=0.100 𝛼𝜏=0.675 ⇒ 3𝛼𝜏−2=0.025 𝛼𝜏=0.670 ⇒ 3𝛼𝜏−2=0.010 𝛼𝜏=0.667 ⇒ 3𝛼𝜏−2=0.001 𝛼𝜏=0.6667⇒ 3𝛼𝜏−2=0.0001
FLOWVPM.dynamicprocedure_sensorfunction
— FunctionDynamic procedure for SFS model coefficient based on sensor function of
enstrophy between resolved and unresolved domain, numerically implemented through a test filter. See 20210901 notebook for derivation.
FLOWVPM.Estr_direct
— FunctionModel of vortex-stretching SFS contributions evaluated with direct
particle-to-particle interactions. See 20210901 notebook for derivation.
FLOWVPM.Estr_fmm
— FunctionModel of vortex-stretching SFS contributions evaluated with fast multipole
method. See 20210901 notebook for derivation.
Missing docstring for FLOWUnsteady.vpm.Estr_direct
. Check Documenter's build log for details.
Missing docstring for FLOWUnsteady.vpm.Estr_direct
. Check Documenter's build log for details.