Modelling of two phase flow in packed bed (continued)

Click For Summary
The discussion focuses on modeling the two-phase flow of air through a packed bed, specifically addressing the complexities introduced by CO2 freezing out from the process stream. Participants explore the behavior of CO2 in a colder bed, suggesting that it may deposit temporarily before forming a solid plug, which could complicate the flow dynamics. There is a consensus on the importance of understanding thermodynamics and phase equilibria of the gas mixture before advancing the model, with recommendations to analyze vapor pressures and phase compositions. The impact of varying superficial velocities across different phases is highlighted as a significant factor that could affect the model's accuracy. Overall, the conversation emphasizes a careful and methodical approach to developing the model to account for these complexities.
  • #91
casualguitar said:
Besides this no further questions I am good to proceed. I'll write out the up to date model equations with the relevant substitutions now
So the equations we're solving:
The gas phase mole balance:
##m_{m,j}\frac{\partial y_{i,j}}{\partial t} = \dot{m}_{j-1}(y_{j-1} - y_j) - \dot{M}_{i,j}''A_{S,j} + y_{i,j}\sum_{j=1}^{n_c}\dot{M}_j^"A_S##

The gas phase heat balance:
##m_{m,j}c_{p,j}\frac{\partial T_{g,j}}{\partial t} = \dot{m}_{j-1}c_{p,j-1}(T_{j-1} - T_j) - q_{g,I,j}A_{S,j}##

Bed heat balance:
##M_{s,j}C_{p,s,j}\frac{\partial T_{b,j}}{dt}=q_{I,b,j}A_{S,j}##

Solid phase mass balance:
##A_C\Delta z\frac{\partial M_{i,j}}{\partial t} ={\dot{M}_{i,j}^"A_{S,j}}##

Variation of gas phase mass holdup w.r.t. time:
##\frac{\partial m_j}{\partial t} = \dot{m}_{j-1} - \dot{m}_j -\sum_{i=1}^{n_c}{\dot{M}_{i,j}^"A_{S,j}}##
##\frac{\partial m_j}{\partial t}=-\frac{\rho_{m,j}}{T_j}A_C\Delta z\frac{\partial T_{g,j}}{\partial t}##

Mass flow out of a tank:
##\dot{m}_j=\dot{m}_{j-1}+\frac{\rho_{m,j}}{T}A_C\Delta z\frac{\partial T}{\partial t}-\sum_{i=1}^{n_c}{\dot{M}_{i,j}^"A_{S,j}}##

Where:
##A_s = A_C\Delta za_s##
##M_s = \rho_s(1-\epsilon_g)A\Delta z##
##m_j=\rho_jA_C\epsilon \Delta x=\rho_j(V/n)##
##\dot{m_j}=\phi_{x+\Delta x/2}A_C\epsilon##
##A_{S,j}=A/n## where n is the number of tanks
##M_{S,j}=M/n##

Do these equations look ok? In your view are they in a final 'solvable' form?
 
Engineering news on Phys.org
  • #92
casualguitar said:
After reading through the model, I think these questions sum up the bits I don't understand (not really all that much):
-The model is similar to the Tuinier model, however there are some differences. Is it fair to say these are the main differences, or have I missed any?
1) no assumption of ##T_g = T_b##
2) molar rather than mass balances used
3) The formulation for the rate of mass deposition (will be different)
We handle the dispersion differently also.
casualguitar said:
- I've asked this next one already but I want to ask it again in a different way to hopefully make it clear what exactly is happening here:
I see that the overall gas phase mass balance wasn't useful as it did not have the variation of mole fraction w.r.t time in it. So we multiplied in the mole fraction term. Then we added this equation to species mass balance to obtain the divergence form of the mass balance:
View attachment 299658
No. The divergence form was the original form of the individual species mass balance equation that they derived (not shown in their formulation). So to get the time derivatives of the mass fractions, they multiplied the overall mass balance equation by species mass fraction and subtracted.
casualguitar said:
What is the advantage of solving this form of the mass balance over the component mass balance that Tuinier provided (our species mass balance)? As both equations seem to have the mole fraction time derivative. Do you see my confusion there?
I am not recommending solving using the divergence form. In the newly derived finite difference equations, we have used the non-divergence form (material derivative form).
casualguitar said:
Lastly what is the physical significance of the last term if any?
##m_{m,j}\frac{\partial y_i}{\partial t} = \dot{m}_{j-1}(y_{j-1} - y_j) - \dot{M}_{i,j}''A_S + y_{i,j}\sum_{j=1}^{n_c}\dot{M}_j^"A_S##
I suppose we could figure out a physical significance to it (based on the material derivative frame of reference of an observer moving with the mass- or molar average velocity), but I don't think it is really worth it.
 
  • #93
casualguitar said:
So the equations we're solving:
The gas phase mole balance:
##m_{m,j}\frac{\partial y_{i,j}}{\partial t} = \dot{m}_{j-1}(y_{j-1} - y_j) - \dot{M}_{i,j}''A_{S,j} + y_{i,j}\sum_{j=1}^{n_c}\dot{M}_j^"A_S##

The gas phase heat balance:
##m_{m,j}c_{p,j}\frac{\partial T_{g,j}}{\partial t} = \dot{m}_{j-1}c_{p,j-1}(T_{j-1} - T_j) - q_{g,I,j}A_{S,j}##

Bed heat balance:
##M_{s,j}C_{p,s,j}\frac{\partial T_{b,j}}{dt}=q_{I,b,j}A_{S,j}##

Solid phase mass balance:
##A_C\Delta z\frac{\partial M_{i,j}}{\partial t} ={\dot{M}_{i,j}^"A_{S,j}}##

casualguitar said:
Variation of gas phase mass holdup w.r.t. time:
##\frac{\partial m_j}{\partial t} = \dot{m}_{j-1} - \dot{m}_j -\sum_{i=1}^{n_c}{\dot{M}_{i,j}^"A_{S,j}}##
##\frac{\partial m_j}{\partial t}=-\frac{\rho_{m,j}}{T_j}A_C\Delta z\frac{\partial T_{g,j}}{\partial t}##
These previous two equations are not used in the computer model. They are combined in the equation below to give the flow out of each tank.
casualguitar said:
Mass flow out of a tank:
##\dot{m}_j=\dot{m}_{j-1}+\frac{\rho_{m,j}}{T}A_C\Delta z\frac{\partial T}{\partial t}-\sum_{i=1}^{n_c}{\dot{M}_{i,j}^"A_{S,j}}##

Where:
##A_s = A_C\Delta za_s##
##M_s = \rho_s(1-\epsilon_g)A\Delta z##
##m_j=\rho_jA_C\epsilon \Delta x=\rho_j(V/n)##
##\dot{m_j}=\phi_{x+\Delta x/2}A_C\epsilon##
##A_{S,j}=A/n## where n is the number of tanks
##M_{S,j}=M/n##

Do these equations look ok? In your view are they in a final 'solvable' form?
As best I can tell, these equations look OK. However they are not the complete formulation. Also needed are the heat- and mass transfer coefficient correlations, the expressions for the heat- and mass fluxes to the gas and bed, and the temperature at the solid deposit (interface between the gas and bed) which is used to calculate the partial pressure of the depositing species.
 
  • #94
Chestermiller said:
These previous two equations are not used in the computer model. They are combined in the equation below to give the flow out of each tank.

As best I can tell, these equations look OK. However they are not the complete formulation
Chestermiller said:
Also needed are the heat- and mass transfer coefficient correlations
##\frac{1}{U^*}=\frac{1}{U_g}+\frac{1}{U_b}##
So we need correlations for ##U_b## and ##U_g##. We know how to get these so that should be ok

No mass transfer coefficient correlations yet. We could go with their fudge factor approach for now until a basic model in code has been set up
Chestermiller said:
the expressions for the heat- and mass fluxes to the gas and bed
Heat fluxes:
##q_{g,I}=-\frac{U_g\sum_{j=1}^{n_c}{\dot{M}_j^"\Delta h_j}}{U_g+U_b}+U^*(T_g-T_b)##
##q_{I,b}=+\frac{U_b\sum_{j=1}^{n_c}{\dot{M}_j^"\Delta h_j}}{U_g+U_b}+U^*(T_g-T_b)##

No mass flux expressions yet
Chestermiller said:
the temperature at the solid deposit (interface between the gas and bed)
##T_I=\frac{\sum_{j=1}^{n_c}\dot{M}_j^"\Delta h_j}{U_g+U_b}+\frac{U_gT_g+U_bT_b}{U_g+U_b}##

Chestermiller said:
which is used to calculate the partial pressure of the depositing species.
So we also need a way to calculate the partial pressure of a species. Thermo should be able to do this I'll check. Tuinier provides a saturation pressure correlation for CO2 but not water so I suppose we will need to get an equivalent solidification curve for water here also

So to sum up what other things are needed:
- ##U_b## and ##U_g## correlations from Bird et al
- Mass transfer coefficient correlations
- Expressions for mass flux to the gas and bed
- Partial pressure correlations

I guess Tuinier have provided the desublimation curve for #CO_2##. We might also need an equivalent solidification (liquid to solid) curve for water?

Do you think it is better to discuss the computational flow i.e. how to solve this system next, or should we get correlations for the above first?
 
  • #95
casualguitar said:
##\frac{1}{U^*}=\frac{1}{U_g}+\frac{1}{U_b}##
So we need correlations for ##U_b## and ##U_g##. We know how to get these so that should be ok

No mass transfer coefficient correlations yet. We could go with their fudge factor approach for now until a basic model in code has been set up

Heat fluxes:
##q_{g,I}=-\frac{U_g\sum_{j=1}^{n_c}{\dot{M}_j^"\Delta h_j}}{U_g+U_b}+U^*(T_g-T_b)##
##q_{I,b}=+\frac{U_b\sum_{j=1}^{n_c}{\dot{M}_j^"\Delta h_j}}{U_g+U_b}+U^*(T_g-T_b)##

No mass flux expressions yet

##T_I=\frac{\sum_{j=1}^{n_c}\dot{M}_j^"\Delta h_j}{U_g+U_b}+\frac{U_gT_g+U_bT_b}{U_g+U_b}##So we also need a way to calculate the partial pressure of a species. Thermo should be able to do this I'll check. Tuinier provides a saturation pressure correlation for CO2 but not water so I suppose we will need to get an equivalent solidification curve for water here also

So to sum up what other things are needed:
- ##U_b## and ##U_g## correlations from Bird et al
- Mass transfer coefficient correlations
- Expressions for mass flux to the gas and bed
- Partial pressure correlations

I guess Tuinier have provided the desublimation curve for #CO_2##. We might also need an equivalent solidification (liquid to solid) curve for water?

Do you think it is better to discuss the computational flow i.e. how to solve this system next, or should we get correlations for the above first?
I think we should complete the formulation first.

BTW, I meant to say "equilibrium vapor pressures," not "partial pressures"
 
  • #96
Chestermiller said:
BTW, I meant to say "equilibrium vapor pressures," not "partial pressures"
Yes I thought so, however I have a history of being wrong so far

The paper provides this curve for ##CO_2##. None for water though so I suppose I can just get an equivalent liquid-solid curve to add to the ##CO_2## vapour-solid curve they give

I think I can make a good attempt at ##U_g## and ##U_b##, and I can get the water equilibrium vapour pressure curve. How does starting with the mass transfer correlations/expressions sound? Seems like the most difficult of the bunch
 
Last edited:
  • #97
Chestermiller said:
I think we should complete the formulation first.
Sublimation curve for CO2 (Span and Wagner):
Screenshot 2022-04-12 at 14.46.21.png


Melting curve for H2O (Span and Wagner):
Screenshot 2022-04-12 at 14.47.46.png


If we need the vapour-liquid curve for CO2 we could take this from Span and Wagner also just so we would have alignment between the VL and VS curves

I will make an attempt at doing the ##U_g## and ##U_b## correlations this evening. I guess this will be the the same process as the previous model? Just adjusting for gas/solid parameters as needed
 
  • #98
casualguitar said:
Sublimation curve for CO2 (Span and Wagner):
View attachment 299816
What's wrong with using the CO2 vapor pressure from Tuinier et al?
casualguitar said:
Melting curve for H2O (Span and Wagner):
View attachment 299817

If we need the vapour-liquid curve for CO2 we could take this from Span and Wagner also just so we would have alignment between the VL and VS curves

I will make an attempt at doing the ##U_g## and ##U_b## correlations this evening. I guess this will be the the same process as the previous model? Just adjusting for gas/solid parameters as needed
Yes, the BSL correlation for the gas, and the asymptotic (long time) equation for the solid particles.
 
  • #99
Chestermiller said:
What's wrong with using the CO2 vapor pressure from Tuinier et al?

Yes, the BSL correlation for the gas, and the asymptotic (long time) equation for the solid particles.
Nothing I just thought it would be nice to have both fits come from the same source Span and Wagner. Either one is fine with me

Ok great. I'll make an attempt at these this evening then

By any chance could we talk about the computational flow in short before doing the mass transfer correlations? I think given the multiple equations involved it will take some time for me to understand this

For reference this is the computational flow for the previous model:
?hash=7b854021e3eb0ce9cb0a30c7d62dc2b7.png
 

Attachments

  • Screenshot 2022-04-12 at 16.32.43.png
    Screenshot 2022-04-12 at 16.32.43.png
    8.5 KB · Views: 112
  • #100
Mass Transfer Rate for Deposition of CO2 and Water

The following is still somewhat approximate, but is a significant improvement to the mass transfer rate approach used by Tuinier et al:
$$\dot{M}_i^"=k_i\left(\frac{Py_i-p_i(T_I)}{RT_I}\right)\tag{1}$$where ##\dot{M}_i^"## is the molar flux of species per unit area of surface, P is the total pressure, ##y_i## is the mole fraction of species in the bulk gas, ##p_i(T_I)## is the equilibrium vapor pressure of species at the interface temperature ##T_I##, and ##k_i## is the mass transfer coefficient (units of m/s) of species for deposition from the gas.

The mass transfer coefficient ##k_i## is related to the local Sherwood number for mass transfer by $$Sh_{loc,i}=\frac{k_iD_p}{(1-\epsilon_g)D_i\psi}$$where ##D_i## is the diffusion coefficient of species in N2 and ##\psi## is the packing particle shape factor (equal to 1.0 for spherical particles and 0.92 for cylindrical particles). By Reynolds analogy, the Sherwood number ##Sh_{loc,i}## is the same function of Reynold number and Schmidt number as the Nussult number is as a function of Reynolds number and Prantdl number, respectively.

An additional constraint on Eqn. 1 is that ##\dot{M}_i^"## must be zero if the number of moles of deposit per unit area of surface is zero and the right hand side of Eqn. 1 is negative. This means that the number of moles per unit area of deposit on the surface of the particles can never go negative.

Thoughts?
 
  • #101
Chestermiller said:
Mass Transfer Rate for Deposition of CO2 and Water

The following is still somewhat approximate, but is a significant improvement to the mass transfer rate approach used by Tuinier et al:
$$\dot{M}_i^"=k_i\left(\frac{Py_i-p_i(T_I)}{RT_I}\right)\tag{1}$$where ##\dot{M}_i^"## is the molar flux of species per unit area of surface, P is the total pressure, ##y_i## is the mole fraction of species in the bulk gas, ##p_i(T_I)## is the equilibrium vapor pressure of species at the interface temperature ##T_I##, and ##k_i## is the mass transfer coefficient (units of m/s) of species for deposition from the gas.
Ok then similar to the Tuinier et al model you're saying that mass transfer rate will be proportional to the difference between the partial pressure of the species and the equilibrium vapour pressure of the species

Where does equation 1 come from? Is this an equation you derived or is it an established equation?

Chestermiller said:
The mass transfer coefficient ki is related to the local Sherwood number for mass transfer by Shloc,i=kiDp(1−ϵg)Diψwhere Di is the diffusion coefficient of species in N2 and ψ is the packing particle shape factor (equal to 1.0 for spherical particles and 0.92 for cylindrical particles).
Got it, so I guess we will be able to find Sherwood number correlations for packed beds in Bird et al that we can use here to solve for the mass transfer coefficient
Chestermiller said:
By Reynolds analogy, the Sherwood number Shloc,i is the same function of Reynold number and Schmidt number as the Nussult number is as a function of Reynolds number and Prantdl number, respectively.
So if the Nusselts number tells you how convection or conduction dominant the heat transfer is, the Sherwood number tells you how convection or diffusion dominant the mass transfer is?
Chestermiller said:
An additional constraint on Eqn. 1 is that M˙i" must be zero if the number of moles of deposit per unit area of surface is zero and the right hand side of Eqn. 1 is negative. This means that the number of moles per unit area of deposit on the surface of the particles can never go negative.
Got it

This just leaves us with the ##U_g## and ##U_b## correlations then? On this now
 
Last edited:
  • #102
casualguitar said:
Ok then similar to the Tuinier et al model you're saying that mass transfer rate will be proportional to the difference between the partial pressure of the species and the equilibrium vapour pressure of the species

Where does equation 1 come from? Is this an equation you derived or is it an established equation?
It is an established equation using the mass transfer coefficient analogous to the heat transfer coefficient. See chapters 17 and forward in BSL, Treybel (Mass Transfer Operations), and Chemical Engineers' Handbook
casualguitar said:
Got it, so I guess we will be able to find Sherwood number correlations for packed beds in Bird et al that we can use here to solve for the mass transfer coefficient
Like I said, you use the same BSL correlation for Sh in terms of Re and Sc that you use for heat transfer Nu in terms of Re and Pr.
casualguitar said:
So if the Nusselts number tells you how convection or conduction dominant the heat transfer is, the Sherwood number tells you how convection or diffusion dominant the mass transfer is?
Nu is for convective heat transfer and Sh is for convective mass transfer.
casualguitar said:
Got it

This just leaves us with the ##U_g## and ##U_b## correlations then? On this now
I recommend using the same BSL correlations that we used in the other model.
 
  • #103
Chestermiller said:
Like I said, you use the same BSL correlation for Sh in terms of Re and Sc that you use for heat transfer Nu in terms of Re and Pr.
Got it, I found where it does that in BSL also
Chestermiller said:
I recommend using the same BSL correlations that we used in the other model.
Ok interesting so this flow as done in the previous model:
1649915715738.png

applies for both ##U_g## and ##U_b## (using the relevant solid and fluid parameters for ##U_b## and ##U_g## respectively). We can also swap out the Prandtl number for the Schmidt number and then this flow applies for the mass transfer coefficient ##k_i## also? If so this makes the coding efficient

Where ##Sc = \frac{\mu}{\rho D}##. The equivalent ##k_g## term from model 1 was found via the thermo library assuming ##k_g## was temperature and pressure dependent. I don't think thermo will give the mass diffusivity so we will need a correlation for ##D## here also. I guess BSL will have this?

Note:
Just looking at the correlation used for ##U## in the previous model, its not clear to me how to apply this separately to ##U_g## and ##U_b## in this model. It seems that we will only need to use the fact that ##T_g## does not equal ##T_b##. Is it correct to say that the only difference between the ##U_g## and ##U_b## models is that the ##U_g## parameters are evaluated at ##T_g## and the ##U_b## parameters are evaluated at ##T_b##?

Or if the above is not correct then maybe we should go with the approach below (outlined in BSL ch.14) where you take the average temperature so ##U_b## parameters would be evaluated at ##\frac{(TI+TB)}{2}## and ##U_g## parameters at ##\frac{(TI+TG)}{2}##?

Screenshot 2022-04-14 at 07.27.16.png
 
Last edited:
  • #104
Chestermiller said:
It is an established equation using the mass transfer coefficient analogous to the heat transfer coefficient. See chapters 17 and forward in BSL, Treybel (Mass Transfer Operations), and Chemical Engineers' Handbook

Like I said, you use the same BSL correlation for Sh in terms of Re and Sc that you use for heat transfer Nu in terms of Re and Pr.

Nu is for convective heat transfer and Sh is for convective mass transfer.

I recommend using the same BSL correlations that we used in the other model.
Just one other question - I'll be using the previous HTC functions I made for this (plus a new one for the Sc number). I think there is a bug in one of my functions though. Do you know what the typical ranges for the Pr, Re, Nu, Sc numbers and U in the previous model (model 1) would be? Just to help with the debug!

Also I believe you previously commented on my sleeping patterns (early on in model 1). I see you're also awake at a quite early time of 4am! An early bird or a late night owl?

Edit:
Lastly, we had the lumping of the convective and conductive terms in the last model for U:
Screenshot 2022-04-14 at 10.54.53.png

Does the same lumping apply for the convective and diffusive mass transfer? Meaning that we would get something like:
$$k_i = \frac{1}{\frac{1}{k_{fs}} + \frac{dp/\beta}{D}}$$
 
Last edited:
  • #105
casualguitar said:
Got it, I found where it does that in BSL also

Ok interesting so this flow as done in the previous model:
View attachment 299928
applies for both ##U_g## and ##U_b## (using the relevant solid and fluid parameters for ##U_b## and ##U_g## respectively). We can also swap out the Prandtl number for the Schmidt number and then this flow applies for the mass transfer coefficient ##k_i## also? If so this makes the coding efficient
I can't read your handwriting again. Please use Latex or provide a post # from the previous thread.
casualguitar said:
Where ##Sc = \frac{\mu}{\rho D}##. The equivalent ##k_g## term from model 1 was found via the thermo library assuming ##k_g## was temperature and pressure dependent. I don't think thermo will give the mass diffusivity so we will need a correlation for ##D## here also. I guess BSL will have this?
Just google "diffusivity of CO2 (and H2O)" in Nitrogen. That should be good enough. BSL will have H2O probably.
casualguitar said:
Note:
Just looking at the correlation used for ##U## in the previous model, its not clear to me how to apply this separately to ##U_g## and ##U_b## in this model. It seems that we will only need to use the fact that ##T_g## does not equal ##T_b##. Is it correct to say that the only difference between the ##U_g## and ##U_b## models is that the ##U_g## parameters are evaluated at ##T_g## and the ##U_b## parameters are evaluated at ##T_b##?
This is not going to be exact. I would use T at the interface.
casualguitar said:
Or if the above is not correct then maybe we should go with the approach below (outlined in BSL ch.14) where you take the average temperature so ##U_b## parameters would be evaluated at ##\frac{(TI+TB)}{2}## and ##U_g## parameters at ##\frac{(TI+TG)}{2}##?

View attachment 299929
This would be adequate too. Like I said, it won't be exact. This is a judgment call.
 
  • #106
casualguitar said:
Just one other question - I'll be using the previous HTC functions I made for this (plus a new one for the Sc number). I think there is a bug in one of my functions though. Do you know what the typical ranges for the Pr, Re, Nu, Sc numbers and U in the previous model (model 1) would be? Just to help with the debug!

This is why I suggested in the previous model that you compare the two gas phase correlations given in BSL and your other reference.
casualguitar said:
Also I believe you previously commented on my sleeping patterns (early on in model 1). I see you're also awake at a quite early time of 4am! An early bird or a late night owl?
My dog was barking, and he pooped on the kitchen floor before I could get him outside.
casualguitar said:
Edit:
Lastly, we had the lumping of the convective and conductive terms in the last model for U:
View attachment 299934
Does the same lumping apply for the convective and diffusive mass transfer? Meaning that we would get something like:
$$k_i = \frac{1}{\frac{1}{k_{fs}} + \frac{dp/\beta}{D}}$$
No. There is no diffusion in the solid bed particles. You just use the mass transfer coefficient for the gas phase. The mass transfer model just applies from the bulk gas to the solidification interface.
 
  • #107
Chestermiller said:
Just google "diffusivity of CO2 (and H2O)" in Nitrogen. That should be good enough. BSL will have H2O probably.
Are we looking for a correlation here or assuming a constant?

Chestermiller said:
This is not going to be exact. I would use T at the interface.
Chestermiller said:
This would be adequate too. Like I said, it won't be exact. This is a judgment call.
It will be a small code change to switch between these so that can be decided later

Chestermiller said:
I can't read your handwriting again. Please use Latex or provide a post # from the previous thread.
Screenshot 2022-04-14 at 11.49.26.png

Screenshot 2022-04-14 at 11.50.05.png

So this is the model I would be using (same as model 1) to calculate ##U_g## and ##U_b##. ##U_g## is evaluated using ##\frac{(TI+TG)}{2}## and ##U_B## using ##\frac{(TI+TB)}{2}##. You suggested earlier using ##T_I## for both. Would this not mean that ##U_g## would be equal to ##U_b## always?
 
  • #108
Chestermiller said:
This is why I suggested in the previous model that you compare the two gas phase correlations given in BSL and your other reference.
Would you know the expected order for these parameters (Re, Pr, Nu, U)?
Chestermiller said:
My dog was barking, and he pooped on the kitchen floor before I could get him outside.
Ideal start to the day!
 
  • #109
Chestermiller said:
No. There is no diffusion in the solid bed particles. You just use the mass transfer coefficient for the gas phase. The mass transfer model just applies from the bulk gas to the solidification interface.
I think I understand. So the mass and heat transfer models are equivalent, except we leave out the final 'lumping' equation as we had in the heat transfer model? Leaving us with this mass transfer model:
Screenshot 2022-04-14 at 12.02.54.png

Seem reasonable to you?
 
Last edited:
  • #110
casualguitar said:
I think I understand. So the mass and heat transfer models are equivalent, except we leave out the final 'lumping' equation as we had in the heat transfer model? Leaving us with this mass transfer model:
View attachment 299937
Seem reasonable to you?
No. $$Sh_{loc,i}=(2.19 Re^{\frac{1}{3}}+0.78 Re^{0.619})Sc^{\frac{1}{3}}$$
 
  • #111
Chestermiller said:
No. $$Sh_{loc,i}=(2.19 Re^{\frac{1}{3}}+0.78 Re^{0.619})Sc^{\frac{1}{3}}$$
Whoops yes I got that result also

The last bit seems to be the diffusivity of both CO2 and H2O in N2. A constant value or a temperature dependent correlation? I can find approximate constant values easily (approx 0.22cm2/s and 0.15 cm2/s for water and CO2, both at 273K). There seems to be a lot of literature on this though so correlations should be available

One question - how does this model deal with liquid phase water?
Looking at the heat balances and this equation
Screenshot 2022-04-16 at 00.19.10.png

there seems to be no reason why we couldn't swap out the heat of fusion for the heat of vaporisation here as required.

However for the mass balances we don't seem to have a way to track the amount of liquid present, only solid deposition, so my thought is that this model effectively assumes that water moves from gas phase to solid phase and back very quickly i.e. fast enough to assume no liquid phase is present? Is this the assumption being made in Tuinier et al also?

Besides those correlations to be found, it looks like the computational flow is the next point?

Screenshot 2022-04-16 at 00.27.39.png

Hmm I don't understand at what point we can actually solve for the ##q## values

Similar to the last model we know ##\dot{m}_0## into the bed so we can solve the gas phase mole balance immediately I think. To solve for the ##q## values we need ##T_g## and ##T_b## which we don't have yet, so my guess is that the gas and bed heat balances must be solved simultaneously? Then we can also solve the solid phase mass balance once we have these temperatures and the interface temperature

Once we have ##T_g## and ##T_b## we can solve for the mass flow out of a tank. This cycle then repeats for the other beds
 
  • #112
casualguitar said:
Whoops yes I got that result also

The last bit seems to be the diffusivity of both CO2 and H2O in N2. A constant value or a temperature dependent correlation? I can find approximate constant values easily (approx 0.22cm2/s and 0.15 cm2/s for water and CO2, both at 273K). There seems to be a lot of literature on this though so correlations should be available
See Chapter 17 of BSL.
casualguitar said:
One question - how does this model deal with liquid phase water?
Looking at the heat balances and this equation
View attachment 300047
there seems to be no reason why we couldn't swap out the heat of fusion for the heat of vaporisation here as required.

However for the mass balances we don't seem to have a way to track the amount of liquid present, only solid deposition, so my thought is that this model effectively assumes that water moves from gas phase to solid phase and back very quickly i.e. fast enough to assume no liquid phase is present? Is this the assumption being made in Tuinier et al also?
This is a bit of a dilemma. Tuinier are assuming that water deposits as liquid and CO2 deposits as solid. But there is no allowance for the conversion of deposited liquid water to deposited ice in their approach, even if they did switch from the liquid to the solid vapor pressure curve to describe the behavior during the deposition. The heat of vaporization of water is >540 cal/gm, and the heat of fusion of water is 80 cal/gm, so it may not matter much. They may be using a single value for the heat of phase change of water and a single value for CO2, irrespective of temperature. This neglects:
1. Changes is heat of sublimation or vaporization with temperature
2. Heat of fusion of water
3. Changes in sensible heat of deposits.
4. The deposition processes of H20 and CO2 do not interact
This seems to be the approximation they are using in this model, and it may be a pretty good approximation, in view of other approximations that are inherent in the model.
casualguitar said:
Besides those correlations to be found, it looks like the computational flow is the next point?

View attachment 300048
Hmm I don't understand at what point we can actually solve for the ##q## values
These are expressed in terms of the deposition rates, heats of deposition, bulk temperature of the bed and gas, and heat transfer coefficients by the equations I gave.
casualguitar said:
Similar to the last model we know ##\dot{m}_0## into the bed so we can solve the gas phase mole balance immediately I think. To solve for the ##q## values we need ##T_g## and ##T_b## which we don't have yet, so my guess is that the gas and bed heat balances must be solved simultaneously? Then we can also solve the solid phase mass balance once we have these temperatures and the interface temperature

Once we have ##T_g## and ##T_b## we can solve for the mass flow out of a tank. This cycle then repeats for the other beds
This looks OK. I recommend doing each tank in sequence at a given time step using Crank-Nicholson type approximation.
 
  • #113
Chestermiller said:
These are expressed in terms of the deposition rates, heats of deposition, bulk temperature of the bed and gas, and heat transfer coefficients by the equations I gave.
Yes however I'm not sure yet if they are solved at each position/time step independently of the ODEs they are part of i.e. do we solve for the q values first and then use these values in solving the relevant ODEs, or are the q values solved for at the same time as the ODE is being solved (simultaneously)
Chestermiller said:
I recommend doing each tank in sequence at a given time step using Crank-Nicholson type approximation.
Previously we used the available integrators (ODEint and solve_ivp). Neither of these have a CN approximation available. Are you suggesting hard coding the CN solution, rather than using an integrator library? I have no issue with that the learning might be good. Is there any advantage to hard coding rather than using an available integrator here?
 
  • #114
casualguitar said:
Yes however I'm not sure yet if they are solved at each position/time step independently of the ODEs they are part of i.e. do we solve for the q values first and then use these values in solving the relevant ODEs, or are the q values solved for at the same time as the ODE is being solved (simultaneously)
No. The expressions for the q's are substituted into the two respective heat transfer differential equations.
casualguitar said:
Previously we used the available integrators (ODEint and solve_ivp). Neither of these have a CN approximation available. Are you suggesting hard coding the CN solution, rather than using an integrator library?
Sure. That's not a problem right? I'm suggesting solving them for each tank at each time step using predictor-corrector.
casualguitar said:
I have no issue with that the learning might be good. Is there any advantage to hard coding rather than using an available integrator here?
The available integrators won't do one tank at a time in sequence.
 
  • #115
Chestermiller said:
No. The expressions for the q's are substituted into the two respective heat transfer differential equations.
Got it
Chestermiller said:
Sure. That's not a problem right? I'm suggesting solving them for each tank at each time step using predictor-corrector.
No problem with that. I actually prefer the idea of doing this manually because I think it would be beneficial/interesting to see exactly what's going on (the integrator libraries sort of hide this). It is also what my own supervisor suggested for the previous model (before I used an integrator library)

Chestermiller said:
I'm suggesting solving them for each tank at each time step using predictor-corrector.
Ok. I have never coded something like this manually. I have seen examples of CN being implemented in python though so I can follow these

Chestermiller said:
The available integrators won't do one tank at a time in sequence.
Is this not what we did in the previous model? Solve for all values across all tanks at a single time before continuing to the next time step?

Lastly, if the available integrators won't do one tank at a time in sequence, why choose this approach? What is the advantage of this?

To be clearer on the above question, I'm asking -
Why did we use an integrator for the previous model rather than manually code it, and why is this approach not being used this time around. i.e. what is different between the two models that it is better to manually code CN this time?

Will do a final collation of the equations/correlations this evening and then start the CN solution tomorrow. I think for now I'll assume a constant value for everything I reasonably can i.e. just focus on getting actual solutions to the differential equations without worrying about correlations etc being used right also
 
  • #116
casualguitar said:
Got it

No problem with that. I actually prefer the idea of doing this manually because I think it would be beneficial/interesting to see exactly what's going on (the integrator libraries sort of hide this). It is also what my own supervisor suggested for the previous model (before I used an integrator library)Ok. I have never coded something like this manually. I have seen examples of CN being implemented in python though so I can follow theseIs this not what we did in the previous model? Solve for all values across all tanks at a single time before continuing to the next time step?

Lastly, if the available integrators won't do one tank at a time in sequence, why choose this approach? What is the advantage of this?
Actually, I was mistake about all this. Sorry. There is no reason why the automatic integrator can't be used if the time derivatives of the dependent variables are calculated in the proper sequence. In particular, 1. all the time derivatives for a given tank (value of z) are calculated first, and then 2. the value of ##\dot{m_j}## is calculated for that tank before moving on to the next tank.

I don't know how I didn't realize that, and I almost led you astray. Again, sorry.

Regarding the automatic integrators, they are much more preferable than ad hoc user integration schemes because (a) they make things so easy, only requiring you to provide code for calculating the time derivatives based on the solution vector, (b) they have automatic error (accuracy) control, (c) they have automatic step size control, (d) they have automatic order control, and (e) they are stable. So they are very efficient and powerful. There is no reason why you can't study the literature (e.g., the literature on the Gear integrator) to get an understanding of how this is all accomplished.
casualguitar said:
To be clearer on the above question, I'm asking -
Why did we use an integrator for the previous model rather than manually code it, and why is this approach not being used this time around. i.e. what is different between the two models that it is better to manually code CN this time?
My mistake. Stick with the automatic integrator.
 
  • #117
Chestermiller said:
There is no reason why the automatic integrator can't be used if the time derivatives of the dependent variables are calculated in the proper sequence. In particular, 1. all the time derivatives for a given tank (value of z) are calculated first, and then 2. the value of mj˙ is calculated for that tank before moving on to the next tank.
So ##\dot{m_j}## is the last thing to be calculated for a given tank for a given time step. Understood. However the order of calculation of time derivatives isn't clear to me yet. Does the order actually matter here? Or should it be:
1) the gas and solid phase heat balances are solved first simultaneously
2) the gas and solid deposition mole balances are solved (not simultaneously they can be solved independently)
3) ##\dot{m_j}## for the tank is solved
4) repeated for all tanks

I might be overcomplicating the below, but anyway:

So to be solved are:
- 3 gas phase mole balances
- 3 has phase heat balances
- 1 bed heat balance
- 2 solid phase heat balance (CO2 and H2O)
- 3 'molar flow out of tank' equations

The initial and boundary conditions would be (assuming the bed is initially cold and just has nitrogen in it):

ICs:
- molar holdup of nitrogen
- bed temperature
- nitrogen temperature (same at the bed temperature initially)
- mole fraction of nitrogen (equal to 1 in this case)

BCs:
- molar flow of each component into the bed
- mole fraction of each component into the bed (or we can calculate this from the above)
- temperature of the flow into the bed

So at each point in the bed we are solving for
- the mole fraction of component i (N2,H2O, CO2). We will get three y values at each point
- bed temperature
- temperature of the gas (all components assumed at the same temperature)
- total deposition (moles) of component i
- molar flow of component i

And in addition, the computational flow for solving the system of ODEs mentioned above applies to all components individually i.e. there is no dependence of one component on another? So we are solving the mass/heat balances for each component as if the other components were not present

Is this a reasonable summary?
 
  • #118
casualguitar said:
So ##\dot{m_j}## is the last thing to be calculated for a given tank for a given time step. Understood.
The j refers to the tank number, not the component number.
casualguitar said:
However the order of calculation of time derivatives isn't clear to me yet. Does the order actually matter here? Or should it be:
1) the gas and solid phase heat balances are solved first simultaneously
2) the gas and solid deposition mole balances are solved (not simultaneously they can be solved independently)
3) ##\dot{m_j}## for the tank is solved
4) repeated for all tanks
No. When using the automatic integrator, all dependent variables are being solved for simultaneously.
casualguitar said:
I might be overcomplicating the below, but anyway:

So to be solved are:
- 3 gas phase mole balances
No. Only 2: H2O and CO2. The nitrogen mole fraction is 1 minus the other two.
casualguitar said:
- 3 has phase heat balances
No. There is only one overall gas phase heat balance.
casualguitar said:
- 1 bed heat balance
- 2 solid phase heat balance (CO2 and H2O)
No. The solid phase heat balance is not solved at all. The heat generated in condensing and evaporation are distributed to the gas- and bed heat balances (by the heat flow equations I gave).
casualguitar said:
- 3 'molar flow out of tank' equations
No. There is only one molar flow out-of-tank equation. The j is the tank number , not the component number.
casualguitar said:
The initial and boundary conditions would be (assuming the bed is initially cold and just has nitrogen in it):

ICs:
- molar holdup of nitrogen
- bed temperature
- nitrogen temperature (same at the bed temperature initially)
- mole fraction of nitrogen (equal to 1 in this case)

BCs:
- molar flow of each component into the bed
- mole fraction of each component into the bed (or we can calculate this from the above)
- temperature of the flow into the bed
Yes.
casualguitar said:
So at each point in the bed we are solving for
- the mole fraction of component i (N2,H2O, CO2). We will get three y values at each point
No. Only H2O and CO2 mole fractions are solved for.
casualguitar said:
- bed temperature
- temperature of the gas (all components assumed at the same temperature)
- total deposition (moles) of component i
- molar flow of component i
If, by the latter, you mean the molar flow of component I out of the tank, then no. Even the total molar flow out of each tank is not an integrated time-dependent variable. It is just used to get the total molar flow into the next tank (for the gas phase heat balance in the next tank).

The variables that we are integrating with respect to time at all locations along the column (i.e., all tanks) are

The mole fractions of CO2 and H2O in the gas
The moles of CO2 and H2O deposited per unit area of bed (or per unit volume of column)
The temperature of the gas phase
The temperature of the bed

So there are only 6 coupled time derivatives being integrated per tank.
casualguitar said:
And in addition, the computational flow for solving the system of ODEs mentioned above applies to all components individually i.e. there is no dependence of one component on another? So we are solving the mass/heat balances for each component as if the other components were not present
The heat balances do not apply to all components individually.
 
  • #119
Chestermiller said:
No. When using the automatic integrator, all dependent variables are being solved for simultaneously.
Interesting ok I'll have to get my head around this one. Will take a look at the documentation to see what exactly is going on to solve these
Chestermiller said:
No. Only 2: H2O and CO2. The nitrogen mole fraction is 1 minus the other two.
Got it
Chestermiller said:
No. There is only one overall gas phase heat balance.
Understood yes I should have spotted that given the temperatures of N2,CO2 and H2O are assumed the same
Chestermiller said:
No. The solid phase heat balance is not solved at all. The heat generated in condensing and evaporation are distributed to the gas- and bed heat balances (by the heat flow equations I gave).
Ah I think this is a terminology mix up. By solid phase heat balance I mean the bed heat balance. So its correct to say the solid deposition heat balance is not solved, but the solid bed (the packed bed) heat balance is i.e. this equation:
Screenshot 2022-04-18 at 13.11.22.png

Chestermiller said:
No. There is only one molar flow out-of-tank equation. The j is the tank number , not the component number.
So is it correct to say the assumption of constant composition in the gas phase applies here i.e. when we solve for molar flow out of the tank it is assumed that the flow composition will be the same as the inlet composition, just scaled for the different flowrate?
Chestermiller said:
No. Only H2O and CO2 mole fractions are solved for.
Got it
Chestermiller said:
If, by the latter, you mean the molar flow of component I out of the tank, then no. Even the total molar flow out of each tank is not an integrated time-dependent variable. It is just used to get the total molar flow into the next tank (for the gas phase heat balance in the next tank).
I did mean that yes. Ok understood
Chestermiller said:
The variables that we are integrating with respect to time at all locations along the column (i.e., all tanks) are

The mole fractions of CO2 and H2O in the gas
The moles of CO2 and H2O deposited per unit area of bed (or per unit volume of column)
The temperature of the gas phase
The temperature of the bed

So there are only 6 coupled time derivatives being integrated per tank.
casualguitar said:
ICs:
- molar holdup of nitrogen
- bed temperature
- nitrogen temperature (same at the bed temperature initially)
- mole fraction of nitrogen (equal to 1 in this case)

BCs:
- molar flow of each component into the bed
- mole fraction of each component into the bed (or we can calculate this from the above)
- temperature of the flow into the bed
So if we are not solving any nitrogen related equation directly, I suppose the initial conditions should be adjusted to be:
- molar holdup of H2O and CO2 (both zero initially)
- bed temperature
- nitrogen/CO2/H2O temperature
- mole fractions of H20 and CO2 (both zero initially)

Is it a reasonable next step to solve this set of 6 equations, in a basic way assuming constants instead of using the correlations where possible)? Just to see how these equations themselves will be solved i.e. setting up initial/boundary conditions etc. Then I could build on it by gradually adding in the correlations/expressions
 
  • #120
casualguitar said:
Interesting ok I'll have to get my head around this one. Will take a look at the documentation to see what exactly is going on to solve these

Got it

Understood yes I should have spotted that given the temperatures of N2,CO2 and H2O are assumed the same

Ah I think this is a terminology mix up. By solid phase heat balance I mean the bed heat balance. So its correct to say the solid deposition heat balance is not solved, but the solid bed (the packed bed) heat balance is i.e. this equation:
View attachment 300157

So is it correct to say the assumption of constant composition in the gas phase applies here i.e. when we solve for molar flow out of the tank it is assumed that the flow composition will be the same as the inlet composition, just scaled for the different flowrate?
This has nothing to do with composition. It says that the total number of moles exiting the tank per unit time is equal to the total number of moles per unit time entering minus the rate of change in the number of moles as a result of the rate of temperature increase at constant pressure, and minus the molar rates of solid- and liquid deposition onto the bed.
casualguitar said:
Got it

I did mean that yes. Ok understoodSo if we are not solving any nitrogen related equation directly, I suppose the initial conditions should be adjusted to be:
- molar holdup of H2O and CO2 (both zero initially)
- bed temperature
- nitrogen/CO2/H2O temperature
- mole fractions of H20 and CO2 (both zero initially)
casualguitar said:
Is it a reasonable next step to solve this set of 6 equations, in a basic way assuming constants instead of using the correlations where possible)?
You realize that there are 6 times the number of tanks number of coupled ODEs being solved, right? This involves the solution of 6 times the number of tanks non-linear algebraic equations being solved at each time step.

I guess you can start out by assuming constant values for the heat transfer coefficients and mass transfer coefficients. The actual coding for these could be added later within the derivative determination subroutine.
 

Similar threads

Replies
454
Views
27K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 0 ·
Replies
0
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
5
Views
1K
  • · Replies 25 ·
Replies
25
Views
3K
Replies
26
Views
5K
Replies
31
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K