VPython Modelling of Electric and Magnetic Forces: Difference between revisions

From Physics Book
Jump to navigation Jump to search
Line 25: Line 25:
field.  
field.  


''Step 1: Frame the problem in fundamental ideas or equations''
'''Step 1: Frame the problem in fundamental ideas or equations'''


This is where you write down anything the problem gives you.  
This is where you write down anything the problem gives you.  
Line 60: Line 60:


     '''The Loop'''
     '''The Loop'''
   
     while t < 1.67e-6:
     while t < 1.67e-6:
     rate(10000)
     rate(10000)

Revision as of 22:12, 9 April 2017

VPython Modeling of Electric and Magnetic Forces Claimed By: Griffin Bonnett Spring 2017 claimed by Fall 2016: Sam Webster Spring 2016: Neil Acharya (nacharya)

The Main Idea

Vpython is a programming language designed to model physics properties in a 3D simulation. This section we will be focused on modeling the electric and magnetic forces in Vpython.

A Mathematical Model

When you start a new Vpython program you should first write out all the equations and constants you might need.You should also define any variables you use in their appropriate forms such as vectors, arrows, or spheres. Then, you should get a rough outline of what values need to be calculated and how the constants and equations can be best applied for the calculations.


A Computational Model

This is when we begin to program using Vpython. A finished and working program will give us the ability to visualize the physics of magnetic and electric forces. Vpython can be used to model any number of other physical interactions as well such as springs and gravity. Running a simulation allows us to view concepts that would not be observable any other way especially on the same time scale. We are able to visibly observe magnetic and electric fields in a dynamic situation which is difficult to visualize without a model. This also allows for many more calculations to be preformed and the ability to interpolate and extrapolate data.

Examples

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

Magnetic Force Model

For Magnetic forces: We are going to simulate the motion of a charged particle immersed in a magnetic field.

Step 1: Frame the problem in fundamental ideas or equations

This is where you write down anything the problem gives you.

Equations:           Constants:
F = q·v x B          Charge of the particle(q)
dp/dt = Fnet         Velocity vector of the particle(v)
p = ma               Magnetic field vector(B)          
v= p/m               Mass of particle (m) 
                     


Due to our understanding of how magnetic fields cause a force on a moving charged particle, we can craft a general outline for the calculations. We can also find expected values and predict the behavior of the model. We will need to calculate the magnetic force and use it to update its position and velocity.




Step2: Conceptualize the problem

We want to show the particle moving through space relative to time. Since computer programs only comprehend discreet values, we will want to move through time in discreet increments. We do this by using a while loop because while t is less than a certain value the loop will continue to be updated. We can put the limit of t to anytime so long as the rate is high enough to run the program reasonably fast and t is large enough to run the full length simulation. We will set the initial time to t = 0 and add a constant delta t to each iteration in the while loop. Each new iteration of time will allow us to update the position and velocity vector. To update these values, conservation of momentum is used to relate the magnetic and the position and velocity.

   Initialize the variables
    particle = sphere(pos=(0, .15,.3), radius = .01, color = color.red)
    velocity = vector(-2e6,1e6,0)
    q = -1.6e-19
    m = 1.7e-27
    trail = curve(color=particle.color)
    deltat = 1e-11
    t = 0 
   The Loop
   
   while t < 1.67e-6:
   rate(10000)
   ## Insert the necessary steps inside the loop below to update the particle's position and velocity
   ## a) Add code to calculate the needed quantities to update the particle's velocity
   p = m * velocity
   Fnet= q * cross(velocity, B0)
   p = p + Fnet*deltat
   
   ## b) Add code to update the particle's velocity
   velocity = p/m
   ## c) Update the position of the proton (movies in a straight line initially).
   particle.pos = particle.pos + velocity*deltat
   trail.append(pos=particle.pos)
   t=t+deltat

Electrical Force

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

This section contains the the references you used while writing this page