def testWriteAndParseReactions(self): r = Cml.Reactions() r1 = Cml.Reaction(["O", "O"], ["O2"]) r.reactions.append(r1) r2 = Cml.Reaction(["H+", "H+"], ["H2"]) r.reactions.append(r2) r.write("tests/writtenReactions.cml") r = Cml.Reactions() r.parse("tests/writtenReactions.cml") self.assertEqual(r.reactions[0].reactants, ["O","O"]) self.assertEqual(r.reactions[0].products, ["O2"]) self.assertEqual(r.reactions[1].reactants, ['H+', 'H+']) self.assertEqual(r.reactions[1].products, ["H2"]) os.remove("tests/writtenReactions.cml")
def react(self, molecule): ions = molecule.to_aqueous() if ions != None and len(ions) > 0: print(molecule.formula, "-(Water)>", ions) cml = Cml.Reaction([molecule.formula],ions) reaction = Reaction.Reaction(cml,[molecule.state_formula]) return reaction elif Config.current.DEBUG: print("Water beaker didnt react with:", molecule.formula)
def setupSimpleReactor(): r1 = Cml.Reaction(["H2SO4(aq)", "NaCl(s)", "NaCl(s)"], ["HCl(g)", "HCl(g)", "Na2SO4(s)"]) r2 = Cml.Reaction(["OH-", "H+"], ["H2O(l)"]) return Reactor([r1, r2])
def setupSimpleReactor(self): r1 = Cml.Reaction(["O", "H+"], ["OH-(aq)"]) r2 = Cml.Reaction(["O", "O"], ["O2(g)"]) return Reactor([r1, r2])