Question regarding Explicit Filtering for Passive Scalars via .par file

2 views
Skip to first unread message

tuanliu wenxin

unread,
Feb 4, 2026, 3:11:57 AM (2 days ago) Feb 4
to Nek5000

Dear Nek5000 Developers and Community,

I am currently conducting an LES simulation of urban canopy flow involving temperature and 3 passive scalars. My friction Reynolds number is $Re_\tau=500$ and the Peclet number for scalars is $Pe=360$ ($Sc=0.72$).

Due to the high Peclet number and the presence of localized sources, I need to apply explicit filtering to the passive scalars to prevent Gibbs oscillations and ensure stability.

The Issue:

I initially tried to specify the filter settings for each scalar individually in the .par file as follows:

Ini, TOML
[SCALAR01] density = 1.0 diffusivity = -360.0 residualTol = 1e-06 # I tried adding these lines: filterWeight = 0.05 filterModes = 2

However, this resulted in a parsing error at runtime:

ERROR: Par file contains unknown key SCALAR01:FILTERWEIGHT

My Current Workaround:

I have removed the scalar-specific lines and placed the filtering settings under the [GENERAL] block instead:

Ini, TOML
[GENERAL] filtering = explicit filterWeight = 0.05 filterModes = 2

My Questions:

  1. Does the explicit filtering setting in the [GENERAL] block automatically apply to ALL solved fields (Velocity, Temperature, and Passive Scalars) by default?

  2. In the log file, I see the following output during initialization:

    Plaintext
    1 Temp done ... filt amp 0.0000 0.0000 ... 0.0500

    Does this confirm that the passive scalars are indeed being filtered with the weight of 0.05?

  3. Is it necessary to manually call filter_s in userchk to ensure the scalars are filtered, or is the .par configuration in [GENERAL] sufficient?

I want to ensure my scalars are not "running naked" without dissipation control.

Thank you very much for your help!

Best regards,

Fusu

Reply all
Reply to author
Forward
0 new messages