## Thursday, July 2, 2015

### Atomic Lattices and Glowscript

I'm finishing up (read: procrastinating finishing up) a final paper in a material science course that I'm taking this summer. The paper is about cuprous oxide ($Cu_2O$) and its possible use in a homemade diode. That process is outlined here.
 HP Friedrichs's homemade diode and holder
I am investigating whether what he has described in terms of process and results jibes with the literature's descriptions of fabrication processes, physical properties, and and electrical properties. All of that's interesting, but one neat part was a look at the crystal structure. It's a combination of two crystals: the copper forms a face-centered cubic sublattice and the oxygen forms a body-centered cubic sublattice.

Specifying crystals, I've learned, is a pretty neat vector operation, and one which lends itself to programming pretty well. There's a basic unit which is repeated at each point of a cube. That unit isn't necessarily as many atoms as you might think: for a body-centered cubic lattice, it's a set of points at (relative coordinates) (0,0,0) and a(.5,.5,.5), where a is the lattice constant, which is the edge length of the cube. hen you replicate this two-atoms basis at each of the corners of a cube of side-length a, you get a body-centered cubic lattice (doing it just once gives some extra atoms; the unit cell consists of just those atoms within the unit cube. Doing it infinitely, though, will give an infinite BCC lattice). It's a little harder to picture the FCC lattice, but its basis consists of (0,0,0), a(0,.5,.5), a(.5,0,.5), and a(.5,.5,0).

So we have a set of atom positions (2 or 4, depending on the lattice) that we want to iterate over all point of the form a(x, y, z), with all coordinates in the integers. That's a perfect setup for VPython/Glowscript. It's easy enough, using some for loops, to iterate over an area of desired dimensions, and then it can all be zoomed and rotated by the user with VPython/Gloscript's native controls. I added a box showing the unit cube for orientation, and.. voila (click image or here to see animation)!

GlowScript 1.1 VPython

scene.background = color.white

# apply basis atoms to each site in cubic lattice
atoms = []
for site in cubic:
for atom in basis:
atoms.append(sphere(color= color, radius = rad, pos = site+atom+offset))
return atoms

# apply basis atoms to each site in cubic lattice
atoms = []
for site in cubic:
for atom in basis:
if 0 <= (site+atom+offset).x <= a and 0 <= (site+atom+offset).y <= a and 0 <= (site+atom+offset).z <= a:
atoms.append(sphere(color= color, radius = rad, pos = site+atom+offset))
return atoms

def cubeDraw(color):
# draw lines around the unit (not primitive) cell
curve(pos = [a*vector(0,0,0),a*vector(1,0,0),a*vector(1,1,0),a*vector(0,1,0),a*vector(0,0,0)], color = color)
curve(pos = [a*vector(0,0,0),a*vector(0,0,1),a*vector(0,1,1),a*vector(0,1,0),a*vector(0,0,0)], color = color)
curve(pos = [a*vector(0,0,1),a*vector(1,0,1),a*vector(1,1,1),a*vector(0,1,1),a*vector(0,0,1)], color = color)
curve(pos = [a*vector(1,0,0),a*vector(1,0,1),a*vector(1,1,1),a*vector(1,1,0),a*vector(1,0,0)], color = color)

a = 1 # lattice constant

# Lattice maker
# basis vectors
bcc = [vector(0,0,0), vector(.5*a,.5*a,.5*a)]
fcc = [vector(0,0,0), vector(0,.5*a,.5*a), vector(.5*a,0,.5*a), vector(.5*a,.5*a,0)]

# Create unit cubic lattice
# horizontal extent (will go from -x to x)
xmin = -1.5
xmax = 1.5
# vertical extent (will go from -y to y)
ymin = -1.5
ymax = 1.5
#in-out extent (will go from -z to z)
zmin = -1.5
zmax = 1.5

cubic = []

for i in arange(xmin,xmax+1,1):
for j in arange(ymin,ymax+1,1):
for k in arange(zmin,zmax+1,1):
cubic.append(a*vector(i,j,k))

# Use this to show a single unit cell
#CuAtoms = makeCellLattice(cubic,bcc,vector(0,0,0),color.red,a/15)
#OAtoms = makeCellLattice(cubic,fcc,(sqrt(3)/8)*a*vector(-1,-1,-1),color.blue,a/20)

#Use this to show a bigger lattice
CuAtoms = makeLattice(cubic,bcc,vector(0,0,0),color.red,a/15)
OAtoms = makeLattice(cubic,fcc,(sqrt(3)/8)*a*vector(-1,-1,-1),color.blue,a/20)

scene.center = a*vector(.5,.5,-.5)

cubeDraw(color.red)


## Saturday, April 25, 2015

### Kinematics Graph Checker

Here's an applet for kinematics (mostly CAPM) practice that I put together this fall. Students have the option to choose what information they are given, from these choices:
• Initial x, v, and a values
• Position graph, initial x values
• Velocity graph, initial x and v values
• Acceleration graph, initial, x, v, and a values
The length of the time interval considered can also be varied. After getting the given information, students can draw their predictions (either sketching the shapes or drawing quantitative graphs), and then press the "Show Solutions" button to reveal the hidden two or three graphs. I finished this one after students were through 1D kinematics this year, so I don't have any info on how effective students find these. Let me know if you like (or don't like) them for your classroom purposes!

## Friday, April 10, 2015

### What Can You Do With This? feat. Phineas and Ferb

I love the "What Can You Do With This?" variety of problem prompts: give the students a situation, photo, video, sound, or piece of equipment and then ask them: "what can you do with this?" That is, "what questions can you ask of this?"

Students have great ownership of these questions, and must really engage with the modeling process - identifying what principles apply, making and justifying assumptions and approximations, determining what information is available, etc., as well as practicing the process of asking interesting but focused and answerable questions. None of these purposes are served well by "textbook problems," not to mention that the process is more enjoyable and engaging for students when they're such a big part of it.

Here's my most recent - a video prompt that I saw while watching Phineas and Ferb with my son:

The students came up with some great questions, made measurements (including scaling) from the video, and did their analyses. It took about 35 minutes, and here are the three whiteboards from this section:
"What's the stiffness constant of the 'trampoline'"?
"What would his maximum acceleration be as he's caught?"

"What's the maximum force exerted on him by the trampoline?"
Also explored by this group, but not pictured: "From how high could he fall and not die?"

"How high does Phineas bounce?"
"How much energy was lost during the bounce?"

## Friday, March 13, 2015

### Counter-factual Animations and Energy

Soon after my students began energy, I presented them with a set of five YouTube videos that I made with VPython of a race between two identical balls, launched by identical springs that had been compressed identical amounts.
The five simulations present five different ways that the race could play out; one is physically accurate and, while the other four have some sort of logic, their results are not physically correct. The students have some time in groups to determine which they think is correct and, more importantly, what specific issues they have with the others. I'm challenging them to figure out the laws of physics in these four alternate universes, in essence.

After they've worked for a while, they vote, and then we go through the unpopular ones first, with students giving their reasons against them, debating as disagreement crops up.

It usually boils down to two or three, and they hone in on the correct answer pretty reliably in a peer-instruction-esque way. The discussion has been lively and productive, and I like it as a way to focus their attention on the kinds of things that energy conservation does and does not allow in the world in general. It also is a good review of some kinematics concepts, including average velocity and the velocity/displacement relationship.

The YouTube format isn't the best - the size is a bit too small, unless you want to switch back and forth between fullscreen and smaller. Additionally, the suggested videos pop-up at the end is distracting and annoying.

To that end, I coded the simulations into GlowScript instead; students can now deal with them in-browser, repeating or switching at will. It would be neat to have two windows to select different simulations to run against each other simultaneously, and I may add that feature in the future. In the meantime, this will be a big improvement for students over the previous incarnation!

## Saturday, February 7, 2015

### Thoughts on Beginning Magnetism

It has been a while since I have been able to get magnetism into the Honors Physics course, but the lack of fourteen million snow days this year has certainly helped. I'm putting it at the end of the second term, which is the term in which we studied gravity and circular motion, so it fits in pretty well - a non-contact, field-based phenomenon which, like gravity, which causes circular motion.

Since it has been several years, I thought that I'd completely revamp my treatment of magnetism. Here are some notes on the first day, and a brief outline of the plan of the rest. It's mostly bullet points, and at least as much for me remembering the thought process as for anything.

My favorite bit is that it's a whole 95-minute day that fleshes out the idea of field relatively well, giving students some concrete experience puzzling them out and creating representations based on their own investigations. Hopefully, this will give them a better mental picture of fields in space.

General ideas:
- Magnetism is similar to gravity, in that it's a non-contact force - it's "invisible.'
- It's all about "fields," and we're going to need to figure out what the heck a field is at some point. That's pretty much the goal for the day.

Operational def’ns: We're going to use an operational def'n of the field (at least the B field direction) today. What’s our op. def. of temperature? It's what a thermometer measures! For B field directions, it’s going to be “where a compass points."

Let’s explore that a little:
- Map of the field in the room. Need better compasses, or maybe use phones? (yes, phones worked much better on the second day) They draw their vectors on board, "complete" them to form field lines.
- Let’s look at another field together: field of wire apparatus (through table), with compasses. Combining little arrows into loops, change i direction to see the opposite direction loop
- They investigate with bar magnet, horseshoe magnet, current loop (?), solenoid - your goal is to draw a good diagram of your object's B field on the WB.

Sharing whiteboards (unfortunately, didn't get any pics here of the boards):
- Bar first - what dir. are the field lines? (N to S) What does that tell us about Earth? (The north geographic pole is near a south magnetic pole!).
- Horseshoe: what’s the orientation of the (unlabeled) poles?
What’s in common so far?
- loops (are they closed? Yes - we couldn't see the part inside the magnet for these, but they're there)
- from N to S
- distance-dependent strength (how can we tell this from the diagram? Density of field lines!)
- opposites/likes
Now the solenoid: puzzling out the shape (if they didn't figure it out - one class did)

RHR - wire current

Current loop, using RHR1 - generates RHR2… let’s check it for the solenoid (go to solenoid)

Looping back around (see what I did there?): what is a field?
- has a value (magnitude, direction) at every point in space
- affects objects that are in it

Which field have we dealt with? Gravitational field, though we haven't called it that, really.
- Planet g field shape; where’s it strongest? same deal; not closed loops, though - that’s a difference.
- What objects create g fields? (masses) what objects does it affect? (masses)

For B fields, what creates them? perm. mag., currents -> moving charges (spin, domains, etc.), and it’ll affect moving charges, too! We'll look at the effects next time!

Future:
- Using this applet to examine the effects of B fields on charges - helps to figure out that the direction of the force on the charge is always perp to v, dependence on q, etc.
- Lorentz force
- Applying that to a current; forces on wires
- Quantifying the fields of wires, solenoids

That's pretty much what we'll have time for before exams!

## Thursday, December 4, 2014

### Independent Friction Labs

At the end of the first term, I give my honors physics students a couple of days to design, implement, and present an independent investigation involving friction. That's about all that I specify, other than the size of the poster and a few details about requiring equations set with software, citations, etc.

This year's crop was great!

This group investigated the "friction" effects of oobleck on a block, dragged through it at constant speed. They determined that the relationship could be modeled in a friction-like way, but only if the "coefficient" was a function of speed.

This group tested the idea that the mass shouldn't affect the acceleration due to friction; three kids wore the same clothes and slid across the floor, using video analysis to determine the acceleration.

This group tested and modeled the friction between interleaved pages of books. They first modeled the friction on a single page, under some number of pages above, and then did a summation to predict the total possible static friction force between the books.

This group tested the classic physics approximation of ice being frictionless. They made pucks out of ice and dry ice, and determined friction coefficients for each.

This group tried to find the optimum pulling angle for breaking the static friction on an object, both experimentally and theoretically.

This group determined the coefficient of static friction between two blocks, then predicted the hanging mass necessary in a half Atwood machine to cause the top block to slip against the bottom block (which is attached to the cart in the half Atwood).

Another half Atwood exploration - they set up a vertical surface on a cart and increased the hanging mass until an eraser would accelerate along with the cart, instead of slipping down.

This group dragged a boat through water at different speeds, trying to determine whether they could model fluid drag as a friction force. They showed that the "coefficient" would be velocity-dependent, so that drag is not really a friction force.

### Circular Motion Simulation Follow-up

I last posted about a new circular motion applet that I was planning on using with my classes as the quantitative part of their UCM paradigm lab. Some reflections:

• When students came up with a list of variables that might affect the size of the centripetal acceleration, the list was: speed, mass, radius (always in that order). The visual accelerometer on a rotating table showed the qualitative effect of speed nicely, and the thought experiment about driving a car around a corner (tight or wide) addressed radius. We couldn't do mass with the given stuff, so I told them to check that out in the applet. A few seconds' work with the slider showed that it's irrelevant.
• The applet is framed in terms of string length (radius) and rotational frequency - instead of speed. This means that students had to confront (and figure out) the relationship between rotational frequency (or period) and speed just to get their data for the acceleration's dependence on speed. I like that.
• The other way that they have to confront it is to control speed while investigating acceleration's dependence on radius - changing the radius but not the frequency would change the speed. The students have the figure out the proper frequency for each new value of the radius in order to keep the speed constant during the second experiment. I like this a lot as well.
• Students still have trouble reconciling their two models ($\bg_black&space;\large&space;a=kv^2$ and $\bg_black&space;\large&space;a=\frac{k}{r}$) to determine the complete function of v and r. Even when they have figured out the units of the two constants, the connection is hard for them to make. I'm very open to suggestions of ways to make this go more easily - I don't have a great handle on what the conceptual difficulty is for them here. In the second section, I framed those two models as "OK, so a is proportional to v-squared, and a is proportional to 1/r," and that may have helped.
• Overall, the quantitative modeling went much more quickly, had some good conceptual things to think about, and was good practice with function modeling, so I'm pretty happy about it, at this point. We'll see how things go over the next couple of weeks; did this begin to build lasting understanding?