Pumping gas through a liquid reactor

168 views
Skip to first unread message

Xiaolei ZHU

unread,
Aug 5, 2018, 8:33:41 AM8/5/18
to Cantera Users' Group
Dear All,

I am a new user of Cantera and quite impressed with its capabilities.  However, I am having difficulty finding out how to setup a reaction network in liquid phase solution with same equilibrium with the gas phase.   The examples I can find are either idea gas mix, or liquid/vapor of pure substances, and it is not clear how these should be put together.

As a very simple example, bubbling CO2 though a carbonate solution, which can yield an equilibrium of HCO3- and CO3^2-.   All I managed to do right now is to in fact treat everything as gas phase, and having two CO2 species CO2(g) and CO2(aq), which somewhat resembles the problem at hand.  However, I would need to model the effect of changing flow speed of CO2, or maybe to simplify things a bit, controlling the partial pressure of CO2 in gas phase, which I couldn't figure out what to do.

So far I have tried to put up a reservoir of CO2 with a constant mass flow controller or a valve, but the MFC builds up pressure (but a pressure controller doesn't seem to do the right thing either), whereas a valve simply won't let the gas in the reservoir in unless the pressure is quite hight.

Could someone point me to the right direction or documentation on how to set up a gas flow through a liquid solution?  Is there a way to set a constant emergence or sink rate for a species, or hold one concentration constant?

Further more, is there a fluid solution reactor?  I have been using the ideal gas one and I am not clear at all if that is what I should be using for liquid phase solution.


Thank you very much!!!

best,
Xiaolei Zhu

Steven DeCaluwe

unread,
Aug 6, 2018, 9:19:46 AM8/6/18
to <cantera-users@googlegroups.com>
Hi Xiaolei,

First, welcome to Cantera!

As for your particular application, I am skeptical that one of the pre-built cantera reactors will be suitable for it.  I don’t exactly which phenomena you are trying to model, but a few questions/problems come to mind, in terms of a standard reactor:

1.  Fluid dynamics: how will you model the movement of the gas through the liquid?  If you’re hoping to capture this, I would guess that a customized model would be required.

2.  The equation of state.  Obviously, an ideal gas reactor is going to pose problems, here.  There are non-ideal reactors, though, which you can use.  One example is here, in the cantera repository of Jupyter notebook examples:  https://github.com/Cantera/cantera-jupyter/blob/master/reactors/NonIdealShockTube.ipynb

As you have found, finding the right equation of state might be a challenge.  It looks like you want reactions, so one of the pure-fluid substance models won’t be very suitable for you.  I can’t tell whether this is overkill, but I wonder if the multicomponent Redlich-Kwong EoS might work for you?  

3.  The last item I’m not sure about: the liquid-gas interface.  If I understand correctly, you’ll want reactions between the two phases, which will require an interface phase.  If you’re interested in the actual rates (it sounds like you are), then you’ll want a way to track the interface area between the two, because the total rate of all reactions will scale with the interface area. 

I’m afraid I’ve given more questions than answers, but hopefully these will spur some productive thoughts on how to get started, here.

Best,
Steven




——————————————————————————————————
Steven DeCaluwe, PhD
Assistant Professor of Mechanical Engineering
Colorado School of Mines
Brown Building W410B
Golden, CO 80401

Twitter: @DeCaluweGroup

--
You received this message because you are subscribed to the Google Groups "Cantera Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cantera-user...@googlegroups.com.
To post to this group, send email to canter...@googlegroups.com.
Visit this group at https://groups.google.com/group/cantera-users.
For more options, visit https://groups.google.com/d/optout.

Xiaolei ZHU

unread,
Aug 6, 2018, 7:24:52 PM8/6/18
to Cantera Users' Group
Hi Steve,

I am hoping to start with baby steps and try to capture more physics as I go, but qualitative description is sufficient at the moment.  Plus I do not have parameters for transport properties for the particular systems, and the data isn't easily available.   All reaction barrier data are obtained from quantum mechanical calculations, but they cannot provide me with condense phase physical properties easily.  

I cannot find any information on how to setup a redlich Kwong phase, but I don't even know the correct equation of state of the liquid phase anyways (which range from organic solvents, water, ionic liquid, to molten salts).    Could you point me to a page which describes how a custom reactor should be created?

The first step, which I have already done, is to simply add an additional species for the gas species, here CO2(g).  I used QM to calculate its energy in gas phase (all other calculations are in molten salt phase), looked up some tabulated values for S0. added an additional reaction

CO2(g) <=> CO2

This was put into a gas reactor, and then I resorted to setting the fraction of CO2(g) to a constant every time step with solution.X[I] = ...
This already manage to make it somewhat reasonable, as the concentration of solvated CO2 is now more or less in line with the right number, and the right reactions are happening, but the concentration of all the other species changes as I change the CO2(g) fraction which is totally unphysical.

Based on my understanding of your post, I think I do want to setup a liquid reactor, an interface and a gas reactor.    Do you mean that I create a `idea_gas` phase with only CO2(g), a liquid reactor with `redlich_kwong` which include CO2 and other species reacting with it, then an `ideal_interface` where I put in a single reaction " CO2(g) <=> CO2", between these two phases, then use Mixture to combine the three?  I am able to setup the interface and gas phase (though I'm not sure if that's correct), but is now confused about how to setup the liquid phase.

I think what I want as a first pass for the liquid phase is an incompressible, perfectly mixed liquid, but I cannot find the correct input deck to create this.   Should I be using a single reactor with all three phases?  Or should they be put into two reactors and an Interface?  I was looking at the SOFC example, but it doesn't even have a reactor, which puzzles me.   

Sorry for rumbling on for so long.  Your answer already put some vague sense into me but I'm still a bit lost.  

best,
Xiaolei Zhu


On Monday, August 6, 2018 at 6:19:46 AM UTC-7, S. DeCaluwe wrote:
Hi Xiaolei,

First, welcome to Cantera!

As for your particular application, I am skeptical that one of the pre-built cantera reactors will be suitable for it.  I don’t exactly which phenomena you are trying to model, but a few questions/problems come to mind, in terms of a standard reactor:

1.  Fluid dynamics: how will you model the movement of the gas through the liquid?  If you’re hoping to capture this, I would guess that a customized model would be required.

2.  The equation of state.  Obviously, an ideal gas reactor is going to pose problems, here.  There are non-ideal reactors, though, which you can use.  One example is here, in the cantera repository of Jupyter notebook examples:  https://github.com/Cantera/cantera-jupyter/blob/master/reactors/NonIdealShockTube.ipynb

As you have found, finding the right equation of state might be a challenge.  It looks like you want reactions, so one of the pure-fluid substance models won’t be very suitable for you.  I can’t tell whether this is overkill, but I wonder if the multicomponent Redlich-Kwong EoS might work for you?  

3.  The last item I’m not sure about: the liquid-gas interface.  If I understand correctly, you’ll want reactions between the two phases, which will require an interface phase.  If you’re interested in the actual rates (it sounds like you are), then you’ll want a way to track the interface area between the two, because the total rate of all reactions will scale with the interface area. 

I’m afraid I’ve given more questions than answers, but hopefully these will spur some productive thoughts on how to get started, here.

Best,
Steven



——————————————————————————————————
Steven DeCaluwe, PhD
Assistant Professor of Mechanical Engineering
Colorado School of Mines
Brown Building W410B
Golden, CO 80401

Twitter: @DeCaluweGroup

Ray Speth

unread,
Aug 14, 2018, 5:15:36 PM8/14/18
to Cantera Users' Group

Hi,

Cantera’s reactor network model is really built around the concept of each reactor having a bulk phase (gas or liquid, in principle) that may be in contact with a chemically active surface (either catalytically or with bulk deposition / etching-like behavior). There is not currently a way to model mass transfer between two bulk phases, such as a liquid and a gas.

To model a problem like what you describe, I think Cantera’s phase and reaction models can be useful, but you will want to write down the specific governing equations for your system, use Cantera to evaluate properties and rates while solving them with an integrator such as scipy.integrate. A simple example of this is given in custom.py.

Regards,
Ray

Reply all
Reply to author
Forward
0 new messages