Modelling of two phase flow in packed bed (continued)

In summary: I don't know actually, but I think you will be right about the CO2 depositing temporarily on the bed. What I thought would happen (assuming a bed colder than the freezing point of CO2) was that the ambient CO2 enriched stream would enter the cold bed and immediately the CO2 at the 'front' of the stream would freeze. The pure air would carry on through the bed. Then the newly entering stream - which is at ambient temperature - would vaporise the frozen CO2, and the vaporised CO2 plus the CO2 'behind' it in the stream would now be frozen/deposited slightly further downstream. This process repeats until you
  • #176
Chestermiller said:
No. $$m_{m,j}=\frac{P}{RT_j}A\Delta z \epsilon$$This is the total number of moles of gas contained in tank j.
Ahh ok so this term isn't species specific? i.e. it is an overall term for the tank (meaning that there is only one ##m_{m,j}## value that applies to both gas phase mole balances and the gas phase heat balance)
 
  • Like
Likes Chestermiller
Engineering news on Phys.org
  • #177
casualguitar said:
Ahh ok so this term isn't species specific? i.e. it is an overall term for the tank (meaning that there is only one ##m_{m,j}## value that applies to both gas phase mole balances and the gas phase heat balance)
Debugging currently. The old specific surface area value I was using was 0.0008 m2/m3. The new/correct one from ##\frac{6}{d_p}(1-\epsilon)## is 840 m2/m3, assuming epsilon = 0.3 and dp = 0.005m.

The old value let's the integrator run for the specified rime range, and produces the expected plot shapes like:
Screenshot 2022-06-02 at 11.05.04.png

which shows the CO2 'plug' moving down the bed, and:
Screenshot 2022-06-02 at 11.05.42.png

which is the temperature distribution for given positions.

However when I use the actual value calculated from ##\frac{6}{d_p}(1-\epsilon)## the integrator does not run for the expected time range and produces plots like this:
Screenshot 2022-06-02 at 11.07.54.png

Screenshot 2022-06-02 at 11.08.29.png

I guess because the specific surface area value is now much bigger, there is some other term trending to 0 or inf somewhere. However there is no specific error returned. I'm debugging this now anyway, just updating
 
  • #178
Just one further check to confirm the units ##q*##? Its:
Screenshot 2022-06-02 at 12.40.01.png

So mol/m2.s * J/mol = J/m2.s?

Working back through the computational flow to find the bug(s). It seems like the star term is quite high, which results in an absurdly high dTg/dT value. For context the qstar values are 1,000,000 initially and go down to 7000 or so

This suggests the ##M_i''## calculation isn't working. For context the ##M_{co2}''## values start at about 40 mol/m2.s and go down to about -8mol/m2.s (this trend seems right but the values may be very high)

Also note: the reason I know the dTg/dt term is way too high is because the mdot (mass flow out of a tank) is 10^5 or so after 1 iteration

Just another idea: it could also be the mass transfer coefficients. Currently 8 and 16 mol/m2.s (I took an average value from the function plot of re vs ki I did to leave these as constants for now). They seem very high
 
Last edited:
  • #179
Hi Chet, as I mentioned I think I've narrowed the last bugs to how I'm setting up the initial/boundary conditions. I think my confusion is in where to use each of the initial, boundary, and actual values in setting up the boundary and non boundary equations.

Is it correct to say:
1) The boundary (inlet flow, inlet temperature, inlet composition) values are only used for the j-1 position values at n=0 (##m_dot_{j-1}##, ##y_{j-1}##, ##T_{j-1}##) and nowhere else
2) The boundary conditions are never used to evaluate any value (molar deposition/liquefaction rate, ##q_{GI}##, ##q_{IB}##, sublimation/liquefaction pressure)

3) The initial condition values (initial bed temperature, initial gas temperature, etc) are never used to evaluate any property value either
4) It is always 'the actual value' i.e. the solution of the relevant derivative at that point, that is used to evaluate anything
5) The initial temperature is the same as the actual temperature at n=0 and t=0

In short, the question is, for the equations below, when setting them up at the boundary (n=0), what values of ##y_{j-1}##, ##y_j##, temperature for the molar deposition term, temperatures for the heat flux terms should be used? Is it always the 'current' temperature, and never the initial/boundary temperature?

Screenshot 2022-06-14 at 09.08.42.png
 
Last edited:
  • #180
Is there a case for simplifying further to just have a single element? i.e. n=1?
 
  • #181
casualguitar said:
Is there a case for simplifying further to just have a single element? i.e. n=1?
I've simplified to n=1. Some plots look as expected. The solid deposition of CO2 follows an n shaped curve for example. I've been debugging for effectively two weeks now (crippling but a good learning experience), and I almost have plots that look as expected. I have one question currently - what should the plots look like at t=0? i.e. should there be a jump initially up to a given value, or should this jump exist at all? If it shouldn't be there then this likely indicates that I'm setting up the boundary conditions incorrectly

For example the plot for qGI (gas interface heat flux) jumps from zero to 350 initially and then follows the expected trend. Should this just start at the max value?
Screenshot 2022-06-16 at 09.15.11.png

Also the gas temperature has a little jump at the start for example, but the bed temperature does not exhibit this same jump
Screenshot 2022-06-16 at 09.15.54.png

Screenshot 2022-06-16 at 09.18.05.png

So my question is just that - is it expected that there will be a sharp jump at t=0 for gas related variables, or do these jumps suggest I've set up the boundary conditions incorrectly maybe?
 
  • #182
casualguitar said:
Hi Chet, as I mentioned I think I've narrowed the last bugs to how I'm setting up the initial/boundary conditions. I think my confusion is in where to use each of the initial, boundary, and actual values in setting up the boundary and non boundary equations.

Is it correct to say:
1) The boundary (inlet flow, inlet temperature, inlet composition) values are only used for the j-1 position values at n=0 (##m_dot_{j-1}##, ##y_{j-1}##, ##T_{j-1}##) and nowhere else
#\dot{m}_0# is the molar flow rate of the stream into the column

#y_{i,0}# is the mole fraction the mole fraction of the species entering the column

#T_0# is the temperature of the stream entering the column

These quantities do not change with time
casualguitar said:
2) The boundary conditions are never used to evaluate any value (molar deposition/liquefaction rate, ##q_{GI}##, ##q_{IB}##, sublimation/liquefaction pressure)
No, the entering conditions are not used to evaluate deposition rates and heat transfer rates in any of the tanks. However, they are present in the differential equations for the first tank.
casualguitar said:
3) The initial condition values (initial bed temperature, initial gas temperature, etc) are never used to evaluate any property value either
Of course not.
casualguitar said:
4) It is always 'the actual value' i.e. the solution of the relevant derivative at that point, that is used to evaluate anything
Sure.
casualguitar said:
5) The initial temperature is the same as the actual temperature at n=0 and t=0
What does n = 0 signify?
casualguitar said:
In short, the question is, for the equations below, when setting them up at the boundary (n=0), what values of ##y_{j-1}##, ##y_j##, temperature for the molar deposition term, temperatures for the heat flux terms should be used? Is it always the 'current' temperature, and never the initial/boundary temperature?
Of course, assuming we can agree on what n = 0 represents.
casualguitar said:
 
  • #183
Chestermiller said:
Of course, assuming we can agree on what n = 0 represents.
n=0 represents the first position in the bed, and not the boundary 'position'
Chestermiller said:
No, the entering conditions are not used to evaluate deposition rates and heat transfer rates in any of the tanks. However, they are present in the differential equations for the first tank.
Yes this clears it up and this is what I'm currently doing (or I think so at least).

Lastly, post 161 had a question about the initial 'jump' of certain values from zero up to a maximum value, rather than them starting at this value. Is this initial jump expected (such as in the ##Q_{GI}## plot), or does it indicate I've set something up incorrectly?
 
  • #184
casualguitar said:
n=0 represents the first position in the bed, and not the boundary 'position'
I still have no idea what this means.

With regard to post #161, are you sure about that number. I don't see any jumps in the plots of this post.

With regard to the Q's, you should substitute the expressions for these into the differential equations.
 
  • #185
Chestermiller said:
I still have no idea what this means.

With regard to post #161, are you sure about that number. I don't see any jumps in the plots of this post.

With regard to the Q's, you should substitute the expressions for these into the differential equations.
Sorry post #181! Bad eyesight. The ##Q_{GI}## plot

Chestermiller said:
Of course, assuming we can agree on what n = 0 represents.
I might be missing some potential ambiguity over what n=0 means? Not the first position in the bed that the ODEs are evaluated at?
 
  • #186
casualguitar said:
Sorry post #181! Bad eyesight. The ##Q_{GI}## plotI might be missing some potential ambiguity over what n=0 means? Not the first position in the bed that the ODEs are evaluated at?
I'm still confused as to what you are saying n represents physically. I always though it was the total number of tanks being used in the calculation (equal to the length of the bed divided by the grid spacing).

In your graph of Q, which tank does this apply to?
 
  • #187
Chestermiller said:
I'm still confused as to what you are saying n represents physically. I always though it was the total number of tanks being used in the calculation (equal to the length of the bed divided by the grid spacing).
I agree yes it is this. Ah I think I see the confusion now. When I wrote n=0 earlier, I was referencing the zeroth tank i.e. the first tank in which the ODEs are being evaluated. I did not mean that there were zero tanks. Does this solve the confusion?

For the Q graph, this applies to the first tank (zeroth index). Is this expected?
 
  • #188
casualguitar said:
I agree yes it is this. Ah I think I see the confusion now. When I wrote n=0 earlier, I was referencing the zeroth tank i.e. the first tank in which the ODEs are being evaluated. I did not mean that there were zero tanks. Does this solve the confusion?
So it is tank 1?
casualguitar said:
For the Q graph, this applies to the first tank (zeroth index). Is this expected?
I don’t think so; initially the bed and gas are at the same temperature, right?
 
  • #189
Chestermiller said:
So it is tank 1?
Yes
Chestermiller said:
I don’t think so; initially the bed and gas are at the same temperature, right?
Yes, hmm well if ##q_{g,I}## is this:
Screenshot 2022-06-20 at 09.06.26.png

and ##q*## is this:
Screenshot 2022-06-20 at 09.07.31.png

then at t=0, the second term of ##q_{g,I}## will be zero, and the first term of ##q_{g,I}## will be at a maximum. The first term is strictly decreasing as the temperature of the gas increases. And the second term increases slightly. So I suppose you'd expect ##q_{g,I}## would follow a kind of a/x curve shape?

Meaning that the initial jump is incorrect and the ##q_{g,I}## curve should intersect the y-axis at some non zero value (##q_{g,I}## not equal to zero)? Sorry the reason I'm slightly fixated not this small thing is because it might have a knock on effect on other parameters
 
  • #190
My apologies for the 'thinking out loud'. So zooming right into what happens to ##q_{g,I}## close to t=0, we see that it shoots up to the max value very quickly (then later it takes on roughly a 1/x shape). The equation for ##q_{g,I}## has two terms:
1655714984017.png

It is actually the second term that causes the huge increase, meaning that Tg increases faster than Tb at the beginning. This works out to be about a 3 degree delta T between Tg and Tb at the early stages of the simulation. Then gradually as the system reaches steady state at position zero, the bed and gas temperature differences approach zero (resulting in the 1/x shape). So I suppose this graph shape seems to make sense
Screenshot 2022-06-20 at 09.47.29.png
 
  • #191
Things seem to look a bit better now. However I'm completely puzzled as to why the gas temperature levels off at a temperature much lower than the inlet stream temperature. Could I post graphs of the intermediate variables, and we can comment on which graphs have the correct/incorrect shapes?
 
  • #192
casualguitar said:
Things seem to look a bit better now. However I'm completely puzzled as to why the gas temperature levels off at a temperature much lower than the inlet stream temperature. Could I post graphs of the intermediate variables, and we can comment on which graphs have the correct/incorrect shapes?
Sure. Also, why don't you try a test where the mass transfer is totally shut off (say by setting the mass transfer coefficient equal to zero for each of the two species). This should result in just a temperature change advancing through the bed.
 
  • #193
Chestermiller said:
Sure. Also, why don't you try a test where the mass transfer is totally shut off (say by setting the mass transfer coefficient equal to zero for each of the two species). This should result in just a temperature change advancing through the bed.
Ah ok interesting so I ran that model for the single tank and multi tank (3 tank) scripts. Here's the gas temperature output for both.

Single tank:
Screenshot 2022-06-21 at 08.34.30.png


3 tank:
Screenshot 2022-06-21 at 08.37.56.png

Notes:
1) The script will run for any time span. With the non zero mass transfer coefficients it 'broke' at about 600s
2) The temperature trends look generally as expected. The single tank script almost exactly matches the first tank in the multi tank script (not exactly but close)

The gas phase mole fractions for H2O and CO2:

Screenshot 2022-06-21 at 09.23.31.png


Screenshot 2022-06-21 at 09.23.51.png

Notes:
1) 0.1 and 0.01 are the inlet mole fractions of CO2 and h2o respectively, so this plot shape makes sense (with non constant heat transfer coefficients the CO2 fraction weirdly went up to 0.15)
2) The rise to the inlet conditions is almost immediate. I'm not sure if this is expected, or if this would take time. I guess an immediate jump seems reasonable though since we're effectively flushing the bed?

Do these plots seem reasonable to you?

This does narrow it down to the mass transfer coefficient related variables that are causing the script to break. And more specifically it might be the liquefaction/sublimation pressure equations as an initial guess

Also, do you know of another simplification I can make (besides mass transfer coefficient = 0) that would possibly uncover some useful information?

Edit: No, just thinking about the mole fraction graph some more, I don't think this graph makes sense. Hmm so upstream of the frozen plug we will see the inlet conditions in the gas phase (10% co2, 1% h2o), downstream of the plug we will see 0% co2/h2o. At the exit of the bed the trend will be that there will be 0% co2/h2o present in the gas phase, except for when the plugs reach the exit, there will be a temporary spike in the gas phase mole fractions (above 10% and 1%), then it will reduce to the inlet conditions again and remain here infinitely

Oh one other question - the summation term (the last term in the gas phase mole balances), is this term the sum of the molar desublimation/liquefaction rates of CO2 and H2O? Or say in the CO2 mole balance is it just the H2O liquefaction rate that goes in here i.e. we don't account for CO2 desublimating twice in the same equation?
 
Last edited:
  • #194
casualguitar said:
Ah ok interesting so I ran that model for the single tank and multi tank (3 tank) scripts. Here's the gas temperature output for both.

Single tank:
View attachment 303117

3 tank:
View attachment 303118
Notes:
1) The script will run for any time span. With the non zero mass transfer coefficients it 'broke' at about 600s
2) The temperature trends look generally as expected. The single tank script almost exactly matches the first tank in the multi tank script (not exactly but close)

The gas phase mole fractions for H2O and CO2:

View attachment 303120

View attachment 303121
Notes:
1) 0.1 and 0.01 are the inlet mole fractions of CO2 and h2o respectively, so this plot shape makes sense (with non constant heat transfer coefficients the CO2 fraction weirdly went up to 0.15)
2) The rise to the inlet conditions is almost immediate. I'm not sure if this is expected, or if this would take time. I guess an immediate jump seems reasonable though since we're effectively flushing the bed?
What do the mass fraction balance equations reduce to for the 1st tank with no mass transfer between phases? What is the approximate analytic solution to these equations, and does your numerical solution match these?
casualguitar said:
Oh one other question - the summation term (the last term in the gas phase mole balances), is this term the sum of the molar desublimation/liquefaction rates of CO2 and H2O?
Yes. Of course, with no mass transfer, these terms are not present.
casualguitar said:
Or say in the CO2 mole balance is it just the H2O liquefaction rate that goes in here i.e. we don't account for CO2 desublimating twice in the same equation?
No. Include both terms.
 
  • #195
Chestermiller said:
What do the mass fraction balance equations reduce to for the 1st tank with no mass transfer between phases? What is the approximate analytic solution to these equations, and does your numerical solution match these?
I think the approx analytic solution for the mole balance is:
$$y_{CO2} = y_{in}(1-e^{(\dot{m}t/m)})$$
where ##y_{in}## is the ##CO_2## inlet mole fraction which is ##0.1##, ##\dot{m}## is the inlet molar flow which is ##0.5mol/s## and ##m## is the molar holdup
Screenshot 2022-06-22 at 16.14.53.png
I made a comparison plot above of the CO2 mole fraction from the simulation versus the analytic CO2 mole fraction. They are the same (the blue line is right over the red one). So that confirms the fast rise in the first tankAnd great yes I was including both terms

So this reduces the error in the 'full' model (which is constant mass transfer coefficients for now) to the parameters which use the mass transfer coefficient

Is there a way I can slightly increase the model complexity in regards to the mass transfer coefficients, without fully implementing them? In an attempt to locate what isn't working
 
  • #196
casualguitar said:
I think the approx analytic solution for the mole balance is:
$$y_{CO2} = y_{in}(1-e^{(\dot{m}t/m)})$$
where ##y_{in}## is the ##CO_2## inlet mole fraction which is ##0.1##, ##\dot{m}## is the inlet molar flow which is ##0.5mol/s## and ##m## is the molar holdup
View attachment 303177I made a comparison plot above of the CO2 mole fraction from the simulation versus the analytic CO2 mole fraction. They are the same (the blue line is right over the red one). So that confirms the fast rise in the first tankAnd great yes I was including both terms

So this reduces the error in the 'full' model (which is constant mass transfer coefficients for now) to the parameters which use the mass transfer coefficient

Is there a way I can slightly increase the model complexity in regards to the mass transfer coefficients, without fully implementing them? In an attempt to locate what isn't working
I have several ideas.

1. With the mass transfer turned off, show the temperature profiles of the gas and the bed as a function of position through the bed (tank number) at a selection of times, for several values of the heat transfer coefficient of the gas ( including very high values).

2. With the heat transfer completely suppressed, show the temperature profile of the gas as a function of position in the bed (tank number) at a selection of times, and and as a function of time for tank #1. Determine how the latter compares with the analytic solution. Do the latter comparison for times shorter than 1000 sec.

3. With the mass transfer turned on, use mass transfer coefficients 10X and 100X lower than you have been using.

4. Try to run the calculation for the conditions in the literature paper, and see how the results compare. Feel free to scale your values of heat transfer coefficient and mass transfer coefficient to come close to matching. Don't forget, they use an infinite heat transfer coefficient.
 
  • #197
Is a value of n=3 suitable for these tests?
Chestermiller said:
1. With the mass transfer turned off, show the temperature profiles of the gas and the bed as a function of position through the bed (tank number) at a selection of times, for several values of the heat transfer coefficient of the gas ( including very high values).
Can do. So here we'd be expecting to see that the 'sharp' temperature gradient happens earlier with with increased values of gas heat transfer coefficient (htc)

Chestermiller said:
2. With the heat transfer completely suppressed, show the temperature profile of the gas as a function of position in the bed (tank number) at a selection of times, and and as a function of time for tank #1. Determine how the latter compares with the analytic solution. Do the latter comparison for times shorter than 1000 sec.
So we would have ##U_g## and ##U_b## = 0 here. Are we assuming the mass transfer coefficient is also turned off at this point? Also, that ##q_{g,I}## = 0. If so, the analytical solution will have the same format as the one from earlier for gas phase mole fraction

Chestermiller said:
3. With the mass transfer turned on, use mass transfer coefficients 10X and 100X lower than you have been using.
Can do

Chestermiller said:
4. Try to run the calculation for the conditions in the literature paper, and see how the results compare. Feel free to scale your values of heat transfer coefficient and mass transfer coefficient to come close to matching. Don't forget, they use an infinite heat transfer coefficient.
Understood

So in summary the tests are:
1) Tank number vs gas/bed temperature (for ##k_i## = 0 and a wide range of ##U_g## values)
2) Tank number vs gas temperature (for ##k_i##,##U_g##,##U_b## = 0)
3) Time vs gas temperature (numeric and analytical solution comparisons for t<1000)
4) Check output for ##k_i## 10 and 100 times smaller
5) Replicate Tuinier et al model

I'll start on these now
 
  • #198
So there is a bug related to the heat transfer coefficients. I don't know what it is exactly yet though.

Position vs gas temperature for range of ##U_g## values:
Varying the gas and bed heat transfer coefficients from ##10^{-4}## up to ##10^4## has no effect on the position vs temperature (gas and bed) plots. The plot looks like this for all values of U:
1655980609345.png

Similarly when the heat transfer is suppressed (I did this by letting ##U_g## and ##U_b## equal to 0.000001, as there would be division by zero otherwise), the plot looks the same as above.

Time versus gas temperature for tank 1 (numeric vs analytic):
The analytic and numerical solutions match for HTCs set to zero. Also suggesting that adding in heat transfer terms has no effect (some error in the code)
Screenshot 2022-06-23 at 11.53.22.png


Screenshot 2022-06-23 at 11.53.37.png


Checking the output for ##k_i## 10 and 100 times smaller:
Ok slightly interestingly here I can get normal output for ##10^{-8}##. The ##10^{-6}## value I was using before did not allow the simulation to run. However, I compare this output to the output where ##k_i## = 0 and it is the same! For both of these tests the heat transfer coefficients were a constant 100W/m2.KSo in summary, the mass and heat transfer coefficients currently have no effect on the gas or bed temperature (assuming the values used allow the simulation to finish)! I will look into this now however any thoughts appreciated as usual
 
  • #199
casualguitar said:
Is a value of n=3 suitable for these tests?
Please try more, say at least 10.
casualguitar said:
Can do. So here we'd be expecting to see that the 'sharp' temperature gradient happens earlier with with increased values of gas heat transfer coefficient (htc)
If you are talking about spatial position, increasing U should bring the bed and gas temperatures much closer together and make the temperature wave travel more slowly through the bed.
casualguitar said:
So we would have ##U_g## and ##U_b## = 0 here. Are we assuming the mass transfer coefficient is also turned off at this point?
Yes.
casualguitar said:
Also, that ##q_{g,I}## = 0. If so, the analytical solution will have the same format as the one from earlier for gas phase mole fraction
Yes. But please expand the scale so that we can see what is happening in more detail at short times.
casualguitar said:
Can doUnderstood

So in summary the tests are:
1) Tank number vs gas/bed temperature (for ##k_i## = 0 and a wide range of ##U_g## values)
2) Tank number vs gas temperature (for ##k_i##,##U_g##,##U_b## = 0)
ki =0
casualguitar said:
3) Time vs gas temperature (numeric and analytical solution comparisons for t<1000)
Yes.
casualguitar said:
4) Check output for ##k_i## 10 and 100 times smaller
5) Replicate Tuinier et al model

I'll start on these now
 
  • #200
casualguitar said:
So there is a bug related to the heat transfer coefficients. I don't know what it is exactly yet though.

Position vs gas temperature for range of ##U_g## values:
Varying the gas and bed heat transfer coefficients from ##10^{-4}## up to ##10^4## has no effect on the position vs temperature (gas and bed) plots. The plot looks like this for all values of U:
View attachment 303206
Similarly when the heat transfer is suppressed (I did this by letting ##U_g## and ##U_b## equal to 0.000001, as there would be division by zero otherwise), the plot looks the same as above.
Maybe Ug is not high enough. What is the bed temperature doing?
casualguitar said:
Time versus gas temperature for tank 1 (numeric vs analytic):
The analytic and numerical solutions match for HTCs set to zero. Also suggesting that adding in heat transfer terms has no effect (some error in the code)View attachment 303209

View attachment 303210
I can't see the comparison on this scale. Spread out the time axis.
casualguitar said:
Checking the output for ##k_i## 10 and 100 times smaller:
Ok slightly interestingly here I can get normal output for ##10^{-8}##. The ##10^{-6}## value I was using before did not allow the simulation to run. However, I compare this output to the output where ##k_i## = 0 and it is the same! For both of these tests the heat transfer coefficients were a constant 100W/m2.KSo in summary, the mass and heat transfer coefficients currently have no effect on the gas or bed temperature (assuming the values used allow the simulation to finish)! I will look into this now however any thoughts appreciated as usual
 
  • #201
Apologies I didn't get the notification! Response below
Chestermiller said:
Please try more, say at least 10
Will do
Chestermiller said:
If you are talking about spatial position, increasing U should bring the bed and gas temperatures much closer together and make the temperature wave travel more slowly through the bed.
Agreed yes. Actually I retested it with much more values (rather than just extreme values) and I did find something. So the gas and bed temperature plots are unchanging (or unchanging to my eye at least) at about Ug = Ub = 10 and above i.e. below this value the plot changes with changing U, and there is no difference between U = 10 and U = 1000
Chestermiller said:
Yes. But please expand the scale so that we can see what is happening in more detail at short times.
Here is the analytical vs numerical time vs temperature plot for tank 1 at short times:
Screenshot 2022-06-23 at 14.32.25.png
Screenshot 2022-06-23 at 14.32.14.png

So they are not completely identical. The simulation takes 1 second to reach max temperature and the analytical solution takes 3 seconds (assuming heat transfer coefficients are almost zero and mass transfer coefficients are equal to zero). However they are technically not exactly the same. In that the analytic solution uses a constant mass holdup whereas the simulation mass holdup varies very slightly. Is this significant?

So in summary it seems that the gas and bed temperatures are limited by the heat transfer coefficients up to about U=10 (for the other simulation values), and after that increases in U (##U_g## or ##U_b##) do not affect gas or bed temperature. Is this reasonable?
Also this value of 10 is obviously affected by the other simulation values so this does not necessarily mean that U would be approx 10 in the final simulation
 
  • #202
Just as a side note here's a plot of time vs gas temperature for n=10. The CO2 simulation has been much faster to run than the air liquefaction one. I guess the thermo library really slows it down. I'll look into shaving off thermo uses where possible in the other model
Screenshot 2022-06-23 at 15.45.41.png


EDIT: And just one last (important) update. So when the heat transfer coefficients are brought down to below 100 (its not really 10 but somewhere below 50 I guess), then both the heat and mass transfer coefficients start affecting the output (gas/bed temperature etc). So what seems to have happened is that the previously high U values I had were dominating any other effects.
 
Last edited:
  • #203
You should be able to calculate the U value for the bed from the geometry of the particles and the volume fraction particles. Hold this constant, and vary the U of the gas. As you increase the U of the gas, does the bed temperature approach the gas temperature (no mass transfer)? At very high U of the gas, the heat transfer is dominated by the bed resistance. So the temperature profiles should stop changing with increased Ug.
 
  • #204
casualguitar said:
Apologies I didn't get the notification! Response below

Will do

Agreed yes. Actually I retested it with much more values (rather than just extreme values) and I did find something. So the gas and bed temperature plots are unchanging (or unchanging to my eye at least) at about Ug = Ub = 10 and above i.e. below this value the plot changes with changing U, and there is no difference between U = 10 and U = 1000

Here is the analytical vs numerical time vs temperature plot for tank 1 at short times:
View attachment 303214View attachment 303213
So they are not completely identical. The simulation takes 1 second to reach max temperature and the analytical solution takes 3 seconds (assuming heat transfer coefficients are almost zero and mass transfer coefficients are equal to zero). However they are technically not exactly the same. In that the analytic solution uses a constant mass holdup whereas the simulation mass holdup varies very slightly. Is this significant?
Do whatever it takes in the numerical model to make them exactly comparable.
 
  • #205
Chestermiller said:
You should be able to calculate the U value for the bed from the geometry of the particles and the volume fraction particles. Hold this constant, and vary the U of the gas.
What equation uses the volume fraction to calculate ##U_b##?
Chestermiller said:
As you increase the U of the gas, does the bed temperature approach the gas temperature (no mass transfer)? At very high U of the gas, the heat transfer is dominated by the bed resistance. So the temperature profiles should stop changing with increased Ug.
Yes exactly this happens. So the bed temperature approaches the gas temperature as ##U_g## increases. And then yes above a certain value of ##U_g## (seems to be ##U_g## = 50W/m2.k or so), the temperature profile stops changing with ##U_g##.

Once I get the ##U_b## value I'll rerun the simulation and check the output with the now 'reasonable' values of ##U## and ##k_i## to get an update on the output we're dealing with
 
  • #206
Chestermiller said:
Do whatever it takes in the numerical model to make them exactly comparable.
Will do. Its just the mass holdup being temperature dependent so this is an easy change
 
  • Like
Likes Chestermiller
  • #207
casualguitar said:
Will do. Its just the mass holdup being temperature dependent so this is an easy change
Hi Chet, just letting you know I'm slightly sidetracked currently. Will be back on this tomorrow evening
 
  • #208
Chestermiller said:
Hold this constant, and vary the U of the gas. As you increase the U of the gas, does the bed temperature approach the gas temperature (no mass transfer)? At very high U of the gas, the heat transfer is dominated by the bed resistance. So the temperature profiles should stop changing with increased Ug.
All of the above now occurs as expected for normal mass transfer and zero mass transfer. I'll do another sweep to check that everything is as expected before adding any further correlations in.

Just two questions:
1) Is there any suitable correlation to add in next (maybe leaving the mass transfer coefficients vary rather than be held constant?)
2) You said this
"You should be able to calculate the U value for the bed from the geometry of the particles and the volume fraction particles"
What equation would be used to calculate U for the bed?

Edit: Just as a note, as far as I can see the main two correlations left out of the current model are the mass transfer and heat capacity correlations. I have both of these written up so I can add them in if this is suitable
 
  • #209
One other note - the simulation running properly is dependent on the mass transfer coefficient (which is currently constant) being below a certain threshold. The current simulation uses a constant 8 x 10^-8 which is small enough, however the mass transfer coefficient calculator function does not return values in this range but rather in the 10^1 range. Is there anything wrong with this that you can see:
Screenshot 2022-07-18 at 14.37.56.png


Where the following approximate ranges/values apply:
Reynolds number: 10<Re<10000
Schmidt Number: 0.5 < Sc < 0.7
Particle Diameter (dp) = 0.005
D CO2-N2 = 0.14 x 10^-4
D H2O-N2 = 0.259 x 10^-4

These values give a number in the 10^1 range, which causes the simulation to break, however the 10^-8 values produce expected results. Have I missed something?
 
  • #210
casualguitar said:
All of the above now occurs as expected for normal mass transfer and zero mass transfer. I'll do another sweep to check that everything is as expected before adding any further correlations in.

Just two questions:
1) Is there any suitable correlation to add in next (maybe leaving the mass transfer coefficients vary rather than be held constant?)
I can't think of any. Release the mass transfer coefficient correlation next.
casualguitar said:
2) You said this
"You should be able to calculate the U value for the bed from the geometry of the particles and the volume fraction particles"
What equation would be used to calculate U for the bed?
It's just what they gave in the other papers.
casualguitar said:
Edit: Just as a note, as far as I can see the main two correlations left out of the current model are the mass transfer and heat capacity correlations. I have both of these written up so I can add them in if this is suitable
Did you mean "heat capacity correlation" or did you mean "heat transfer correlation?"
 

Similar threads

Replies
2
Views
1K
Replies
6
Views
1K
Replies
0
Views
888
Replies
1
Views
1K
Replies
25
Views
2K
Back
Top