I have a problem with phase change.
I have modelled it using bf (turbulent bubbly flow) and ht (heat transfer). Under bubbly flow is the exciting part: Mass Transfer. Since this is in a vessel which is only being heated, therefore there is only mass transfer from liquid to gas, I could put something in the "mgl" box to represent the mass transfer.
Over in the heat transfer in solids section, there is a temperature field available (T). I can compare this to the boiling point, and use the difference from boiling point over the specific heat and the latent heat of evaporation to represent the mass transfer:
if(T>tBoil,-(T-tBoil)*cpWater/hfgWater*mat2.def.rho,0)
But this is in units of kg/m3, and I need kg/m3/s. Obviously the /s part comes from the rate of heat flux. So this approach doesn't work.
I check over in the ht section and see that there is a variable available, ht.ntfluxInt which has units of W. So now if I look at what I can produce,
if (T>tBoil,-ht.ntfluxInt/hfgWater,0)
Still, no good. In this case, ht.ntfluxInt has been normalized against a unit volume, but hfgWater has not: I get units of kg/s when I need units fo kg/m3/s. And it doesn't make any sense to multiply this by the density, either.
(To lower the temperature, I was going to put the corresponding inverse of this equation in the HeatSource node under ht.)
Any help out there? What's the right approach in COMSOLand to get the units necessary? Is there a specific volume or a specific unit of time to use? Or a completely different approach? I did also look at reacf... interestingly reacf(ht.ntfluxInt) gives me exactly the units I want but I can't say that it's actually the right physical quantity.
Thanks.
I have modelled it using bf (turbulent bubbly flow) and ht (heat transfer). Under bubbly flow is the exciting part: Mass Transfer. Since this is in a vessel which is only being heated, therefore there is only mass transfer from liquid to gas, I could put something in the "mgl" box to represent the mass transfer.
Over in the heat transfer in solids section, there is a temperature field available (T). I can compare this to the boiling point, and use the difference from boiling point over the specific heat and the latent heat of evaporation to represent the mass transfer:
if(T>tBoil,-(T-tBoil)*cpWater/hfgWater*mat2.def.rho,0)
But this is in units of kg/m3, and I need kg/m3/s. Obviously the /s part comes from the rate of heat flux. So this approach doesn't work.
I check over in the ht section and see that there is a variable available, ht.ntfluxInt which has units of W. So now if I look at what I can produce,
if (T>tBoil,-ht.ntfluxInt/hfgWater,0)
Still, no good. In this case, ht.ntfluxInt has been normalized against a unit volume, but hfgWater has not: I get units of kg/s when I need units fo kg/m3/s. And it doesn't make any sense to multiply this by the density, either.
(To lower the temperature, I was going to put the corresponding inverse of this equation in the HeatSource node under ht.)
Any help out there? What's the right approach in COMSOLand to get the units necessary? Is there a specific volume or a specific unit of time to use? Or a completely different approach? I did also look at reacf... interestingly reacf(ht.ntfluxInt) gives me exactly the units I want but I can't say that it's actually the right physical quantity.
Thanks.