CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

melting problem: looking for appropriate solvers

Register Blogs Community New Posts Updated Threads Search

Like Tree186Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 16, 2016, 11:31
Default
  #221
New Member
 
Kai Schüller
Join Date: Jun 2015
Location: Germany
Posts: 8
Rep Power: 11
tetra-eder is on a distinguished road
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.
tetra-eder is offline   Reply With Quote

Old   March 16, 2016, 23:00
Default
  #222
Senior Member
 
Mohammad Shakil Ahmmed
Join Date: Oct 2012
Location: AUS
Posts: 137
Rep Power: 15
ahmmedshakil is on a distinguished road
Quote:
Originally Posted by tetra-eder View Post
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
ahmmedshakil is offline   Reply With Quote

Old   March 17, 2016, 04:03
Default
  #223
New Member
 
Kai Schüller
Join Date: Jun 2015
Location: Germany
Posts: 8
Rep Power: 11
tetra-eder is on a distinguished road
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:
\frac{\partial \left( \rho c T \right)}{\partial t}+\nabla\cdot\left(  \rho \mathbf{u} c T\right)=\nabla\cdot\left( \lambda\nabla T \right)-L\left( \frac{\partial\left( \rho \gamma_L \right)}{\partial t} +\nabla\cdot\left( \rho \mathbf{u} \gamma_L\right) \right)

Conservation of momentum:
\frac{\partial\left(\rho \mathbf{u}\right)}{\partial t}+\nabla\cdot\left( \rho \mathbf{u}\mathbf{u} \right)=-\nabla p + \nabla\cdot\left( \eta\nabla\mathbf{u}\right)-\rho \mathbf{g}\beta(T-T_0)-C\frac{\left( 1-\gamma_L \right)^2}{\gamma_L^3+\epsilon}\left( \mathbf{u}-\mathbf{u}_{\text{heatsource}} \right)

Conservation of mass:
\frac{\partial\rho}{\partial t}+\nabla\cdot \left( \rho\mathbf{u} \right)=0

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?
tetra-eder is offline   Reply With Quote

Old   March 17, 2016, 06:54
Default
  #224
New Member
 
Kai Schüller
Join Date: Jun 2015
Location: Germany
Posts: 8
Rep Power: 11
tetra-eder is on a distinguished road
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.
tetra-eder is offline   Reply With Quote

Old   July 14, 2016, 07:25
Default Help
  #225
New Member
 
Alex_Han
Join Date: Jul 2016
Posts: 5
Rep Power: 10
han0459 is on a distinguished road
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
han0459 is offline   Reply With Quote

Old   July 15, 2016, 04:57
Default
  #226
Senior Member
 
Fabian Roesler
Join Date: Mar 2009
Location: Germany
Posts: 213
Rep Power: 18
fabian_roesler is on a distinguished road
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.
fabian_roesler is offline   Reply With Quote

Old   July 16, 2016, 00:48
Default
  #227
New Member
 
Alex_Han
Join Date: Jul 2016
Posts: 5
Rep Power: 10
han0459 is on a distinguished road
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
han0459 is offline   Reply With Quote

Old   July 18, 2016, 23:00
Default
  #228
New Member
 
Alex_Han
Join Date: Jul 2016
Posts: 5
Rep Power: 10
han0459 is on a distinguished road
Sorry, I still have a little problem. There is no tutorial for the solidification, right?

Alex
han0459 is offline   Reply With Quote

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

Cheers

Fabian
fabian_roesler is offline   Reply With Quote

Old   July 21, 2016, 02:13
Default
  #230
New Member
 
Alex_Han
Join Date: Jul 2016
Posts: 5
Rep Power: 10
han0459 is on a distinguished road
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
han0459 is offline   Reply With Quote

Old   November 9, 2016, 05:30
Default
  #231
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
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 View Post
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 05:55. Reason: some more description
kera is offline   Reply With Quote

Old   November 21, 2016, 10:11
Default
  #232
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
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
kera is offline   Reply With Quote

Old   November 21, 2016, 10:15
Default
  #233
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30
akidess will become famous soon enough
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.
akidess is offline   Reply With Quote

Old   November 22, 2016, 06:30
Default
  #234
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
Thank you, this is what I was looking for.

regards,
Ricky
kera is offline   Reply With Quote

Old   November 22, 2016, 18:21
Default
  #235
New Member
 
Paul
Join Date: May 2012
Posts: 23
Rep Power: 14
pmdelgado2 is on a distinguished road
@kera: Can you share what you did? Can you share your solver?
pmdelgado2 is offline   Reply With Quote

Old   November 23, 2016, 11:05
Default
  #236
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
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 (\sigma) and its variation with temp (d\sigma/ dT) 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 15:52.
kera is offline   Reply With Quote

Old   December 5, 2016, 15:32
Default
  #237
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
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

\frac{\partial\left(\rho \mathbf{u}\right)}{\partial t}+\nabla\cdot\left( \rho \mathbf{u}\mathbf{u} \right)=-\nabla p + \nabla\cdot\left( \mu\nabla\mathbf{u}\right) + \rho(1-\beta(T-T_{ref}))\mathbf{g} + S_{Darcy} + F_{CSF} + F_{marangoni}

where F_{marangoni} = \frac{\partial \sigma}{\partial T} [\nabla T - \vec{n}(\vec{n} \cdot \nabla T)] and \vec{n} 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 12:07.
kera is offline   Reply With Quote

Old   December 12, 2016, 06:51
Default
  #238
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30
akidess will become famous soon enough
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.
akidess is offline   Reply With Quote

Old   December 12, 2016, 11:09
Default
  #239
Member
 
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12
kera is on a distinguished road
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 T_{hot} and T_{cold} 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
kera is offline   Reply With Quote

Old   December 12, 2016, 14:19
Default
  #240
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30
akidess will become famous soon enough
Quote:
Originally Posted by kera View Post
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?
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Reply

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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Melting and solidification with free surface problem? cqlwj123 CFX 6 July 25, 2013 03:46
Can I solve this problem by Fluent? Kai_kc FLUENT 1 October 27, 2010 06:29
natural convection problem for a CHT problem Se-Hee CFX 2 June 10, 2007 07:29
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 20:13
Melting Problem M FLUENT 0 April 29, 2007 17:07


All times are GMT -4. The time now is 18:55.