PHYS-4007/5007 Course Project Web Home Page

This web page contains the links to the Instruction Packet documents that describe the various suggested Course Computer Projects for PHYS-4007/5007 Computational Physics. In addition, links to various helpful Fortran 77 and IDL programs, subroutines, functions, and procedures are listed on this web page as well. Most of these files posted here are in standard ASCII (text) format, though some are binary (the PDF files).

Your Computer Class Project will involve writing or modifying a computer code dealing with some aspect of physics using any of one the following areas in computational physics: matrix solution of a set of linear equations (say with Gaussian elimination), solution of a set of ordinary differential equations (using either the 4th-order Runge-Kutta technique or the Adams method), solution of a partial differential equation (with the dependent variable being a function of at least two independent variables, e.,g., solution to Schrodinger's equation), or fitting a set of data to a linear relation using the method of least squares. Note that if you have some other type of calculation that you wish to perform for this project, ask me for approval before writing your proposal. Note that this proposal will be your second homework assignment -- you will get a separate assignment sheet with the details of how this proposal should be structured.

You are free to use any of the following programming languages: IDL, Fortran, Python (either version 2.7 or 3), or C. You are also allowed to use C++ if you like, but note that I will not be able to help you if you have troubles getting your program to work. Also note that you are not allowed to use programming languages like Mathematica, Maple, or MatLab. You are allowed to use any math functions the programming language supplies (either internally or in a library). Note that I will supply Runge-Kutta and Adams method subroutines (written in Fortran 77) on this project web page to solve systems of ordinary differential equations. Typically when doing such a computer research project, the amount of time needed to complete a given aspect of the project is: 50% for code development, 20% for debugging the code, 20% to analyze the results, and 10% to write the manuscript.

You will then analyze and present your results. The analysis should be done via software you write (in some sort of graphics software like IDL). Besides writing an 8 to 10 page manuscript on the results of this work, you also will be required to write a proposal to do this work for the second homework assignment. In this proposal, you need to state what problem you are taking on, how you will approach the solution, the operating system and machine type you plan on using, the programming language you plan to use, and what questions you plan on answering with this project.

Those of you taking this course for honors or graduate credit must carry out the additional material in the project descriptions, or propose to do a project that is at a graduate level (and I will decide what is graduate level). Also, your research paper will need to be 10 to 15 ages in length.


Information Packets for Suggested Projects:

The following table lists some suggested course computer projects that each of you can carry out. Clicking on the title of each project will bring up the Information Packets for each project. In addition, you can propose your own project on Homework Assignment #2.

Topic Area of Physics Suggested Method
of Solution
Project Instructions Document --- ---
Data Fitting to Hubble's Law Data Analysis Linear Least Squares
Quasi-Static Solar Coronal Loop Modeling     Thermodynamics     Adams Method
Polytrope Modeling of Stellar Interiors Thermodynamics     4th-Order Runge-Kutta   
Coupled Harmonic Oscillators Mechanics Gaussian Elimination
Trajectories with Air Friction
Mechanics 4th-Order Runge-Kutta
    Quantum Mechanical Harmonic Oscillator     Quantum PDE Solution
Quantum Mechanical Scattering Quantum PDE Solution

Codes should be able output data into ASCII files which can be examined by your professor and used for your analysis. The best way to display the results of your code is through a graphical plots. You will need to do this both to the terminal (i.e., screen) and to a hardcopy plot such as an encapsulated postscript file (which you can then include in your final manuscript). Besides turning in the final report, you will also be required to turn in at least one of these output files and a listing of the code itself by emailing me these items at my ETSU email address. When writing your final manuscripts, you must use the LaTeX markup language.


Useful Files to Download

IMPORTANT NOTE: Due to OIT's paranoia about security issues, files ending in either ".dat" (standard Unix data files) and ".pro" (IDL procedure and function files) will not show up on a web browser even though those these files exist on the web server disk. To counteract this, I have changed the name of all ".dat" files to ".txt" files and renamed all of the IDL procedures for you to download to ".txt" file names. Note that after you download a given IDL procedure or function file from this web site to your IDL working directory on your PC, immediately rename it to its ".pro" name as shown on web page link. For instance, when you click on "sampleplot.pro", this will save this file to your IDL working directory as "sampleplot.txt". Once on your home machine, rename it to "sampleplot.pro" from a terminal window or directory GUI interface.

Also note that some web browsers will just display a text (ASCII) file in the browser itself, instead of downloading it. In those cases, just open up an empty file with text editting software (like emacs or Notepad) and clip an paste the text from the browser to your file. Then save it to a filename by the same name as indicated on the web page.


LaTeX File and the Resulting Output PDF Files

A sample LaTeX file (template.tex) can be downloaded and used as a template for your project's manuscript. This LaTeX file requires the temptex.eps figure file which can be downloaded too. The template.pdf file contain the compiled version of this LaTeX file. Download the following files to a subdirectory where you wish to carry out this project (i.e. the so-called working directory). Click on each of the files listed.

    template.tex         template.pdf         temptex.eps    


Data Fitting to Hubble's Law Files

The files below are needed to assist you in carrying out the Data Fitting to Hubble's Law project. There are links that contain spectra of a set of galaxies (in ASCII format with files ending in ".txt"), a bare-bones IDL procedure that you can use as a starting point, some supplemental IDL procedures, the spectral data files, and a reference paper concerning the spectra contained in the data files. For this project, you will be determining Hubble's Constant, Ho, which is used in Hubble's Law:

vr = Ho d,
where vr is the radial velocity (in km/s) of the galaxy in question and d is the distance to the galaxy (in Mpc = 106 parsecs). Note that the "parsec" is a unit of distance used in astronomy and is equal tp 3.26 light years -- an astronomical object that displays a yearly parallax shift of one arcsecond would be at a distance of one parsec as per the equation

d = 1/p,

where d is the distance measured in parsecs and p is the parallax angle measured in arcseconds (though you will not need this parallax equation for this project).

    1995ApJS_97_331M.pdf    McQuade, Calzetti, & Kinney 1995, ApJS, 97, 331
hstmiras2000.pdf     One of my papers as an example in writing scientific papers   
sampleplot.pro IDL procedure to generate plots
hubble.pro Template IDL procedure for this project
galflscale.pro Determine the flux scale factor for plots
spectype.pro IDL/GUI procedure to enter spectrum type
decideopt.pro IDL/GUI procedure used when a Gaussian fit is bad
rdgaldist.pro IDL procedure to read galdist.dat data file
rdgalspec.pro IDL procedure to read the galaxy spectrum files
selectgal.pro Allows user to preselect spectra to be reduced

Distance and Spectrum Data Files

    galdist.txt        Galaxy distances data file    
    ngc224.txt        ngc224 spectrum file
    ngc262.txt     ngc262 spectrum file
    ngc598.txt     ngc598 spectrum file
    ngc1023.txt     ngc1023 spectrum file
    ngc1068.txt     ngc1068 spectrum file
    ngc1569.txt     ngc1569 spectrum file
    ngc1614.txt     ngc1614 spectrum file
    ngc1667.txt     ngc1667 spectrum file
    ngc2403.txt        ngc2403 spectrum file
    ngc3031.txt     ngc3031 spectrum file
    ngc3077.txt     ngc3077 spectrum file
    ngc4194.txt     ngc4194 spectrum file
    ngc4853.txt     ngc4853 spectrum file
    ngc4861.txt     ngc4861 spectrum file
    ngc5728.txt     ngc5728 spectrum file
    ngc5860.txt     ngc5860 spectrum file
    ngc5996.txt     ngc5996 spectrum file
    ngc6052.txt     ngc6052 spectrum file
    ngc6090.txt     ngc6090 spectrum file
    ngc6217.txt     ngc6217 spectrum file
    ngc6764.txt     ngc6764 spectrum file
    ngc7250.txt     ngc7250 spectrum file
    ngc7673.txt     ngc7673 spectrum file
    ngc7714.txt     ngc7714 spectrum file
    ugca410.txt     ugca410 spectrum file
    ugc9560.txt     ugc9560 spectrum file
    mrk66.txt     mrk66 spectrum file
    mrk309.txt     mrk309 spectrum file
    mrk357.txt     mrk357 spectrum file
    mrk477.txt     mrk477 spectrum file
    mrk499.txt     mrk499 spectrum file
    mrk542.txt     mrk542 spectrum file
    ic214.txt     ic214 spectrum file
    ic1586.txt     ic1586 spectrum file


Quasi-Static Solar Coronal Loop Modeling Files

The NASA SkyLab mission had a solar telescope on board that took many high-resolution images of the Sun at X-ray wavelengths. One of the most important findings of SkyLab was that the solar corona is composed of numerous magnetic loop-like structures that can last from days to weeks in a relatively static state. As such, these structures have been come to known as quasi-static solar coronal loops (SCL). The following are research papers published and unpublished about the physics of carrying out numerical modeling of solar coronal loops.

  Raymond, et al. (1976)     Radiative Cooling of Low-Density Plasma  
  Rosner, et al. (1978)     Dynamics of the Quiescent Solar Corona  
  Vesecky, et al. (1979)     Numerical Modeling of Quasi-Static Coronal Loops.  
  I. Uniform Energy Input
 
  Aschwanden & Schrijver (2002)     Analytical Approximations to Hydrostatic Solutions  
  and Scaling Laws of Coronal Loops
 
  Luttermoser (1981)     Modeling Quasi-Static Solar Coronal Loops
  with Nonuniform Energy Input
 

The following are useful Fortran 77 files for modeling solar coronal loops. Feel free to make use of any of these for your project.

  rk4.f     Fortran 77 subroutines using the 4th-order Runge-Kutta technique for ODEs.  
  ode.f     Fortran 77 subroutines using the Adams method for ODEs. Note that this  
  file also contains the DE, STEP, and INTRP subroutines.
 
  de.f     Fortran 77 subroutine of Adams method for ODEs.  
  intrp.f     Fortran 77 subroutine called by de.f.  
  step.f     Fortran 77 subroutine called by de.f.  
  machin.f     Fortran 77 program to calculate data for ode.f and de.f.  
  f.f     Sample Fortran 77 subroutine containing the differential equations that  
  ode.f and de.f are asked to solve.
 


Polytrope Modeling of Stellar Interiors Files

This web page contains the links of the various IDL procedure files that students in PHYS-4007/5007 will need to help them carry out their course project. The files here are in standard ASCII (text) format so that when you click on the link, the code will appear in your web browser. Once the code appears on the web browser, highlight all the lines of code, then copy and paste them into an ASCII editor (either Notepad, Emacs, or the IDL GUI editor). Once pasted, save this file as indicated by the PROCEDURE name (e.g., polytrope.pro).

polytrope.pro IDL procedure to model polytropes
printout.pro IDL procedure to generate polytrope output files
rdpolymodel.pro IDL procedure to read polytrope output files
rk4coeff.pro IDL procedure to calculate coefficients for 4th-order Runge-Kutta integration
rk4coeff.pro IDL procedure to carry out a 4th-order Runge-Kutta integration


The remaining suggested projects listed above do not have helpful code files that I have written for student use. Should a student choose one of these project topics, they will have to develope thyat coding from scratch. Good luck with your modeling!


Click here to go back to the Computational Physics home page.


Last modified: September 18, 2015 by D.G. Luttermoser