NetLogo User Community Models
by Asymptote (Submitted: 07/24/2008 )
WHAT IS IT?
This model simulates chemical bonding (covalent only, no ionic or hydrogen bonds) among a population of atoms of different imaginary elements.
HOW IT WORKS
At setup, the program randomly picks the number of elements, and creates a table specifying which types ("elements") of atoms are allowed to bond with which, and another table specifying how many bonds a given type of atom is allowed to have at any given time.
When any two atoms come within "interact-distance" of each other, they check to see if they are compatible (that is, if they're allowed to bond) if so, and if neither atom has the maximum allowed number of bonds, there is a nonzero chance that they form a bond.
Occasionally, an atom that is already bond-saturated will get "pulled away" by another atom: it will break one of its current bonds to accomodate a bond with the new atom.
Sometimes, bonds just break randomly, too.
HOW TO USE IT
Press "Setup," and everything will be created. Then, press "Go," and watch the atoms form virtual molecules and undergo chemical reactions.
THINGS TO NOTICE
There are definite species of molecule that form, although the model can't really handle the number of atoms that would be necessary to see too many of the same species.
Watch also for interesting chemical reactions between atom types.
THINGS TO TRY
Turn up the heat and watch the physical properties change as the molecules become more unstable, or turn it down and watch as the system freezes and no chemical reactions can take place.
EXTENDING THE MODEL
The atoms behave a little weirdly when they're near the edges. In effect, this makes the walls of the chamber hot. That doesn't cause any problems per se, but it interferes with the pure study of pressure effects within the model.
This model wouldn't have been possible without NetLogo's excellent network-handling methods, especially "layout-spring," which is the basis of the physics of the molecules.
NetLogo is also ideal for this application because it makes possible the easy simulation of emergent properties, such as large-scale pressure and phase changes.
CREDITS AND REFERENCES
Version 0.0 created by Asymptote (http://asymptote.wordpress.com)
(back to the NetLogo User Community Models)