Here are some of the projects, as proposed by the students (with minor
editing), from past years of 780.20 Computational Physics.
Grad student and undergrad projects are mixed together (the most
sophisticated projects are by grad students working on a thesis
project). A good source of project ideas is the Computational
Physics book by Landau and Paez. Any of the many "Exploration"
problems from that book would be a good project.
- I want to model an acreating binary star system. Mainly its orbit,
not really so much the fact that if one star gets too massive it will explode
as a cataclysmic binary.
- Goal: testing the validity of central limit theorem when using a Gaussian
distribution to approximate a binomial distribution.
1. Generate random number data sets with binomial distribution. (GSL) Do
it with several different n*p values close to 5.
2. Plot each data set. Compare it with the corresponding N( n*p,
n*p*(1-p) ) curve.
3. Calculate SSE (sum of squares of error) for each data set.
4. Plot the SSE vs. n*p.
- The first program will generate a Sierpinski gasket.
The second program, and more to the point of the project, will use the box
counting method to find the dimension of an any 2d fractal with only one
fractal dimension associated with it.
I was thinking about a program where a user
could enter a redshift and some parameters to find the age of the universe
at that redshift.
I want to do
something involving half-lives of atoms. I am not fully sure what I want to
do with it, maybe simulate multiple atoms and plot how long each atom took
to decay, and plot what percentage of the matter was lost in each subsequent
My project will be on special relativity.
I am planning on have a program composed of a couple of smaller programs. 2
such 'small' programs will be time dilation and length contraction. A larger
3rd program; given 2 objects passing each other, and information objects,
get the information about the system. i.e. how fast the first object
observes the second, how long they are passing each other, etc.
For my project I will be writing a code that will solve RLC circuits using
differential equations. If time permits, I will try to include a section
that creates new circuits based on inputs from the user.
I am writing a program to analyze data that I get in my research. It will
be entirely or mostly in Igor. I basically have 600 + spectra with 100 +
lines and will be doing a non-linear fit to four parameters.
- Landau and Paez 4.8 "Trajectory of a Thrown Baton (Problem)".
We wish to describe the trajectory of a baton that spins as it travels
air. On the left in Figure 4.6 the baton is shown as as two identical
by a massless bar. Each sphere has mass m and radius r, with the centers of
spheres separated by a distance L. The baton is thrown with the initial
(Figure 4.6 center) corresponding to a rotation about the center of the
Problem: Write an OOP program that computes the position and velocity of the
baton as a function of time. The program should
- plot the position of each end of the baton as a function of time;
- plot the translational kinetic energy, the rotational kinetic energy, and
potential energy of the baton, all as functions of time;
- use several classes as building blocks so that you may change one
block without affecting the rest of the program;
- (optional) then be extended to solve for the motion of a baton with an
additional lead weight at its center.
I plan to simulate the locking of several modes of an oscilator to a well
defined phase relationship. This concept is exploited in the generation of
ultra short coherent light pulses.
- I would like to make a simple code to model a shock wave propagating
through the interstellar medium. This is mainly going to be a hydrodynamic
model that outputs the temperature and density in space.
I plan to transfer
some Fortran code over to C++. The code finds the best fit values for
omega_matter and omega_lamda (dark energy) given the current ideas for
cosmology. This involves various functions such as finding the luminosity
I would like write a program that will simulate a protein such as RNA
polymerase searching a strand of DNA. Polymerase searches by sliding
on DNA strand (1-D random walk) and sometimes by breaking away from
DNA and reattaching elsewhere (2-D or 3-D random walk). I would like
to find the "time" it takes to find it's final binding site.
I plan to do a project
I found in the Paul Harrison's "Computational Methods..." book in
class, having to do with multiple-stage launch vehicles. It is project 4.2
in that particular book: Show how the model for the trajectory of rockets
can be extended to include multiple-stage rockets. This will also include
using Newton's inverse square law for the gravity calculation.
I am planning on doing my final project on the
movement of particles with an interacting Lennard-Jones Potential.
I would like to implement a Markov Chain Monte Carlo integrator, possibly
parallelized or distributed, for my project.
- I am planning on solving a set of coupled differential equations
for a system of harmonic oscillators.
My goal is to simulate the two-dimensional Ising model with next-nearest
- My primary goal is to map out the different wave
functions for different potentials and show that for fairly deep wells
they all look very similar down to V0= -inf (like a decaying
exponential). I then want to do a little computer speculating on how
these procedures break down and stop giving good approximations as the
radius of the well gets really small. Also to compare the approximated
ground state energy to the binding energy as Rwell shrinks. Then show
this fact on a graph, for a fixed 'b', around what radius this procedure
- Study ring torsion angles in the polymer Polyaniline using a
- Proton - heavy ion scattering based on the Glauber model.
- Solving the 9 coupled integral equations that are the generalized
version of the bosonic STM equation.
- I plan to write a program (most likely for
MATLAB) that would calculate the pulse broadening, dispersion effects, etc.
resulting from sending an ultra-short laser pulse through a some optical
device (for example, propagating through a block of some optical glass, a
prism pair or grating pair).
using the Fermi space telescope to detect gamma rays produced by dark matter
annihilations. Since little is known about dark matter, there are many
models out there describing its mass and other important characteristics.
To test our fitting procedures, we perform several "pseudo-experiments"
where we fit monte carlo data several times to get statistics on how our fit
has biased the parameter we were trying to extract.
So for my project, I was thinking about taking our existing fitting code and
modifying it to look at how well we can extract a specific variable we are
interested in right now. Also, I'll be generating some monte carlo data
using new models.
- Simulating the behavior of a laser gain medium in a
- For my project I will try to use a Monte Carlo simulation
to calculate the Helmholtz free energy of the Lennard-Jones fluid.
- Implementation of the 3D Ising model on a simple cubic lattice.
- To find the pressure distribution numerically in a one-dimesional
flow field using the Sisko viscosity model (includes power law and upper
Newtonian regions). The flow advances by
displacing a polymeric substrate (described by PVT data).
- I would like to work with fractals. Two that caught my eye in
particular are Barnsley's Fern (which is mentioned in Landau and Paez),
and Pythagoras' Tree. The first is easier to realize computationally
and programmatically, as it is definied as a collection of points, but
Pythagoras' Tree consists of successive rounds of squares and
- The purpose of this project is to analyze some simple
perturbations of the Earth's orbit due to the gravitational presence of
another planet in the system, building on the differential equation
routines from class.
- Compare the GSL VEGAS monte carlo integration routine to calculate
a number of 4 dimensional integrals for a thesis project with the
DVegas routine. I would like to do a side-by-side comparison and see
if the DVegas routine provides any improvement in time required to do
the integral as well as the number of function calls necessary to
provide a given accuracy.
- Study the expectation value
of the distance of two points picked at random in an n-dimensional box.
- Write a code to produce and analyze the Sierpinski gasket, as described in
Landau and Paez.
- The project is to try and simulate what we do in our lab. That
is, we interact atoms in a gas state with high intensity laser fields
and then study the electron specta. I want to start simple by
assuming a semi-realistic potential with a constant electric field
term. I will need to find a practical means to solve the
and then extract the info that I want. This will be an on-going
project for me. Ultimately, I want to make it as near and exact
recreation to our experiments as possible. Including the fact that
the E field is not constant, but rather ultra-short pulsed.
- I will be working on Monte Carlo Integration techniques for my
project. This is mainly for me to get used to Monte Carlo integrations
and will help me with my research work. My plan is to look at 2 or 3
different techniques of Monte Carlo integration selecting possibly an
integral that I will have to do for research. I will use the different
techniques and check the relative error between the two. I may also do
several integrals with different features such as singualarities to see
which one works best for speed and accuracy for different types of
- My project is to monitor some chemical reactions in a cell. There
are seven reactions and we know the rates of concentration change which
depend on concentrations of all components. I applied Euler, RK2 and
RK4 differential equation routines to check the time evolution of some
reactant R. The strange part is that in Euler method, the concentration
decreases, but in RK4, it increases.
- Calculate the scattering of Cs atoms deflected by a gold atom
- Compute the evolution of the KdeV soliton, as described in Sect.
28.6 of Landau and Paez.
- To write a program to fit scintillation detector 'data' from neutron
capture. Create simulated noisy data a using GSL routine for a
randomized Gaussian distribution and use fitting routines.
- To get the energy structure of some small molecule or simple
polymer chain, such as -(CH0-(CH)-(CH)- polymer. First, I need to make
a Hamiltonian for the chain. And we can make use of Bloch's theorm for
the polymer, because it is repeated monomer chain. Moreover, we have
only two kinds of atoms, Carbon, and Hydrogen. (Still, not easy
problem). We can use the wavefunctions of Carbon and Hydrogen. To check
the error, I will increase the dimension of Hilbert space and observe
and compare the result.
- Write a code to find eigenvalues and
eigenvectors for an n dimensional symmetric matrix that arises in a physics
education study. Uncertainties will be studied by adding random noise
to matrix elements.
- I am going to implement the 2-D solitons, as described in the
- Write a program in C that will solve a set of coupled differential
equations using the constant step size fourth order Runge-Kutta method.
Attempt to make the code more efficient then the current fortran 77
code that I have been using to do the same thing.
- Motion of a wave packet in arbitrary one dimensional potential.
Allow the user specify the initial wave packet (not only
Gaussian) and the potential.
- I'm going to complete the c code for computing the correlation function
for the harmonic oscillator problem. I'll test it by computing the ground
state wave function for the h.o. I'll also do a brief analysis of how
things change with scaling of the action (ie, accepting about 50% of the
paths tested), with mass, and with the coefficient in front of the
potential term (omega).
- As my project for the 780 course, I would like to modify a program
that I have written for my research, which is a Langevin dynamics
simulation code. My goals are to split the one file into several files,
use structures (or classes) to pass arguments to functions, and
use make files to run the program.
- The project is to write a code to carry out density functional
theory for a system of fermions with short-range interactions in an
external confining potential, as described by Furnstahl and Puglia.
The code will diagonalize the Kohn-Sham Hamiltonian in a harmonic
oscillator basis and solve for the Kohn-Sham potential
- Write a code to implement the renormalization group differential
equation applied to 1S0 nucleon-nucleon scattering.
- Simulate a gaussian wave packet traveling through a slit.
- I am working on RNA folding problem, where I need to do a complex contour
integration to calculate the partition function. I have already done this
in mathematica. But this is very badly written code. I would
like to improve on that, with some nice user interface.
I would like to do a project that ties in to my research. There are several
possible differential equations that describe behavior in arrays of
Josephson Junctions (depending on material parameters, bias methods, bias
regimes, etc.). I want to describe the solutions to some of these,
numerically. Specifically, I want to obtain plots of time-averaged voltage
across the junctions as a function of bias parameters and/or external
fields. I would like to write simple routines myself to solve the
differential equations (Euler for first order, etc.), and compare those
results to those obtained by using the gsl routines. I will probably use
those from the gsl routines, but I thought it might be instrumental to
convince myself that writing everything from scratch is not the best way to
go (though instrumental in the beginning). I may want to fit the final data
Gait analysis allows biomechanists to analyse how people walk and move.
Gait data takes the form of several positions of markers in 3 space and
ground reaction forces on the floor. These positions are in a global
coordinate system with respect to the room that the data was taken in. The
data needs to be transformed into a anatomical coordinate system so that the
positions of the markers translate to positions of body parts with respect
to one another. Then this data can be analyzed in 3 space using inverse
dynamics equations to find angles of flexion in joints. I planned to write
a program in C++ to input an excell file full of gait data and do this
analysis. I planned on plotting knee and hip flexion over one gait cycle.
As far as my project goes I was thinking about extending a project I worked
on in the computational course at NYU I took. For this project I
investigated euler's eqns for governing hydrodynamic flow in 1d for things
like the shock tube. I was thinking about extending this into higher
dimensions and exploring other initial conditions.
Your comments and
suggestions are appreciated.
[Math and Physical Sciences]
[Ohio State University]
OSU Physics: Physics 780.20 Computational Physics Projects.
Last modified: 09:45 am, December 22, 2011.