Model description for Sugar and Salt Solutions Sam Reid 2011 Macro Tab: When salt is shaken out the shaker, each grain contains 0.2 grams. Each sugar grain contains 0.4 grams of sugar. The molar masses are given below: salt molar mass = 58.4425 g/mol sugar molar mass = 342.23134 g/mol The concentration is computed as solute amount divided by water volume instead of solute amount divided by solution volume, since adding salt could change sugar concentration if the solution volume was used. The conductivity tester brightness is a function of salt concentration, whether the probes are touching saline solution and whether the conductivity tester is shorted out by having the battery or bulb touch water. Displaced volume due to dissolved solutes is ignored in the simulation; it is a small value, but would be non-negligible if we chose to model it. We removed the effect of volume on dissolved solutes for the following reasons: (a) having the salt concentration change when adding sugar could be confusing to the student (b) the effect is relatively small now that salt and sugar grains have a small mass (c) implementation difficulty in terms of both math and software design--regarding this latter point, it reduces to a pair of coupled equations: molesDissolved = f(volume) and volume = f(molesDissolved) Micro Tab: Salt: Definition of saturation: When Na+ or Cl- is above the saturation point 6.14 mol/L the solution is considered saturated. When the water level drops below the threshold 0.03E-23 L, the solution is also considered saturated since this corresponds to just 10 molecules of H2O Here are the saturation points for all the solutes in the sim (in moles / Liter): sodiumChloride: 6.14 calciumChloride: 6.71 sodiumNitrate: 10.8 sucrose: 5.84 glucose: 5.05 When saturated: When saturated, an Na+ and Cl- ion will move toward each other at high speed and form a two particle crystal. While the solution remains saturated, more particles will connect to the existing crystal, and there is some small probability of forming a new crystal. Particles that match the minority type on the crystal will connect first, in order to maintain ionic balance in the crystal Once there are two crystals, the probability of forming new crystals diminishes significantly. Crystallization events can only happen every 0.1 seconds to prevent jumpy behavior (unless below water threshold, then events can happen instantly to avoid "lining up" behavior) When unsaturated: While the solution is unsaturated, the crystal will dissolve, by dropping the majority particle type in the crystal to maintain ionic balance. Other crystals follow the same behavior according to the formula ratios. When draining: In order to convey the idea that concentration remains constant when draining solution with dissolved solutes, the concentration bar chart bars are held constant while draining. Then when any effect occurs that would change the concentration (water added, water evaporated, crystals added, crystals dissolving, etc), the concentration bar chart bars move according to this formula: //Mix the proposed and true values so it will step in the right direction but also toward the true value fractionTrueValue = 0.5; newValueToDisplay = fractionTrueValue * trueValue + ( 1 - fractionTrueValue ) * proposedDisplayValue; Water Tab: Water is modeled using the 3-site model described here: http://en.wikipedia.org/wiki/Water_model but ignoring the Lennard-Jones terms Most similar to TIP3P, with several essential differences: Note that this is a 2-dimensional model, all particles and interactions take place in the plane +1/-2 point charges are put on each of the hydrogen/oxygen atoms in Sucrose Na+ and Cl- have charges of +1/-1 Water atoms have hydrogen charge = 0.417, oxygen charge = -0.834 The coulomb constant is k = 8.987E9 Box2d is used to model the rigid body physics + coulomb interactions Run the development version and show the developer controls to show all model parameters