Click or drag to resize

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.

Example
<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.

Example
<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>