Ejemplo n.º 1
0
 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")
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
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])
Ejemplo n.º 4
0
 def setupSimpleReactor(self):
     r1 = Cml.Reaction(["O", "H+"], ["OH-(aq)"])
     r2 = Cml.Reaction(["O", "O"], ["O2(g)"])
     return Reactor([r1, r2])