How to properly use LTS

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Post Reply
PFERRO
Posts: 11
Joined: Mon May 27, 2019 4:49 pm

How to properly use LTS

Post by PFERRO »

Dear Forum,

We are facing issues with the local time stepping for buoyancy driven flow (and conjugate heat transfer). From our understanding the local time step would be calculated as follow :

- dtCFL = max( min(CFL*dX/U, tref * fmax) , tref * fmin)
- for the solid an analogous relation based on Fourier number

1 - Is this relation true ?
2 - what does the Time step maximal variation parameters ? Is it a smoothing coefficient that prevents the time step to vary too quickly between two iterations ?
3- What are the recommendations and best-practices for a proper usage of LTS ?

In our simulations we note a great variability of the results depending on all the parameters : the solution doesn't converge to the same state if we change fmin from 0.01 to 0.001 for instance. The gap between solutions can be very large...

Best regards
Yvan Fournier
Posts: 4293
Joined: Mon Feb 20, 2012 3:25 pm

Re: How to properly use LTS

Post by Yvan Fournier »

Hello,

1) I did not check the exact formulas used (the code is in cs_time_step_compute.cpp, but also has additional layers in cs_matrix_time_step calls), but by default, there is indeed both a Courant and Fourier limitation. In the solid zone, the CFL should be zero, so only the Fourier part is used. I assume that if the max Courant and/or Fourier is not used and there is no limitation, the time step will not be modified.

2) Yes, the maximum variation parameters prevent too rapid changes, and too strong differences with the initial value (so the initial choice of reference time step is always important as the local time step is bound in the [ref*min_factor, ref*max_factor].

3) The main recommendation would be to try to possibly try different reference time steps and min/max factors, to see what gets closest to CFL 1 in a majority of cells.

The gap between solutions can be due to the limitations of the Rhie & Chow filter itself, which introduces a (usually very small) time dependency in the solution, The same gap could probably occur between highly different constant time step values, though this is hard to test as the code would probably diverge with very different values. When you observe very different results, are the mean and min/max CFL values in the log very different ? There might also be a bifurcation effect.

Also, when comparing results, do you time-average them ? Even with a local time step, time averaging has no physical meaning, but may smoothe fluctuating solution fields... You can check for fluctuations using probes, or 2nd order time moments (i.e. variances).

Best regards,

Yvan

Best regards,
Post Reply