Physics 222 Assignment 3

Due February 8


Please turn in this assignment (and all future assignments for this course) by emailing them to me . Please use the subject of "Physics 222 HW3" for these assignments (if you use the link above, the subject will be added automatically). Please attach the source code to any programs that you write for this assignment. If you write more than one program, attach each separately. When answering the questions themselves feel free to answer directly in the body of your message (or attach your answers). I may take off points for assignments that are not sent to me in the correct form.

  1. Prime Numbers

    Write a program that finds and counts all the prime numbers between a given range of numbers. Include an example run of this program in your results finding the prime numbers between 2 and 1000.

    1. How many total prime numbers are there between 2 and 10000?
    2. How many prime numbers are there between 8500 and 8600?
  2. Heat Conduction Through a Window

    In this problem you will write a program to find the steady-state temperature profile of a window (or wall). The physical concept being explored here is heat conduction. The relatively simple equation that we will be dealing with for heat flow is:

     P/A = -k dT/dx
    where P/A is the power per area (or energy per time per area) flowing through a surface, k is the conductivity and dT/dx is the temperature gradient in the direction the heat is flowing.

    To solve this equation numerical we will convert the differential equation to a difference equation. The idea behind a difference equation is that derivatives are approximated as small (but non-infinitesimal) Δs. So here we have

     ΔT = - ((P/A)/k) Δx.  
    In order to apply this difference equation in a program we have to convert the Δs into differences between variables. In this case I am going to give you the temperature on the outside of the window. To find the temperature a small distance from the outside of the window we would say:
     T1 = T0 + (((P/A)/k)) Δx.
    (Note that by starting at the outside and working are way into the house, we have flipped the sign on the heat flux term - if you prefer you can think of P/A as negative).

    We can generalize this scheme to find the temperature at any place along the window based on the temperature at the previous location:

     Ti+1 = Ti + ((P/A)/ki+1) Δx.
    The last equation is the one that you will want to translate into code for this program. Your program should contain a loop which it iterates through to find the temperature based on the temperature at the previous location. Your program should save the temperature at all locations using an array. Your program should output the temperature at the end of each layer of material. Listed below are the conditions that you should test your program with. Note that you can either read these conditions in as inputs, or initialize them in the code directly. Use a Δx of 1.0x10-6 m and an outside temperature of -20.0 degrees C for all runs.

    P/A k1 width1 k2 width2 k3 width3
    W/m2 W/m/deg. C m W/m/deg. C mW/m/deg. C m
    0.0 0.84 0.005 0.0177 0.002 0.84 0.005
    400.0 0.84 0.005 0.0177 0.002 0.84 0.005
    400.0 0.84 0.005 0.84 0.002 0.84 0.005
    400.0 0.84 0.005 0.0177 0.005 0.84 0.005

    The cases above correspond to several physical situations. The material with the higher conductivity is glass and the material with the lower conductivity is argon gas. The first situation is a window with no heat source. In the second case there is a heat source and a window that has two panes of glass with a smaller argon gap between the glass layers. In the third case the argon is replaced by glass. In the last case a larger argon gap is used.

    For this program, turn in the output of your program running for each of the cases. Comment on the results of each run of the program. Do the results seem reasonable?

  3. Project Proposal

    Write a one to two paragraph proposal of your project for this class, if you are doing a project. Include a detailed description of the problem that you are going to try to solve. Also mention any cases of this problem that you will use to check your results, especially any cases that can be solved analytically. Feel free to come talk to me if you need help finding a topic. In fact, you may want to talk to me about your topic, even if you know what you want to do.