I am trying to simulate an automobile silencer (muffler) which contains an assymbly of concerntric cylinders with inlet and outlet. Inner cylinder is perforated so represented with surface resistance with adequate resistance coefficient. The inlet is transient mass flow, represented by piecewise linear function, such that at every ulternate interval of time, the flow is on and off, thus realising a periodic step function.
Is it fair to say that is recommended to do a sensetivity study for timestep for transient analysis? As of now, I select a timestep that is typically 50 times smaller than the period of mass flow cycle. And I keep decreasing the timestep till I see that for every timestep, the last portion of plots of inner loops is flat, indicating that every timestep is converged. This should ensure adequate temporal accuracy.
I was wondering if this approach was right.
i found it useful to check for sufficient timestep size by looking at the maximum local CFL number:
CFL = Velocity_mag*Timestep size / element size
if its bigger than 1, you might need multiple inner Iterations. I tend to set smaller timestep sizes with a lower number of inner iterations.
Well, it makes sense, but it is time consuming exercise. I wanted something robust and global. I can't monitor imbalances (at least I don't know how to) or normalised residuals dynamically during time-marching, the way I typically do with other CFD codes. The only measure of convergence, which made sense, is the flattening of global monitors at each time step, without having to locally search for signs of convergence. Just wanted to be sure it was an appropriate practice for SimCFD
yes, this approach is correct, and i also think i have read it somewhere in the help documentation. To make things clear i made an example: I've attached the global maximum main velocity component between two timesteps. I set the number of inner iterations to 10. As you can see, the plot flattens at around the 7th iteration (within one timestep), which means i can reduce the number.
In terms of timestep size, you will notice signs of divergence, if your timestep is too big (really high pressure oscilation - see plot 2). With increasing flow rate, and increasing max. velocities, the CFL number would become too high. I would neet to adjust the timespep size.
Thanks for the pics and thoughts. Your assessment is in alignment with what I was thinking. But I noticed that you specified 10 coefficient loops. It is typically advisable to keep the coefficient loops close to 5 and reduce the timestep size to get convergence. This does little to increase the time for convergence, and meanwhile, giving you a fine temporal resolution for better accuracy. 10 are recommended if there is aditional physics (heat transfer etc).
Be aware of the fact that merely CFL may not be a sole indication of convergence when you add additional physics (Heat transfer, scalar mixing etc). The information about momentum/pressure and temperature etc may propogate at different rates throughout the domain, and thus CFL strategy may indicate convergence of the former but not necessarily of the latter. Hence the monitors may make more sense there.
If you turn on the intelligent solution control (ISC) while running a transient analysis (off by default) that will override your timestep and tune to the CFL.
I almost always have a need to turn on ISC for difficult transient analysis. Especially early in the anaysis. Later I might turn it off to try to reach convergence faster.
I have observed that ISC is overtly conservative and chooses timescales too small, slowing down the convergence significantly, even at later stages when the initial numerical instabilities have calmed down. Hence, I prefer manual control over timescales, and hence the need for validating the timescale as appropriate
Thanks all for thoughts.
Agree completely. One workflow with ISC is to run it for a while just to get an idea of what timestep it thinks would be appropriate and then scale upwards from there with ISC turned off.
Exactly! This is how I typically go with other CFD codes, and this strategy is possible since I have a better control over the convergence criteria there, which I don't know if I have, with SimCFD. If I think aloud, what will happen if I slide the "Automatic convergence assessement " to "Loose(est)" ie left most? Would this force ICS to choose timescales relatively larger than what would be the case if it it is middle or rightmost?
If ICS relaxes the timescales, I would still be saving some time in going upwards from timescale given by ICS! This would be a win-win situation. Just a hunch