def test_Reactor(self): phase = ct.PureFluid('liquidvapor.xml', 'oxygen') air = ct.Solution('air.xml') phase.TP = 93, 4e5 r1 = ct.Reactor(phase) r1.volume = 0.1 air.TP = 300, 4e5 r2 = ct.Reactor(air) r2.volume = 10.0 air.TP = 500, 4e5 env = ct.Reservoir(air) w1 = ct.Wall(r1,r2) w1.expansion_rate_coeff = 1e-3 w2 = ct.Wall(env,r1, Q=500000, A=1) net = ct.ReactorNet([r1,r2]) net.atol = 1e-10 net.rtol = 1e-6 states = ct.SolutionArray(phase, extra='t') for t in np.arange(0.0, 60.0, 1): net.advance(t) states.append(TD=r1.thermo.TD, t=net.time) self.assertEqual(states.X[0], 0) self.assertEqual(states.X[-1], 1) self.assertNear(states.X[30], 0.54806, 1e-4)
def __init__(self, name, refState, tolerances=Tolerances()): if name not in self.fluids: self.fluids[name] = ct.PureFluid('liquidvapor.xml', name) self.fluid = self.fluids[name] self.fluid.TD = refState.T, refState.rho self.refState = refState self.u0 = self.fluid.u self.s0 = self.fluid.s self.tol = tolerances
import cantera gas = cantera.Solution('gri30.cti') h2o = cantera.PureFluid('liquidvapor.cti', 'water')