I was pondering over the possibility of initializing the domain more effectively. I have observed that when I initialize normally, using just boundary conditions, it takes a while for the solution to propagate throughout the domain. This, probably, is an artifact of the pseudo transient solver (when ICS is enabled).
Instead, if I somehow initialize the solution on finer mesh by using the results of a coarser mesh, the solution woul already have propagated (albeit incorrectly), and the finer mesh will correct the inaccuracies to finally converge. Here, I am saving a lot of time in initial solution propagation.
I have two questions:
1) Is this a recommended way of initialization for SimCFD?
2) What exactly is the most robust way of doiing it? I have found that it is not exactly as just pasting the res file into solution folder, as it gives errors.
You can do this, but it isn't always recommended.
What you will do is run your first scenario out until it finishes. When that is done you will change your mesh and continue your analysis making sure the continue from line is still set to the last available iteration. This will mesh the model and interpolate the results onto the new mesh.
This process is basically the same things we are doing with the mesh adaptation. One thing to keep in mind, some analysis type will diverge early on after the new run has started. I typically see this in natural convection analysis.
Thanks. I gave it a try to understand how effective it is. I enabled mesh adaptation and obtained the solution for 5 cycles. Thus larger gradients were resolved effectively and quickly. I copied this mesh into two scenarios. adn refined them in the same way. Just the difference that one mesh was initialized with the mesh adaptation solution (initialized - blue) and one mesh was initialized using only boundary conditions (blank - red).
I then compared their runs for some 1100 iterations and below are the results:
It is evident that blue line flattens quite quickly as compared to red line. This is especially true for turbulence numerics. We can't use mesh adpatation to obtain the final results because we use extruded meshes which are incompatible with adaptation. Hence i used this trick. And given tha we typically don't deal with heat transfer, this phenomenon will be quite useful.
The values do flatten out sooner which is what I expected. Would you really save time in the end vs. just having the mesh assigned from the beginnging that you need?
I have not measured the time but I don't believe that same mesh and physics initialized differently will consume significantly different times for iterations. So if we assume that time per iteration is same for both cases, I think it will save a lot of time. Perhaps, a bit more objective time study is needed to assess the benefit, by running it on our actual simulations. I will post the results when I get a chance to do this.
Few other solvers I am aware of, like FLUENT, use something called fast multigrid initialization in which the geometry is automatically meshed with artificial coarse mesh and the Euler inviscid equations are solved but the turbulence equations are not solved. The solution is then applied to successive meshes until the final fine mesh. This proces takes place in a matter of 2 minutes and we have a nice initialization throughout the domain and often accelerates the run. Additionally, the obvious approach of initialization using coarse mesh solution is also practiced often. But you are right, it is necessary to understand if it introduces any other artifacts and whether it is robust enough.