NetLogo banner

 Home
 Download
 Help
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

Virtual Chemistry

by Asymptote (Submitted: 07/24/2008 )

[screen shot]

Download Virtual Chemistry
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)

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.

Phase Changes:
If you increase temperature (with the slider) or increase pressure (by adding more atoms), some types of molecules will become unstable, and new ones will become stable. This is what occurs in, for example, freezing water: at below freezing point, hydrogen bonds cause the water molecules to stick together and form fairly orderly hexagonal lattices. At higher temperatures, though, the lattices become unstable and chaotic, and the water becomes a liquid.

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.

NETLOGO FEATURES

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)

VERSION

$Id$

(back to the NetLogo User Community Models)