# melting problem: looking for appropriate solvers

 Register Blogs Members List Search Today's Posts Mark Forums Read

 March 16, 2016, 10:31 #221 New Member   Kai Schüller Join Date: Jun 2015 Location: Germany Posts: 8 Rep Power: 10 Thanks for the answer Alex. You are right, the description was not very clear. Here are more details about the problem. Let's assume a cylinder with a constant temperature (higher than melting temperature) at its boundary. The cylinder is surrounded by a phase change material, which is initially solid. The simulation starts at a time, when there is already some melt around the cylinder, so that motion through the melt is possible (technically I use the setFieldsDict to do this before I start the solver). When the heated cylinder now moves with a small velocity (<= the velocity of the phase interface), it will melt the solid phase change material in the direction of movement. In a global reference frame the velocity of the solid phase change material is zero, the velocity of the liquid phase change material (melt) is influenced by the boussinesq term + its interaction with the moving cylinder wall and the velocity of the cylinder is given. In a body-fixed reference frame (which I want to use) the velocity of the cylinder is zero, the velocity of the solid phase change material is spatially constant and has the negative velocity that the cylinder would have in a global reference frame and the velocity of the melt is some value + the velocity of the solid phase change material. I think I've found a solution in this thread (#169) for the problem.

March 16, 2016, 22:00
#222
Senior Member

Join Date: Oct 2012
Location: AUS
Posts: 137
Rep Power: 14
Quote:
 Originally Posted by tetra-eder Hi, first I would like to thank for this very helpful thread. I want to simulate a melting problem and I just thought that someone of you might help me. A heat source is embedded into a phase change material and the heat source moves with a constant and given velocity. To solve for the phase change with convection, I use a solver based on Fabian Rösler's solver which was posted in this thread. I would like to use a fixed grid with a heat source fixed reference frame, so that the phase change material moves relative to the heat source. When using just an inlet and outlet condition for the velocity, the velocity changes within the solid phase, which is unphysical. I think the reason for this is mass conservation. Another possibility would be to add the velocity in the darcy term but this seems also not to work. Do you have any ideas how i can treat this relative motion phase change problem? Thanks in advance!
Hi Tetra-eder,

Can you please post the governing equations ? I guess it should not be that tough. I have solved a similar problem, but not considering the melting. In my melting problem, I considered the fixed heat source, which was due to the problem I was solving.

Cheers,
shakil

 March 17, 2016, 03:03 #223 New Member   Kai Schüller Join Date: Jun 2015 Location: Germany Posts: 8 Rep Power: 10 Thanks for the answer, shakil. I also think that the problem is very similar. Could explain how you define the boundary conditions for U and p_rgh (or p)? And if you also used the solid velocity in the momentum equation, how you define this velocity? The governing equations I use are similar or even the same that are already posted in this thread. Therefore I will not describe the variables, if its okay for you. Conservation of energy: Conservation of momentum: Conservation of mass: This does of course not include a velocity superposition in the liquid phase but in a first step I neglect it due to the fact that the expected velocity is small compared to the convection in the melt. One idea that came into my mind when I wrote down these equation was that some terms depending on the velocity of the solid phase were canceled out in the original derivation of the mixture formulation. Could this be the problem? raj kumar saini, ahmmedshakil and Kummi like this.

 March 17, 2016, 05:54 #224 New Member   Kai Schüller Join Date: Jun 2015 Location: Germany Posts: 8 Rep Power: 10 I solved the problem now. There were several reasons. The first was that I was not using the updated solver with u_heatsource. Since I have compiled Openfoam also in debug mode, I have two versions of my solver and only one has been updated during compilation and unfortunately this was not the one set in my environment . After this the velocity in the solid was constant as expected but for some reason the liquid fraction didn't move. And the problem was that I used a flag, which was set to false to de- or activate the convection of the liquid fraction in the heat equation. Now everything works as expected but I would like to discuss the boundary conditions with you. What I am using now is Code: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inFlow { type fixedFluxPressure; gradient uniform 0; value uniform 0; } outFlow { type fixedFluxPressure; gradient uniform 0; value uniform 0; } sides { type fixedFluxPressure; gradient uniform 0; value uniform 0; } heatSource { type fixedFluxPressure; gradient uniform 0; value uniform 0; } frontAndBack { type empty; } } Code: FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0.001 0); boundaryField { inFlow { type fixedValue; value uniform (0 0.001 0); } outFlow { type zeroGradient; } sides { type slip; } heatSource { type fixedValue; value uniform (0 0 0); } defaultFaces { type empty; } } Code: FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object Us; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0.001 0); boundaryField { inFlow { type fixedValue; value uniform (0 0.001 0); } outFlow { type fixedValue; value uniform (0 0.001 0); } sides { type fixedValue; value uniform (0 0.001 0); } heatSource { type fixedValue; value uniform (0 0 0); } defaultFaces { type empty; } } Do you have any improvement suggestions, especially for p_rgh? ahmmedshakil likes this.

 July 14, 2016, 06:25 Help #225 New Member   Alex_Han Join Date: Jul 2016 Posts: 5 Rep Power: 9 Dear everyone, Since I am a newbie in the openFoam, I could not compile the meltFoam in my openFoam 4. Is anybody has successfully compile the meltFoam in the openFoam 4? If so, please help me how to debug this problem. And is there any other good ideas to simulate the solidification using openFoam? Because I'd like to develop the algorithm of solidification in the future. Thanks, Alex

 July 15, 2016, 03:57 #226 Senior Member   Fabian Roesler Join Date: Mar 2009 Location: Germany Posts: 213 Rep Power: 18 Hi Actually you do not have to compile anything, as the whole solver for solidification and melting is there as a new fvOption module since version 3. Check this out: http://cpp.openfoam.org/v4/a02447.html#details Cheers Fabian Kummi likes this.

 July 15, 2016, 23:48 #227 New Member   Alex_Han Join Date: Jul 2016 Posts: 5 Rep Power: 9 Hi Fabian, Thank you so much for your information. I hope I can use this solver successfully. If there is a problem, I will ask for help in the forum again. Yours, Alex Han

 July 18, 2016, 22:00 #228 New Member   Alex_Han Join Date: Jul 2016 Posts: 5 Rep Power: 9 Sorry, I still have a little problem. There is no tutorial for the solidification, right? Alex

 July 20, 2016, 10:04 #229 Senior Member   Fabian Roesler Join Date: Mar 2009 Location: Germany Posts: 213 Rep Power: 18 The solver doesn't differ between melting and solidification. When a boundary is colder than the melting point, solidification starts. Cheers Fabian

 July 21, 2016, 01:13 #230 New Member   Alex_Han Join Date: Jul 2016 Posts: 5 Rep Power: 9 Hello Fabian, I am sorry to ask a dull question. You said I do not have to compile for the module. But how can I use the melting/solidification source? Because I have searched for the tutorial or guide in the internet to use melting/solidification FvOption. But unfortunately I failed. Could you please give some suggestions how to employ that module? Thanks a lot ! Alex Han

November 9, 2016, 04:30
#231
Member

Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 11
Hello Foamers,

I have been a silent spectator of this forum for a while and it seems that now is the time for me to ask for questions and help.

I am also thankful to Fabian, Shakil and others for their valuable suggestions which I found very helpful.

Quote:
 Originally Posted by kuechenrole Here is a revised version of my 3 phase attempt. Following the hints of SSSS the main changes are:reduced size, 2D domain inkl. symmetryPlane rho and cp is equal for liquid and solid rho becomes a volScalarField featuring the Boussinesq approach added TEqn.relax() The TEqn still doesn't work. Just cooling the cube results in higher temperatures than initiated and filling the isothermal cube results in floating Point error after raising and dropping T and liquid fraction. Two ideas are still open:Do anybody know an alternative approach to convMeltFoam, which doesn't use the convective term fvc::div( *** , fl )? How can terms in the TEqn, which depend on the melt fraction (alpha1 = liquid + solid) be limited, other than just multiplying it with alpha1? Thanks, ole
Hello Ole,

Were you able to solve your problem? I am actually trying to do the same and using the gallium case to bench mark my solver.

If I am not considering the gas phase "alpha2" the solver works just fine. The moment I introduce the gas phase in my case, I face 2 problems:

1) Initially the TEqn takes too many iterations to converge
2) The melt fraction gamma has a very weird profile at the interface (i.e., (interface of alpha1 (solid+melt) and alpha2 (gas phase).

Would greatly appreciate if I could look into your code.

regards,
Ricky

Last edited by kera; November 9, 2016 at 04:55. Reason: some more description

 November 21, 2016, 09:11 #232 Member   Ricky Join Date: Jul 2014 Location: Germany Posts: 78 Rep Power: 11 Hello again, I was able to solve the above mentioned problems up to an extent. But are there any test cases I could use to check my solver where all the 3 phases are present (i.e., phase1 air, phase2 (solid+melt)). regards, Ricky

 November 21, 2016, 09:15 #233 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 30 Tan, L. H., Leong, S. S., Leonardi, E., Barber, T. J., Jan. 2006. A numerical study of solid-liquid phase change with marangoni effects using a multiphase approach. Progress in Computational Fluid Dynamics, an International Journal 6 (6), 304-313. __________________ *On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer.

 November 22, 2016, 05:30 #234 Member   Ricky Join Date: Jul 2014 Location: Germany Posts: 78 Rep Power: 11 Thank you, this is what I was looking for. regards, Ricky

 November 22, 2016, 17:21 #235 New Member   Paul Join Date: May 2012 Posts: 23 Rep Power: 14 @kera: Can you share what you did? Can you share your solver?

 November 23, 2016, 10:05 #236 Member   Ricky Join Date: Jul 2014 Location: Germany Posts: 78 Rep Power: 11 Hi Paul, I am afraid, I am not allowed to share any thing related to this project for the time being, besides I have just tried to implement the algorithm presented by Kidess et al, in interFoam (which was not easy in my case as I am new to FOAM programming but thanks to all the help I could get from this thread) btw most of his presentations are availabe online. If you still need any help, I will try and help you out with my limited knowledge in this field. Hello everyone. Currently I am struggling to validate my solver, as the surface tension () and its variation with temp () are merely used as user defined values in my code and I am not sure about the values which I have in hand, whether they are right or not and at the same time I am also stuck with initializing the intial conditions of the domain. any help is really appreciated. regards, Ricky Last edited by kera; November 23, 2016 at 14:52.

 December 5, 2016, 14:32 #237 Member   Ricky Join Date: Jul 2014 Location: Germany Posts: 78 Rep Power: 11 Hello again! I am not able to work on this project full time and hence not able to update the scenario more often. I started working with the project from where I left off, I have implemented the velocity equation as below where and I have defined it in the same was as it is define in the curvature term. I tried to validate the my solver with the above paper suggested by Anton Kidess but failed. I have attached an image of my result and as you can see its miles away from the results obtained by Tan et al and the interface diffusion is overwhelming . Any help in this topic is really appreciated. regards, Ricky PS: the liquid melt fraction is a linear function. raj kumar saini likes this. Last edited by kera; May 15, 2017 at 11:07.

 December 12, 2016, 05:51 #238 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 30 In the paper you are trying to reproduce, there is metal on the bottom and gas at the top. Hence it's wrong that you initialized gamma to be zero at the right (the solid material). __________________ *On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer.

 December 12, 2016, 10:09 #239 Member   Ricky Join Date: Jul 2014 Location: Germany Posts: 78 Rep Power: 11 Hello Anton, Thank you for your reply. Yes you are right. I didn't had to initialize gamma to be "zero" on the right. I still think that there is a problem in my implementation of Marangoni force along with melting algorithm in interfoam. I am currently following the work of Dr. Saldi, and when I tested my solver against his "Two-Phase Marangoni driven flow" (discussed in his thesis) the results were way off, i.e., the surface height at left and right walls were 0.194 and 0.204 respectively, which are still no where near to the experimental solution obtained by Sen and Davis (1982) . I used the following boundary condition and schemes in my case: Boundary Conditions: Temp: Linear temperature distribution throughout the domain with left and right walls at and resp. Velocity: fixedValue 0 Alpha: with 90deg contact angle at the walls and zeroGradient otherwise. Schemes Temp, Velocity: limitedLinear alpha: vanLeer I almost forgot to mention, I recalculated the fluid and thermal properties using the dimensionless numbers. Thanks once agian. Regards, Ricky

December 12, 2016, 13:19
#240
Senior Member

Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30
Quote:
 Originally Posted by kera I am currently following the work of Dr. Saldi, and when I tested my solver against his "Two-Phase Marangoni driven flow" (discussed in his thesis) the results were way off, i.e., the surface height at left and right walls were 0.194 and 0.204 respectively, which are still no where near to the experimental solution obtained by Sen and Davis (1982) .
Sen and Davis do not present experimental results if I remember correctly. The results in that paper are based on a semi-analytic model. Based on what you put in you will obtain other results. What were the values you expected, for which dimensionless numbers?
__________________
*Spend as much time formulating your questions as you expect people to spend on their answer.

 Tags melting openfoam

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post cqlwj123 CFX 6 July 25, 2013 02:46 Kai_kc FLUENT 1 October 27, 2010 05:29 Se-Hee CFX 2 June 10, 2007 06:29 ParodDav CFX 5 April 29, 2007 19:13 M FLUENT 0 April 29, 2007 16:07

All times are GMT -4. The time now is 08:53.