ReactionRule |
ReactionRule works with all mixtures in a lab. The main purpose is to emulate chemical reactions happenning in real world.
There are two types of ReactionRules: Forward (default) and Equilibrium.
Forward type of ReactionRule is able to transform Reactants into Products. You can also specify a Condition to make the operation depending on something in the lab.
<Rules> <ReactionRule Comments="MeltingIce"> <Condition> <RuleCondition Expression="${Binding Temperature, Converter=GreaterThan, ConverterParameter=0}" /> </Condition> <Reactants> <Reagent SubstanceType="Ice" /> </Reactants> <Products> <Reagent SubstanceType="H2O" /> </Products> </ReactionRule> </Rules>
Equilibrium type of ReactionRule is dedicated to immitate real world chemical reactions. For example, chemical reaction of self ionization 2 x H2O -> H3O + OH can be implemented using the following rule.
<Rules> <ReactionRule Comments="Self Ionization" Type="Equilibrium" EquilibriumConstant="3.31E-18"> <Reactants> <Reagent SubstanceType="H2O" Coefficient="2" /> </Reactants> <Products> <Reagent SubstanceType="H3O" /> <Reagent SubstanceType="OH" /> </Products> </ReactionRule> </Rules>