MolView is a great site for drawing molecules and rendering them in 3D.
Tag: chemistry
The Flint Water Crisis
What happened:
- Flint switches from Detroit’s water system to the Flint River to save money,
- E. coli bacteria show up in water (E.coli can make you sick) so the water system adds chlorine to kill the bacteria,
- Trichloromethane shows up in the water (trichloromethane is a carcinogen)
- Water from the Flint River is more corrosive compared to Detroit’s because it has higher levels of chlorine ions (Cl–),
- Chlorine dissolves lead from old water pipes — the lead goes into solution in the water (lead causes issues with mental development in kids, among other things),
References
Detailed article from Mashable: The poisoning of a city
A timeline from Michigan Radio: TIMELINE: Here’s how the Flint water crisis unfolded
An excellent, detailed program from Reveal: Do not drink: The water crisis in Flint, Michigan. The second part in particular is a good summary of the science issues.
A NPR summary from September 29th, 2015: High Lead Levels In Michigan Kids After City Switches Water Source
Limiting Chemical Reactions
Figuring out the limiting reactant in a chemical reaction integrates many of the basic chemistry concepts including: unit conversions from moles to mass and vice versa; the meaning of chemical formulas; and understanding the stoichiometry of chemical reactions. So, since we’ll need a number of these, I wrote a python program to help me design the questions (and figure out the answers).
Program examples come zipped because they require the program file and the elements_database.py library:
Baking Powder and Vinegar (Common Molecules)
Limiting_component-Common.py: This has the baking powder and vinegar reaction limited by 5 g of baking soda. It’s nice because it uses a few pre-defined “common molecules” (which are defined in the elements_database.py library.
You enter the reactants and products and the program checks if the reaction is balanced, then calculates the moles and masses based on the limiting component, and finally double checks to make sure the reaction is mass balanced.
Limiting_component-Common.py
from elements_database import * import sys print "LIMITING REACTANT PROGRAM" print print " Determines the needed mass and moles of reactants and products if reaction is limited by one of the components" c = common_molecules() '''Create Reaction''' rxn = reaction() # Add reactants (and products) # Use rxn.add_reactant(molecule[, stoichiometry]) # molecule: from molecule class in elements_database # stoichiometry: integer number rxn.add_reactant(c.baking_soda,1) rxn.add_reactant(c.hydrochloric_acid,1) rxn.add_product(c.carbon_dioxide) rxn.add_product(c.water, 1) rxn.add_product(c.salt) '''Print out the reaction''' print print "Chemical Formula" print " " + rxn.print_reaction() print '''Check if reaction is balanced''' balanced = rxn.check_for_balance(printout=True) '''Calculate limits of reaction''' if balanced: rxn.limited_by_mass(c.baking_soda, 5, printout=True)
Outputs results in the Results table (using scientific notation):
LIMITING REACTANT PROGRAM Determines the needed mass and moles of reactants and products if reaction is limited by one of the components Chemical Formula NaHCO3 + HCl --> CO2 + H2O + NaCl Check for balance --------------------------------------------- | Element | Reactants | Products | Difference | --------------------------------------------- | Na | 1 | -1 | 0 | | H | 2 | -2 | 0 | | C | 1 | -1 | 0 | | O | 3 | -3 | 0 | | Cl | 1 | -1 | 0 | --------------------------------------------- Balance is: True Given: Limiting component is 5 g of NaHCO3. Molar mass = 84.00676928 Moles of NaHCO3 = 0.0595190130849 Results ------------------------------------------------------------------ | Molecule | Stoich.*| Molar Mass (g) | Moles req. | Mass (g) | ------------------------------------------------------------------ |NaHCO3 | 1 | 84.0068 | 5.952e-02 | 5.000e+00 | |HCl | 1 | 36.4602 | 5.952e-02 | 2.170e+00 | |CO2 | -1 | 44.0096 | 5.952e-02 | 2.619e+00 | |H2O | -1 | 18.0156 | 5.952e-02 | 1.072e+00 | |NaCl | -1 | 58.4418 | 5.952e-02 | 3.478e+00 | ------------------------------------------------------------------ * negative stoichiometry means the component is a product Final Check: Confirm Mass balance: Reactants: 7.1701 g Products: -7.1701 g -------------------------- = 0.0000 g --------------------------
General Example
If not using the common molecules database, you need to define the components in the reaction as molecules yourself. This example reacts magnesium sulfate and sodium hydroxide, and limits the reaction with 20 g of magnesium sulfate.
Limiting_component-General.zip
The main file is:
Chem_Exam-limiting.py
from elements_database import * import sys print "LIMITING REACTANT PROGRAM" print print " Determines the needed mass and moles of reactants and products if reaction is limited by one of the components" # create reaction rxn2 = reaction() # Add reactants (and products) # Use rxn.add_reactant(molecule[, stoichiometry]) # molecule: from molecule class in elements_database # stoichiometry: integer number rxn2.add_reactant(molecule("Mg:1,S:1,O:4")) rxn2.add_reactant(molecule("Na:1,O:1,H:1"), 2) rxn2.add_product(molecule("Mg:1,O:2,H:2")) rxn2.add_product(molecule("Na:2,S:1,O:4")) '''Print out the reaction''' print print "Chemical Formula" print " " + rxn2.print_reaction() print '''Check if reaction is balanced''' balanced = rxn2.check_for_balance(printout=True) '''Calculate limits of reaction''' if balanced: rxn2.limited_by_mass(molecule("Mg:1,S:1,O:4"), 20, True) # print out masses print "Masses Involved in Reaction" print " Reactants:" for i in rxn2.reactants: #print "rxn", i print " {m}: {g} g".format(m=i.molecule.print_formula().ljust(10), g=i.mass) print " Products:" for i in rxn2.products: #print "rxn", i print " {m}: {g} g".format(m=i.molecule.print_formula().ljust(10), g=-i.mass)
This program is slightly different from the common molecules example in that, at the end, it prints out masses calculated in a more easily readable format in addition to the other data.
Masses Involved in Reaction Reactants: MgSO4 : 20.0 g NaOH : 13.2919931774 g Products: MgO2H2 : 9.69066512026 g Na2SO4 : 23.6013280571 g
When I have some time I’ll convert this to JavaScript like the molecular mass example.
Molar Mass of Molecules
Calculate the molar mass of a molecule:
The notation for the chemical formula is a little funky: you put the element symbol and then the number of atoms separated by a colon; each element/number of atoms pair are separated by commas, so sodium chloride (NaCl) would be “Na:1,Cl:1“.
This will have to do until I can write something to parse the regular chemical formula notation.
On the plus side, you can link to a specific molecular mass calculation by adding the formula to the url. So magnesium chloride (MgCl2) can be found with this url:
https://soriki.com/js/chem/chem_db/molecular_mass.html?formula=Mg:1,Cl:2
Peer Teaching
Half the Chemistry class was gone yesterday, so they had to make up their experiment today. Well, one student of the students who did her work yesterday entreated me to lead her peers through the experiment. It was pretty awesome, because she had been struggling with the topic for the last week and had finally gotten it yesterday.
And she did an excellent job. She not only walked the rest of the class through the theoretical calculations, but guided them through the experiment itself.
Peer teaching works best when students are excited about what they’ve learned and want to share. I’m still trying to figure out the best way of inciting this excitement when I break the groups up for their projects. Giving them choice is important, but also, I think, giving them challenging work that they’re proud to accomplish.
Calibration Curves for Salt (NaCl) Solutions
To start with chemistry class, we’re studying the properties of substances (like density) and how to measure and report concentrations. So, I mixed up four solutions of table salt (NaCl) dissolved in water of different concentrations, and put a drop of food coloring into each one to clearly distinguish them. The class as a whole had to determine the densities of the solutions, thus learning how to use the scales and graduated cylinders.
However, for the students interested in doing a little bit more, I asked them to figure out the actual concentrations of the solutions.
One group chose to evaporate the liquid and measure the resulting mass in the beakers. Others considered separating the salt electrochemically (I vetoed that one based on practicality.
Most groups ended up choosing to mix up their own sets of standard solutions, measure the densities of those, and then use that data to determine the densities of the unknown solutions. Their data is shown at the top of this post.
The variability in their results is interesting. Most look like the result of systematic differences in making their measurements (different scales, different amounts of care etc.), but they all end up with curves where the concentration increases positively with density.
I showed the graph above to the class so we could talk about different sources of error, and how scientists will often compile the data from several different studies to get a better averaged result.
Then, I combined all the data and added a linear trend line so they could see how to do it using Excel (many of these students are in pre-calculus right now so it ties in nicely):
What we have not talked about yet–I hope to tomorrow–is how the R-squared value, which gives the goodness of the fit of the trend line to the data, is more a measure of precision rather than accuracy. It does say something about how internally consistent the data are, but not necessarily if the result is accurate.
It’s also useful to point out that the group with the best R-squared value is the one with only two data points because two data points will necessarily give a perfectly straight line. However, the groups that made more solutions might not have as good of an R-squared value, but, because of the multiple measurements, probably have more reliable results.
As for which group got the most accurate result: I added in some data I found by googling–it came off a UCSD website with no citation so I’m going to need to find a better reference. Comparing our data to the reference we find that team AC (the red squares) best match:
Glass Bending
Our steam distillation apparatus for extracting lavender oil started off fairly simply — a steamer connected to a glass tubing running under the cold water tap to a collection flask — and evolved from there. One of the final tweaks we attempted, was to make a coil in the glass tubing so the steam would have a longer transit through the ice-water bath to enhance condensation.
We heated the glass using a small butane burner until it became pliable, then bent the tube into shape around a piece of wet wood. Using the wood was not as effective as we’d hoped because the glass tubing is fairly thin and cools down quickly when in contact with the water.
You also have to be very careful when bending the tubing to make sure you don’t pull on it. Pulling stretches the glass, making the walls thinner, making it more likely to break. My students discovered this the hard way.
Biochemical Art
A beautiful demonstration of the interaction between detergents and fats (in milk). The food coloring acts as a tracer.