Heterogeneous reaction in porous media

688 views
Skip to first unread message

Valerio Novaresio

unread,
Feb 20, 2012, 10:38:00 AM2/20/12
to Cantera User's Group
Hi guys,

I'd like to know if this kind of situation is simulable with Cantera.
The aim is to simulate the core of the medium where the heterogeneous
reactions take place.

I know that Cantera lets one to simulate for example a methane flow in
contact with a catalytic surface. In this case the mechanism file
consists in a gas phase and in a surface (the methan/catalyst
interface).

And now my question: is it possible to model a methane flow through
(inside) a porous catalytic medium. And in this case what about the
mechanism file?

Thanks in advance.

Valerio

Steven DeCaluwe

unread,
Feb 29, 2012, 12:12:22 PM2/29/12
to canter...@googlegroups.com
Hi Valerio,

This is indeed possible. If you are coding in python, Cantera has a function to calculate the dusty gas model diffusion coefficients to describe the fluid flow through porous media.
I imagine this function must also be available if you're programming in C++, just not in Matlab (last time I checked). That said, it is not too terribly complicated to implement the DGM yourself. This might even be preferable, given the range of ways people have approached incorporating the tortuosity factor.

The surface chemistry should be handled as in the example you cite below. The mechanism file does not change - it only tells Cantera how the reactions proceed for a given state of the gas and surface. The modifications for your specific example are geometric, and should be incorporated as scaling factors to convert the net chemical rates (given per area of surface per second) to volumetric production rates for your porous media.

Regards,
Steven

> --
> You received this message because you are subscribed to the Google Groups "Cantera User's Group" group.
> To post to this group, send email to canter...@googlegroups.com.
> To unsubscribe from this group, send email to cantera-user...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cantera-users?hl=en.
>

Valerio Novaresio

unread,
Mar 1, 2012, 12:45:51 PM3/1/12
to Cantera User's Group
Hi Steven,

thanks for your reply. I have already thought about a geometric
scaling factor. This confirmation is very precious for me! :-)
I also have in mind to make this scaling factor as a function of
porosity (that changes along the volume in my specific case).

About the dusty gas model I have my own code in OpenFOAM. What I'd
like to do now is to couple Cantera reaction sources with OpenFOAM. I
know that is already done for previous OpenFOAM versions, but
unfortunately it is not compatible with the latest versions.

Thanks again.

Valerio

Steven DeCaluwe

unread,
Mar 15, 2012, 8:19:08 AM3/15/12
to canter...@googlegroups.com
Hi Valerio,

I'm not sure if you still have a question or not, but what you describe sounds very reasonable.  

In case you still need assistance: 

At each node/point at each time step (assuming a finite volume approach and that you're integrating in time), you would:
1.  Read out the gas phase and surface state for that node for the current time step.
2.  Use this info to set the state of the gas and surface Cantera objects
3.  Get the net production rate vector for the surface 
         In Matlab the appropriate function is netProdRates(s) where 's' is the variable name given to your surface object.
         Again, it will be slightly different depending on your coding environment (I don't currently have the source code on any of 
         my machines, otherwise I'd track down the relevant C++ function for you).
4.  These rates will be in kmol (or mol, depending on the units specified in your chi file.  I think kmol is default?) per unit area of surface per second.  Here is where your scaling factor (surface area per unit volume) would come in.  For the gas phase species, don't forget to also factor in the porosity.  
Also, note that the netProdRates vector lists production rates for the species in your gas phase, the bulk solid (if present), and the surface phase.  The surface phase species are always reported last, and the other phase species are reported in whatever order the phases are listed in the interface declaration in your cti file.

Good luck!

Steven

Moffat, Harry K

unread,
Dec 6, 2012, 12:45:59 PM12/6/12
to canter...@googlegroups.com

Hi,

 

As part of a push into the battery modeling area that I’m taking Cantera, I’ve created a series of objects that models electrodes. For the purpose of this discussion, an electrode, at least in terms of models championed by White and Newman, can be thought of as a “porous catalytic medium” with a bunch of extra electrochemistry terms thrown in. This includes modeling particles as a diffusion reaction domain which is discretized in the radial domain, which may include tracking regions where there are internal solid phase changes as well.

 

This work involves initializing ThermoPhase objects  involving surface phases and their associated volume ThermoPhase objects (actually potentially multiple surface phases if there are internal phase boundaries in the solid particle).  I’ve done this in general in Cantera’s application environment and I’d like to share it eventually via a different module or project. Right now the work is being held up from being disseminated while we work though some export control concerns.

 

However, in general surface phases produce reaction rates that are kmol / m2 / s, while volume phase produce reaction rates that are in kmol /m3/s. Note Cantera can also model edge phases, which would have reaction rates that are in kmol / m / s.

 

Best wishes,

Harry

 

 

 

---------------------

hkm...@sandia.gov

 

From: canter...@googlegroups.com [mailto:canter...@googlegroups.com] On Behalf Of Nik
Sent: Wednesday, December 05, 2012 9:53 AM
To: canter...@googlegroups.com
Subject: [EXTERNAL] [cantera-users] Re: Heterogeneous reaction in porous media

 

Hi Cantera users,
sorry for the intrusion but I have some similar doubts:
I agree that the netProdRates(surf) unit is Kmol/m3/s  but...if the file.cti of the reaction mechanism is written with these units: cm, s, mol J/mol, is the netProdRates's unit in kmol/m2/s again?

Many thanks in advance
Nik

--

You received this message because you are subscribed to the Google Groups "Cantera User's Group" group.

To view this discussion on the web visit https://groups.google.com/d/msg/cantera-users/-/qxYha1bshsoJ.

Reply all
Reply to author
Forward
0 new messages