From 032537710f3fcf59073fe46abb7ac8380ed54e3e Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Wed, 5 Aug 2015 17:08:00 -0400 Subject: [PATCH] [Python] Quantity.equilibrate updates the Quantity's state --- interfaces/cython/cantera/composite.py | 7 +++++++ interfaces/cython/cantera/test/test_thermo.py | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/interfaces/cython/cantera/composite.py b/interfaces/cython/cantera/composite.py index b2b063be48..6f50f842bd 100644 --- a/interfaces/cython/cantera/composite.py +++ b/interfaces/cython/cantera/composite.py @@ -123,6 +123,13 @@ def gibbs(self): """ return self.mass * self.phase.gibbs_mass + def equilibrate(self, *args, **kwargs): + """ + Set the state to equilibrium. See `ThermoPhase.equilibrate`. + """ + self.phase.equilibrate(*args, **kwargs) + self.state = self._phase.TDY + def __imul__(self, other): self.mass *= other return self diff --git a/interfaces/cython/cantera/test/test_thermo.py b/interfaces/cython/cantera/test/test_thermo.py index a8f1cb0aa1..9846a1880b 100644 --- a/interfaces/cython/cantera/test/test_thermo.py +++ b/interfaces/cython/cantera/test/test_thermo.py @@ -979,3 +979,13 @@ def test_add(self): self.assertNear(q1.U + q2.U, q3.U) self.assertNear(q1.V + q2.V, q3.V) self.assertArrayNear(q1.X*q1.moles + q2.X*q2.moles, q3.X*q3.moles) + + def test_equilibrate(self): + self.gas.TPX = 300, 101325, 'CH4:1.0, O2:0.2, N2:1.0' + q1 = ct.Quantity(self.gas) + self.gas.equilibrate('HP') + T2 = self.gas.T + + self.assertNear(q1.T, 300) + q1.equilibrate('HP') + self.assertNear(q1.T, T2)