
[Sponsors] 
May 28, 2017, 12:26 
TwoFluid model for melting

#1 
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
Hello,
I'm working with reactingTwoPhaseEulerFoam for the simulation of slush flows (i.e. slurry flows in which the solid particulate is the same fluid as the carrier but solidified) and I would like to investigate the possibility of allowing melting phase change between the two phases. I looked quite a bit into ThermalPhaseChangePhaseSystem and InterPhaseCompositionPhaseSystem but they require to have a phaseModel that returns mass fraction equations (returned by the multiComponentPhaseModel) and in particular the way they handle mass transfer doesn't translate into a change in the volumetric phase fraction (there is no source term in the phase fraction equations for what I understand). The model I'd like to implement is: where the mass source term is retrieved from the latent heat And then there are source terms in the energy equation and momentum equation accordingly. Do you have any hints or suggestions? In particular do you know someone or some material I could look for this? Moreover do you have any reference for the ThermalPhaseChangePhaseSystem and InterphaseCompositionPhaseSystem code? Last edited by rdbisme; June 9, 2017 at 11:52. 

May 28, 2017, 12:56 

#2 
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
As reference, for what concerns the volume fraction source term, there's a clarifying explanation from the developers:
https://bugs.openfoam.org/view.php?id=1881 Last edited by rdbisme; May 29, 2017 at 04:07. 

June 9, 2017, 11:37 

#3 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
Dear Ruben,
Based on the link you gave, the source or sink term for the volume fraction is included into the tdgdt in fluid.solve() function. Did you find the relation between dmdt and divU as mentioned in that bug report? Thanks. 

June 9, 2017, 11:46 

#4  
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
Quote:
Code:
// Set the phase dilatation rates if (phase1.compressible()) { phase1.divU(pEqnComp1 & p_rgh); } if (phase2.compressible()) { phase2.divU(pEqnComp2 & p_rgh); } Code:
if (fluid.transfersMass()) { if (pEqnComp1.valid()) { pEqnComp1.ref() = fluid.dmdt()/rho1; } else { pEqnComp1 = fvm::Su(fluid.dmdt()/rho1, p_rgh); } if (pEqnComp2.valid()) { pEqnComp2.ref() += fluid.dmdt()/rho2; } else { pEqnComp2 = fvm::Su(fluid.dmdt()/rho2, p_rgh); } } Moreover I would really like if someone has some reference that talks about this dilatation term. I cannot understand where it comes from, my compressible background is not incredible, I would like to read a bit about it. 

June 9, 2017, 11:52 

#5 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
Dear Ruben,
Thank you  This makes sense. Recently I am using this solver and reading some of its source files. I think we can discuss when necessary. Thank you so much! 

June 9, 2017, 11:54 

#6 
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
I already implemented a mockup code for the melting, it compiles but surely is gonna have some flaws. Did not have time to test it. As I'll have time I'll post it so we can work on it and the community can make comments to help. Feel free to comment if you need something.


June 9, 2017, 11:58 

#7 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
Do you mean you have already implemented a mass transfer model (or also heat transfer model) for melting under /PhaseSystems?


June 9, 2017, 12:01 

#8  
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
Quote:
I don't know by the way if that is the correct way to go. . And still untested, so maybe it's just bulls***. 

June 9, 2017, 12:04 

#9 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
Dear Ruben,
Thank you so much. I am working on implementing a pyrolysis model for the phase change. Is it possible for you to post that file so that I can make a reference for my implementation? Thanks! 

June 9, 2017, 12:06 

#10  
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
Quote:
I'll by the way post it as soon as I have something, at least, running... 

June 9, 2017, 12:07 

#11 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
OK, thank you so much for the suggestions!


June 10, 2017, 11:57 

#12 
Senior Member
Join Date: Jan 2013
Posts: 372
Rep Power: 13 
Dear Ruben,
Thank you for your explanation. When solving the alpha equation, the source term is included into dgdt, as mentioned in the link you provided. So dgdt is related to divU(). Also, the dilatation rate divU() is updated in pEqn.H, which is computed from pEqnComp. pEqnComp includes the mass addition or loss effects. Is this line of reasoning right? Thanks! 

June 23, 2017, 04:54 

#13  
Senior Member
Ruben Di Battista
Join Date: May 2013
Location: Paris
Posts: 137
Rep Power: 11 
Quote:
Sent by my Honor 8 using Tapatalk 

Tags 
melting, reactingmultiphaseeulerf, reactingtwophaseeulerfoam 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Velocity vector in impeller passage  ngoc_tran_bao  CFX  24  May 3, 2016 21:16 
Wrong flow in ratating domain problem  Sanyo  CFX  17  August 15, 2015 06:20 
how to incorporate the temperature of fluid in pressure based cavitation model  arindamsantra7  Main CFD Forum  0  September 23, 2014 10:46 
Overflow Error in Multiphase Modelling with Two Continuous Fluids  ashtonJ  CFX  6  August 11, 2014 14:32 
How to apply negtive pressure to outlet  bioman66  CFX  5  June 3, 2006 01:40 