Re: Multi-Phase Equilibrium and Kinetics Calculations

481 views
Skip to first unread message

Ray Speth

unread,
Feb 4, 2013, 2:46:58 PM2/4/13
to canter...@googlegroups.com
Hi James,

You're going to get non-physical behavior when you put thermodynamic data for a condensed phase into Cantera's ideal gas mixture model. The model has no way of knowing that the supplied NASA polynomials aren't for a gas phase species.

If you create a multiphase (Mixture) object from several phase objects of appropriate types (e.g. ideal_gas, stoichiometric_solid, stoichiometric_liquid), then you should get much more plausible behavior.

Cantera's reactor network model requires that each "reactor" represent only a single phase. The best approach for your problem may be to use one or more Mixture objects to represent the state of your system, use those to compute the necessary terms for whatever governing equations apply to your system, and use Matlab's ODE solvers to integrate the resulting equations.

Cantera should just give an error message when you try to use a Mixture object in a Reactor, rather than crashing, though.

Regards,
Ray

On Thursday, January 31, 2013 5:47:06 PM UTC-5, James DeMuth wrote:
Hello,

I am trying to set up a simulation I am wondering if anyone can shed any light on this problem:

I have an initial all-gas composition with various condense-able materials in it. I have been able to run equilibrium simulations where each condensed phase has it's own "phase" inside of a mixture (this works for EQ sims). However I noticed something strange when I ran with all the species in the gas phase. Take for example Pb. I have found that if I put the components (from nasa gas and nasa condensed .cti files) in the same mixture, (Pb_liquid, Pb_solid, and Pb_gas) the data is extrapolated for Pb_liquid and Pb_solid to give very odd equilibrium concentrations when swept over temperautres beyond the range of the phase (i.e. it says there is liquid present when there should be solid, or this is liquid and solid present at the same time). This leads me to believe that the data for the NASA fits is extrapolated when it goes below the data range of the phase and results in a bogus result. However, if each phase is represented by a different solution object in a mixture, then the NASA data seems to be truncated at the end of the data range and it displays the proper result. 

QUESTION 1: Why is this not working when everything is in the gas phase?
QUESTION 2: Is it possible to have the data for a given species drop to zero beyond the given temperature range instead of being extrapolated, or do I have to manually go in and refit the data such that the fit drops to zero when the species shouldn't form?

On to Kinetics:
I would like to replicate my equilibrium solution using the kinetic reactor network model, however, using a mixture in the reactor network (and more specifically advancing it in time) causes MATLAB to crash completely (I tried this on versions 2012b, 2011a, and 2011b with cantera 2.0 and 2.0.1). After doing some homework, it appears that in order to have separate "phases" I need to have a surface between them... But you see my dilemma that I am starting with an all gas phase which condenses as it cools. Is there any way to do this?

It seems that the only way I can make this work is to have everything in the gas phase and manually modify all the thermodata such that the species cannot form when it's not supposed to... 

... is there not a better way?

-James
Reply all
Reply to author
Forward
0 new messages