Your Computer Class Project will involve writing 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 Adams method), or the use of Monte Carlo techniques. You are free to use any programming language you like except for Mathematica or Maple. MatLab can be used, but only in the strict programming sense -- you are not allowed to just hand MatLab a differential equation and have it do everything for you. You are allowed to use any math functions the programming language supplies (either internally or in a library) and Runge-Kutta and Adams method subroutines (written in Fortran 77) that I have supplied to you on this web page. 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 also should be done via software you write (in some sort of graphics software like IDL, Origin, or MatLab). Besides writing a 10-15 page manuscript on the results of this work, you also will be required to write a proposal to do this work. 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.
Below is a list of 3 suggested projects. You can access the write-ups for each of these project in the list below. You can do any of these three projects or propose to do one of your own. Those of you taking this course for 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).
| Topic | Area of Physics | Suggested Method of Solution |
| Quasi-Static Solar Coronal Loop Models |
Thermodynamics | Adams method |
| Polytrope Models of Stellar Interiors |
Thermodynamics | Runge-Kutta |
| Coupled Harmonic Oscillators |
Mechanics | Gaussian Elimination |
Your codes can be written in any language in which you feel comfortable. The PCs in Brown Hall 264 have Visual Basic, Visual C/C++, Visual Fortran (which contains both Fortran 77 and Fortran 90), and IDL under the Microsoft XP operating system. Please note that your professor is very skilled in Fortran 77, Fortran 90, and IDL, and has had some experience in programming in Visual Basic and C. Your professor has no experience what-so-ever in C++. As such, if you choose to program in that language, you will not be able to seek advice about your code development from the professor.
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 postscript (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 (you also have the option of either emailing me these items [lutter@rmspametsu.edu -- remove "rmspam" before sending] or giving them to me on a floppy or CD). When writing your proposals and final manuscripts, you must use the LaTeX markup language.
A full description of the project is given in the proj2 files. The ".tex" file contains the LaTeX file of the write-up for this project, which has been compiled into the output ".pdf" (PDF) file. A sample LaTeX file (template.tex) can be downloaded and used as a template for your project's manuscript (the printable output file is stored in the associated PDF files). This LaTeX file requires either the temptex.eps figure file (if compiling in Unix) or the temptex.bmp image file (if compiling with PCTeX in Microsoft Windows) to be downloaded too. The template.pdf file contains the compiled versions 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). Double click on each of the files listed.
Note that the IDL procedure is written under IDL Version 4.0. It has been tested under Version 5.6 (which is on the Linux workstation) and Version 5.2 (which is on the PCs in BH 264) and work fine in these environments. Should you be using any version of IDL earlier than V5.2, you will need to contact me for copies of the "DIALOG" procedures which were added to IDL in Version 5.2. I have V4.0 versions of these functions.
IMPORTANT NOTE: Due to OIT's paranoia about security issues, files ending in either ".f" (standard Fortran 77 files) and ".pro" (IDL procedure and function files) will not show up on a web browser even though those files exist on the web server disk. To counteract this, I have changed the name of all ".f" 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 Fortran program, IDL procedure or function file from this web site to your IDL working directory on your PC, immediately rename it to its ".f" or ".pro" name as shown on web page link. For instance, when you click on "de.f", this will save this file to your IDL working directory as "de.txt". Once on your home machine, rename it to "de.f".
| proj2.tex | proj2.pdf | Project #2 Instruction Packet Write-Up |
| loops.tex | loops.pdf | Solar Coronal Loop Project |
| polytrope.tex | polytrope.pdf | Polytrope Project (not yet available) |
| cho.tex | cho.pdf | Coupled Harmonic Oscillator Project (not yet available) |
| sampleprop.tex | sampleprop.pdf | Sample Project Proposal |
| template.tex | template.pdf | Sample Manuscript LaTeX File |
| temptex.eps | temptex.bmp | Figure (in 2 different formats) for template.tex |
| rcsApJ1976.pdf | 1976 paper on radiative cooling rates for solar coronal loops. |
| rtvApJ1978.pdf | 1978 paper on modeling solar coronal loops. |
| vauApJ1979.pdf | 1979 Reference paper on modeling solar coronal loops. |
| modApJ2002.pdf | 2002 paper on modeling solar coronal loops. |
| apj2000.536.923.pdf | One of my papers (HST observations of Miras). |
| workdir.pro | IDL procedure to select working directory on PCs. |
| sampleplot.pro | IDL procedure to generate plots. |
| ode.f | Fortran 77 subroutines for Runge-Kutta technique. |
| 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 de.f. |