I am simulating a fire in an enclosed room. As I have to evaluate the development of the fire I'm doing a transient simulation.
My problem is that when I introduce the buoyancy turbulence term in the k-epsilon turbulence equation the simulation crashes (no linear solution for the mass equation). Using the same setup without the buoyancy turbulence the simulation works fine. Could it be that my mesh is not good enough? Should I reduce the transient time step (currently 1 second)?
Any input would be much appreciated!
All the buoyancy term in the turbulence equation does is add a new production term due to buoyancy effects. It is a secondary effect, so your simulation should still be close without it.
But to get it to run I would try the usual things - smaller timestep, double precision numerics, better mesh quality.
Thank you for your answer!
I am trying to improve the mesh and reducing the timestep. But as it is quite a large domain and I have to simulate 1800 seconds, I have to find the largest timestep possible. A further problem is that the linear solution problem appears randomly. Last time it appeard after it already simulated 180s.
That's why in parallel I'm looking for parameters I entered which could be incompatible:
- I added both buoyancy turbulence production and dissipation, using the default parameters. As the speed is low in my model, in considered Thermal Energy rather than total Energy. Could this be a problem?
- I used the high resolution advection scheme, First order solver for Turbulence numerics, and coefficient loops for timescale control.
- I used the "Second Order Backward Euler" as transient scheme, with timesteps between 0.5 and 1 s.
Could it be that one of these settings cause problem when the buoyancy terms are activated?
Thanks in adavance for any input!
Sounds like you have a numerical stability problem with the buoyancy turbulence production. Simplifying the model (thermal energy versus total energy) can help this.
You might have to do smaller timesteps than your range. If that is what is required, that is what you have to do regardless of the implications on run time.
|All times are GMT -4. The time now is 20:51.|