def test_nonreacting(self): g = ct.Solution('h2o2.xml') g.TPX = 300, 101325, 'O2:1.0' r = ct.FlowReactor(g) r.massFlowRate = 10 net = ct.ReactorNet() net.addReactor(r) t = 0 v0 = r.speed self.assertNear(v0, 10 / r.density) while t < 10.0: t = net.step(10.0) self.assertNear(v0, r.speed) self.assertNear(r.distance, v0 * t)
def test_reacting(self): g = ct.Solution('gri30.xml') g.TPX = 1400, 20*101325, 'CO:1.0, H2O:1.0' r = ct.FlowReactor(g) r.massFlowRate = 10 net = ct.ReactorNet() net.addReactor(r) net.atol = 1e-16 net.rtol = 1e-10 t = 0 self.assertNear(r.speed, 10 / r.density) while t < 1.0: t1 = net.time x1 = r.distance t = net.step(1.0) v = (r.distance - x1) / (net.time - t1) self.assertNear(r.speed, v, 1e-3)