SFS Scheme
FLOWVPM.SubFilterScale
— TypeImplementation of calculations associated with subfilter-scale turbulence
model.
The model is expected to be called in two stages surrounding the calculation of the induced velocity, as:
this_sfs_model(pfield::ParticleField, beforeUJ::BeforeUJ)
pfield.UJ(pfield; sfs=true, reset=true, reset_sfs=true)
this_sfs_model(pfield::ParticleField, afterUJ::AfterUJ)
(See implementation of ConstantSFS
as an example.)
NOTE1: The UJ_fmm requires <:SubFilterScale objects to contain a sfs.model
field, which is a function that computes the SFS contribution to the stretching term.
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.
FLOWVPM.noSFS
— Constant`noSFS = NoSFS{FLOAT_TYPE}()`
Alias for the no subfilter-scale model.
FLOWVPM.SFS_Cs_nobackscatter
— Constant`SFS_Cs_nobackscatter = ConstantSFS(Estr_fmm; Cs=1.0, clippings=(clipping_backscatter,))`
Alias for the Constant SFS model with no backscatter.
FLOWVPM.SFS_Cd_twolevel_nobackscatter
— Constant`SFS_Cd_twolevel_nobackscatter = DynamicSFS(Estr_fmm, pseudo3level_beforeUJ, pseudo3level_positive_afterUJ; alpha=0.999, clippings=(clipping_backscatter,))`
Alias for the Dynamic SFS model with two levels and no backscatter. This is the recommended SFS model for high fidelity modeling.
FLOWVPM.SFS_Cd_threelevel_nobackscatter
— Constant`SFS_Cd_threelevel_nobackscatter = DynamicSFS(Estr_fmm, pseudo3level_beforeUJ, pseudo3level_positive_afterUJ; alpha=0.667, clippings=(clipping_backscatter,))`
Alias for the Dynamic SFS model with three levels and no backscatter. This is similar to the two level version but uses a lower value of alpha (0.667).
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_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.