Solid/liquid phase change using large viscosity
Does anybody has some experiences on the modeling of the phase change from solid to liquid taking large viscosity for solid. I know that the problem is stiff but ...
I'm modeling it with a corrected version of the buoyantBoussinesqPisoFoam. I have a normal wax taking 100 000x bigger viscosity for solid than for liquid (smaller it does not bring the correct heat transfer in the solid). I model it for the 2D buoyancy driven cavity starting from the full solid and heating it from one side. The viscosity around the phase change is changing linearly or even quadraticaly in an interval of 1K, the difference in left and right side wall temperatures is 15K.
Running the model with pure "solid" or pure liquid works nice. The problem is, that when the phase change begins, the time step decreases for the same factor as is the ratio between solid and liquid phases, thus model becomes unusable. I'm sure that the problem is somewhere in change of the viscosity, while the time step decrease happens even if a leave all the constats except viscosity unchaged.
After trying everithing falling to my mind (shemes, mesh, better v-T copling, ...) I'm close to the conclusion that the problem is in the model itself. Am I right???
I've found out that the PISO loop needs underrelaxation, now it is working fine :).
I would suggest you think a bit what the under-relaxation is doing with PISO.
Pure PISO is getting the result in one step with several correction (you set the number of corrections). When you under-relax variables in PISO, you're relaxing the physics. Like for temperature it would mean adding heat capacity - thus slowing down the temperature propagation. If you have problems with convergence with large time steps, you should keep the time step small, or use PIMPLE, which is basicly combination of PISO with inner SIMPLE loops, which you can under-relax as you wish.
This book is good reference: J. H. Ferziger, M. Peric, Computational Methods for Fluid Dynamics, Springer, 3rd Ed., 2001.
I hope people will correct me, if I'm wrong.
I encountered a similar problem. I want to simulate a two phase (high viscous liquid and air) flow problem consiering soliderification. The phase change from liquid to solid can be achieved by taking large viscosity for solid.
I want to create a new piecewise viscosity moedl:
(1) when T<Tg, viscosity is equal to a constant:
nu = nu0;
(2) when T>=Tg, viscosity varies with temperature, pressure and strain rate:
nu= (B_*exp(B1_*pd)*exp(Tb_/T))/(RHO_*(scalar(1)+pow((B_*exp(B1_*pd)*exp(Tb_/T))*strainRate()/t1_, scalar(1)-n_)));
where B, B1, Tb, t1, n are material constants.
When compiling this model using wmake, I encountered the following problems: http://www.cfd-online.com/Forums/openfoam-solving/76995-piecewise-viscosity-model.html
Please give me some suggestions. Thanks in advance.
|All times are GMT -4. The time now is 10:16.|