CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   SU2 (https://www.cfd-online.com/Forums/su2/)
-   -   Unsteady 2nd order Dual Time-Step Diverges When Restarted From Steady Solution (https://www.cfd-online.com/Forums/su2/235718-unsteady-2nd-order-dual-time-step-diverges-when-restarted-steady-solution.html)

sangeet April 26, 2021 10:27

Unsteady 2nd order Dual Time-Step Diverges When Restarted From Steady Solution
 
Hello,


I am currently running trying to run a unsteady case in SU2 v7.1.1 and I want to restart from a converged steady solution that I already have. I used the 2nd order dual time-step method. Since I need two solutions to restart, I just made two copies of the steady solution, but SU2 diverges before any iterations start. Below is the unsteady paramaters part of the config file.


This google drive link has my case files.
https://drive.google.com/drive/folde...J8SK9aW2xwMNeq



Code:

% ------------------------- UNSTEADY SIMULATION -------------------------------%
%
TIME_DOMAIN = YES
%
% Numerical Method for Unsteady simulation(NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL)
TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER
%
% Time Step for dual time stepping simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0
%TIME_STEP= 5e-4
%
% Maximum Number of physical time steps.
TIME_ITER= 100000

% Total Physical Time for dual time stepping simulations (s)
MAX_TIME= 0.1

% Unsteady Courant-Friedrichs-Lewy number of the finest grid
UNST_CFL_NUMBER= 1
%
% Number of internal iterations (dual time method)
INNER_ITER= 100
%
% Restart after the transient phase has passed
RESTART_SOL = YES
%
% Specify unsteady restart iter
RESTART_ITER = 2


pcg April 26, 2021 17:37

This UNST_CFL_NUMBER= 1 gives you a variable time step which is not correct for the second order dual time approach, because the time derivative is based on finite differences.
Set UNST_CFL_NUMBER to 0 and use TIME_STEP instead.

sangeet April 26, 2021 17:41

Hello,
Oh, so specifying the CFL number makes it like local time stepping? But then what is its role for an unsteady problem?


EDIT : and then why does this config work when I am not restarting?

pcg April 26, 2021 18:32

Hi,
You have a point... I looked at the code again and it looks like a bug.
For TIME_STEPPING the unsteady CFL is used at each time iteration to determine the time step.

For DUAL_TIME_x it looks like the intention is to determine an automatic time step on the first iteration, and then fix it (because it cannot be variable for these methods) however the logic for this seems to be broken when the simulation is restarted.

I'll see about fixing this, but for now set it to zero and use TIME_STEP.

In dual time methods, the pseudo time step determined for inner iterations is based on the normal CFL, this UNST_CFL_NUMBER option is only for the "real" time step.
That is, dual time is just steady state with a source term.

sangeet April 27, 2021 02:10

Hello,
Thank you for the clarification. I had a question. When you say that the time step is determined by the cfl number, do you mean that su2 chooses the minimum timestep available as the cell sizes are different and the timesteps calculated from them would all be different?

pcg April 27, 2021 12:04

Yes correct, minimum timestep over the entire problem.

raviramesh10 May 18, 2021 04:56

Quote:

Originally Posted by pcg (Post 802633)
Yes correct, minimum timestep over the entire problem.

Hi pcg, as I am also working on unsteady flow problems, I had a question regarding this too. But wouldn't this time step depend on the local grid size as well through the CFL number? If yes, does that mean that it takes the minimum grid size into account for calculating the time step?


All times are GMT -4. The time now is 09:38.