Last edited 11dec14 by csbaile2@.illinois.edu
Find this document at http://new.math.uiuc.edu/math198/csbaile2

# Crystallography in VPython

## By Connor Bailey for UIUC MATH 198 "Hypergraphics" Class

<<<<<<< .mine ======= >>>>>>> .r702

## Abstract

When beginning to learn about crystallography and materials science, it is often a struggle to visualize crystal systems, as well as the planes and directions defined within them. The goal of this project, written in VPython, is to create a controllable environment to see and control the simple cubic crystal systems. The user has access to three crystal structures- simple cubic (SC), body-centered cubic (BCC), and face-centered cubic (FCC). Futhermore, the user can control displayed planes and directions in Miller Index notation. A secondary goal of this project is exploring the connection between crystal systems and the triply periodic minimal surfaces (TPMS).

## Week 9

This week, a revised proposal was made. My project will feature modelling cubic crystal systems, directions, and planes in VPython. This work will culminate in relating these simple crystal systems with the Triply Periodic Minimal Surfaces. A key source of information for this project can be found at Alan Schoen's Website.

I also began working on my project, starting slowly by modeling the simple cubic (sc) and body-centered cubic (bcc) in VPython. Currently, atoms are only modeled with spheres and are not connected. My next step will be connecting them with lines, which symbolize bonds.

## Week 10

Wednesday, Oct. 29th I will be presenting my seminar(pdf) on Crystallography. I will be discussing a brief history of the field, its importantance and relevance, the basis of a crystal, the three cubic systems I will be covering in my project, describing directions and planes in a crystal, and a discussion of diffraction and its crucial importance in crystallography.

This week, I accomplished the following:

• Successfully modeled the SC and BCC crystals with bonds.
• Thought of a new method to model crystals. Instead of creating each atom of the crystal in a loop, adding bonds to the entire crystal, etc., create a UnitCell function that models a unit cell of whatever crystal I'm modeling. That's the use of a unit cell in crystallography, I can't believe I didn't think about using it until now. This should make things easier for modeling FCC.
The next things I will begin working on (after finishing the FCC crystal) are modeling directions and planes in a unit cell.

## Week 11

A lot was accomplished this week.

• First, I succesfully modeled the FCC crystal using the "Unit Cell" method of building the crystal cell by cell (instead of atom by atom).
• I then modeled directions in the unit cell. This took quite a bit of work to fine-tune, but was successful. Given a Miller Index [hkl], the direc function will display the direction, with an arrow, in the unit cell. It automatically adjusts placement of the origin to ensure that the direction will remain in the cell.
• Finally, I made a first draft of the program to model planes in a unit cell. Given the Miller Index (hkl), the planes function displays the appropriate plane in the unit cell as a triangle, with each vertex at the appropriate intercept of each axis. Like the direction function, it adjusts the origin given the sign of each index.
The next steps in my project are to perfect the planes project (currently, it won't work if h,k, or l is 0) and to begin work on relating the SC, FCC, and BCC crystal structures to triply periodic minimal surfaces. This will most likely prove to be the most difficult part of my project.

## Week 12

As of 11/13/2014, I have successfully completed the planes program to model any plane from a Miller Index, including when there are 0 terms or negative terms. Future work on this and the directions program could be to make them more interactive with slides, dials, or other user interaction. This may be worked on over the upcoming Thanksgiving break. My current task at hand is finding a way to relate the TPMSs to the crystal systems- this is proving much more difficult than initially anticipated.

## Week 13

As the semester draws to a close, I have put together a single program which combines almost all of the features of my previous programs. It is an interactive RTICA that shows a unit cell. The user can control what type of crystal lattice it shows (SC, BCC, FCC, or none). They can also use sliders to change the direction or plane in the unit cell, of which the Miller Indices are displayed in a text box. After concluding that it was not feasible to create the TPMS in VPython, I decided to make this combined program. Future updates could allow the user to change the color or size of atoms displayed. At this point, I do not think my program can incorporate the TPMSs, but my presentation can still mention them as an inspiration and show their connection.

Pictured above is an animated gif showing off many aspects of my program: changing and resetting planes and directions, switching crystal systems, and displaying coordinates.

## Week 14- Final Week!

Finishing touches are being made to the site, as well as final updates. Check out final documents:

I encourage any future Math 198 students to look at my documentation if they are interested in what I've done. Any questions can be sent to Connor Bailey .