CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Problem when switching from explciit to implicit (https://www.cfd-online.com/Forums/main/236511-problem-when-switching-explciit-implicit.html)

TomLyd123 June 2, 2021 09:16

Problem when switching from explciit to implicit
 
I am currently running a steady 3D K-Epsilon Realizable Simulation, I run the simulation for around 20,000 explicit iterations and then switch to implicit for another 10,000.

The simulation runs fine in explicit as expected but when I switch to implicit the simulation crashes, I have tried reducing the CFL number to 1 from 5 but it still crashes.

The simulation orginally runs in 2nd order schemes but I am now swicthing that to 1st order to see if that helps.

I was just wondering if anyone has any ideas that could possibly help it run in implicit? Possibly incease explicit iterations to around 25,000 or 30,000 to increase convergence?

aerosayan June 7, 2021 03:04

Disclaimer : not an expert, may want to wait for a better answer from someone more experienced than me


If it takes an extra few hours to complete 10,000 more explicit iterations, it might be better to just let it be explicit till the end, but I can see the benefit of switching out to use implicit iterations for the last few thousand iterations till convergence.



Since you're using explicit iterations, and implicit is not converging, I'm assuming that your simulation has a lot of complex interactions that happen within a very small time-frame.



I'm generally only qualified to answer for explicit solvers and don't know much about implicit solvers, but your troubleshooting ideas seem right.


  • Running more explicit iterations
  • Ensure your implicit scheme is stable for CFL values you want to use, and the case you're trying to simulate. Mistakes happens from time to time.
  • Check that the delta-t timesteps used by your implicit scheme, is not extremely higher than the delta-t timesteps used by your explicit scheme. Ex : you run the explicit scheme with a global 1e-9 timestep, but the implicit scheme decides that 1e-6 would be enough. This might cause problem, as you go from explicit to implicit.
  • Reducing CFL number < 1 for the implicit section. Since the cell sizes won't change, the CFL number reduction will most likely cause the delta-t timesteps to be reduced significantly. Make sure there's no global timestep limit that causes the timesteps to be higher than a certain value (say 1e-6), and ensure it doesn't overwrite the local timestep calculated by the CFL condition of your implicit scheme. As the cell sizes can be very small in certain sections of the mesh, the CFL condition can cause the delta-t timesteps to be very small.
  • See if your simulation software can dynamically change the CFL to maintain stability. Let's say from 20,000 to 25,000 iterations for some reason CFL 0.9 was valid, but after that CFL 5 was valid between 25,000 to 30,000 iteratons, then again CFL 0.9 was valid. A software which can detect instability and go back a few timesteps to restart the simulation with a reduced CFL, would help.

TomLyd123 June 8, 2021 10:52

Quote:

Originally Posted by aerosayan (Post 805442)
Disclaimer : not an expert, may want to wait for a better answer from someone more experienced than me


If it takes an extra few hours to complete 10,000 more explicit iterations, it might be better to just let it be explicit till the end, but I can see the benefit of switching out to use implicit iterations for the last few thousand iterations till convergence.



Since you're using explicit iterations, and implicit is not converging, I'm assuming that your simulation has a lot of complex interactions that happen within a very small time-frame.



I'm generally only qualified to answer for explicit solvers and don't know much about implicit solvers, but your troubleshooting ideas seem right.


  • Running more explicit iterations
  • Ensure your implicit scheme is stable for CFL values you want to use, and the case you're trying to simulate. Mistakes happens from time to time.
  • Check that the delta-t timesteps used by your implicit scheme, is not extremely higher than the delta-t timesteps used by your explicit scheme. Ex : you run the explicit scheme with a global 1e-9 timestep, but the implicit scheme decides that 1e-6 would be enough. This might cause problem, as you go from explicit to implicit.
  • Reducing CFL number < 1 for the implicit section. Since the cell sizes won't change, the CFL number reduction will most likely cause the delta-t timesteps to be reduced significantly. Make sure there's no global timestep limit that causes the timesteps to be higher than a certain value (say 1e-6), and ensure it doesn't overwrite the local timestep calculated by the CFL condition of your implicit scheme. As the cell sizes can be very small in certain sections of the mesh, the CFL condition can cause the delta-t timesteps to be very small.
  • See if your simulation software can dynamically change the CFL to maintain stability. Let's say from 20,000 to 25,000 iterations for some reason CFL 0.9 was valid, but after that CFL 5 was valid between 25,000 to 30,000 iteratons, then again CFL 0.9 was valid. A software which can detect instability and go back a few timesteps to restart the simulation with a reduced CFL, would help.

I have been tempted to run the simulation until convergence in explicit but I am looking at implicit to speed up convergence as I need to run multiple simulations on this case in a small time frame.

Thanks for the troubleshooting advice, I will now check through the simulation for these and to see if the software has dynamic CFL numbers.

I will continue to increase the explicit iteration count and reduce the CFL number below 1.


All times are GMT -4. The time now is 10:42.