Ball and Spring Model: Difference between revisions

From Physics Book
Jump to navigation Jump to search
Line 118: Line 118:


[[file:Calculating Area.png]]
[[file:Calculating Area.png]]
[[File:simple ex.png|left]]


[[File:Calculating change in length.png]]
[[File:Calculating change in length.png]]

Revision as of 18:39, 5 December 2015

Page created by Ashley Fleck.

The Interactions of atoms can be modeled using balls to represent the atoms and a spring to represent the chemical bond between them.

Introduction

Everything that has mass (solids, liquids, gases, etc.) is made of matter, which is made up of atoms. Each atom is composed of a dense positively charged nucleus and a much less dense negatively charged electron cloud (1). [Insert picture of a breakdown of an atom]. The charges of the atom affect how they interact with other atoms. Simply, the positive charge of one positively charged nucleus of one atom is attracted to the negatively charged electron cloud of the other atom, which bounds the two atoms together. This interaction is known as the electric force. However, this attraction only occurs up to a specific point. Once the atoms near too close to one another, the attractive forces of the nucleus and electron cloud are outweighed by the repulsive forces of the two atoms’ electron clouds (while opposite charges attract, negative charges repel). Therefore, if the atoms are pushed too close to one another, they will repel each other rather than attract. (1).

The Main Idea

These interactions can be modeled using a familiar object: a spring! Every spring has a relaxed length. Once the spring is stretched past this relaxed length, the spring exerts a force inward in order to restore it to its original, relaxed length. If the spring is compressed smaller than the relaxed length, then it exerts a force outward in order to restore it to its original, relaxed length. Atoms can be modeled in the same way. Suppose two balls represent two atoms. These two atoms are connected by a spring, which represents the chemical bond (a bond between atoms that is a result of electric forces that bind protons and electrons to each other) between the two atoms (5).
This simple model of just two atoms connected by a spring can then be extended to represent an entire solid! If each atom was connected to six atoms (each at a 90 degree angle to the others), it would form a cube, or what’s known as a simple cubic lattice. A simple cubic lattice is the simplest model of a solid. A model of this can be seen below.
Example of Coded Simple Cubic Lattice
If one of the atoms is moved in any direction, it has a ripple effect with the other atoms (causing some to move away and some to come closer). Because they are all connected by these springs (which again, represents the electric forces between the atoms through a chemical bond), the movement of one atom affects all the other atoms (4).

Macroscopic Stretch

That force exerted by a spring, mentioned earlier, in order to restore it back to its relaxed length after it has been compressed or stretched can be calculated. Every spring has a specific stiffness that is unique to that particular spring known as the spring constant (stiffness), k. It has units N/m. The stretch or compression of the spring is modeled by the difference in the final length minus the initial (relaxed length) and is denoted as ∆L = L – L0, where L is the final length and L0 is the relaxed length. Change in L is referred to as the macroscopic stretch. The force the spring exerts is a direct relationship between the spring stiffness and the macroscopic stretch, and is therefore:
Fspring = k*∆L

Microscopic Stretch

The ball-and-spring model of a solid consists of balls that represent atoms held together by springs representing chemical bonds as a result of electric forces. As with a spring, a relaxed length is needed as a reference point to determine stretch or compression; the relaxed length of the spring between the two atoms is the center-to-center distance between the atoms, d. This distance would simply be twice the radius since the atoms would fill the space up entirely, minimizing the space between atoms. Since these bonds are modeled as springs, they also maintain a spring stiffness, k, specific to the spring and how much it will stretch. This stretch is defined as s, and is referred to as the microscopic stretch.

Young’s modulus

Recall that the stiffness of a wire depends on how long the wire is and the thickness of that wire only; it does not depend on the material of wire, so different wires from the same material could still have different stiffnesses. Calculating Young’s modulus is a way to measure the “springiness” of a material and factor out the size and shape of the particular wire. Young’s modulus is the ratio of the force exerted per square meter of area (F/A) and the stretch of the wire (∆L/L). It is a way to measure the “springiness” of a material.


A Mathematical Model

What are the mathematical equations that allow us to model this topic. For example [math]\displaystyle{ {\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net} }[/math] where p is the momentum of the system and F is the net force from the surroundings.

A Computational Model

This model of a solid can be simulated using VPython (written by Bruce Sherwood and licensed under Creative Commons 4.0).

   N = 3 
   k = 1
   m = 1
   spacing = 1
   atom_radius = 0.3*spacing
   L0 = spacing-1.8*atom_radius
   V0 = pi*(0.5*atom_radius)**2*L0 
   scene.background = color.white
   scene.center = 0.5*(N-1)*vector(1,1,1)
   dt = 0.04*(2*pi*sqrt(m/k))
   axes = [vector(1,0,0), vector(0,1,0), vector(0,0,1)]
   
   class crystal:
       def atomAt(self, np):
           if (np.x>=0 and np.y>=0 and np.z>=0 and np.x<N and np.y<N and np.z<N):
           return self.atoms[int(np.x + np.y*N + np.z*N*N)]
           w = box()
           w.visible = False  
           w.radius = atom_radius
           w.pos = np*spacing
           w.momentum = vector(0,0,0)
           return w
       
       def __init__(self,  N, atom_radius, spacing, momentumRange ):
           self.atoms = []
           self.springs = []
           for z in range(N):
               for y in range(N):
                   for x in range(N):
                       atom = sphere()
                       atom.pos = vector(x,y,z)*spacing
                       atom.radius = atom_radius
                       atom.color = vector(0,0.58,0.69)
                       px = 2*random()-1 # ranges from -1 to +1
                       py = 2*random()-1
                       pz = 2*random()-1
                       atom.momentum = momentumRange*vector(px,py,pz)
                       self.atoms.append( atom )        
           for d in range(3):
               for z in range(-1,N):
                   for y in range(-1,N):
                       for x in range(-1,N):
                           atom = self.atomAt(vector(x,y,z))
                           neighbor = self.atomAt(vector(x,y,z)+axes[d])
                           if (atom.visible or neighbor.visible):
                               spring = helix()
                               spring.visible = atom.visible and neighbor.visible
                               spring.thickness = 0.05
                               spring.radius = 0.5*atom_radius
                               spring.length = spacing
                               spring.up = vector(1,1,1) 
                               spring.atoms = [ atom, neighbor ]
                               spring.color = vector(1,0.5,0)
                               self.springs.append(spring) 
Example of Coded Simple Cubic Lattice
   c = crystal(N, atom_radius, spacing, 0.1*spacing*sqrt(k/m)) 
   while True: 
       rate(30)
       for atom in c.atoms:
           atom.pos = atom.pos + atom.momentum/m*dt
       for spring in c.springs:
           spring.axis = spring.atoms[1].pos - spring.atoms[0].pos
           L = mag(spring.axis)
           spring.axis = spring.axis.norm()
           spring.pos = spring.atoms[0].pos+0.5*atom_radius*spring.axis
           Ls = L-1*atom_radius
           spring.length = Ls
           Fdt = spring.axis * (k*dt * (1-spacing/L))
           spring.atoms[0].momentum = spring.atoms[0].momentum + Fdt
           spring.atoms[1].momentum = spring.atoms[1].momentum - Fdt

Examples

Be sure to show all steps in your solution and include diagrams whenever possible

Simple

Young’s modulus for brass is 8.96*10^11 Pa. A 100N weight is attached to a 5m length of brass wire. Find the increase in length of the wire. The diameter is 1.5mm.

Middling

Difficult

Connectedness

  1. How is this topic connected to something that you are interested in?
  2. How is it connected to your major?
  3. Is there an interesting industrial application?

History

Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.

See also

Are there related topics or categories in this wiki resource for the curious reader to explore? How does this topic fit into that context?

Further reading

Books, Articles or other print media on this topic

External links

Internet resources on this topic

References