On Sat, 18 Feb 2006, Timo Mechler wrote:
> Hello all,
>> Over the past couple years I have done research one Beowulf clusters and
> also implemented the first one at my school. Now that I'm getting closer
> to graduating, I'm looking of turning all this work into a senior project.
> The only part that's missing though, is a good physics problem that I
> could code up a numerical solution for and run in parallel. I have done
> some of this, but it's mostly been simple stuff, such as a simple
> numerical integration via the Monte Carlo method in parallel. I know some
> of you on this list are professors and professionals that have extensive
> physics knowledge. What sorts of physics problems would you suggest I
> might be able to code up that would take a some time run on a Beowulf
> cluster? I'm going to be using Fortran 77 with MPI libraries as my base
> for coding. Thanks in advance for your help on this, I appreciate it.
Dear Timo,
There are lots of them. The difficulty will be picking one that matches
your level of understanding of physics, isn't too difficult to code, has
some books that help you understand how to code it, and that can be
parallelized one or two different ways.
I'm going to suggest that you study the paramagnetic/ferromagnetic phase
transition in the 2D Ising model, as this has been successfully done on
a couple of occassions by undergraduates under my direction as extra
credit projects and it isn't TOO difficult as programming goes. If you
enter the following:
http://www.amazon.com/gp/search/ref=nb_ss_gw/002-8987094-9145634?url=search-alias%3Daps&field-keywords=binder+monte+carlo&Go.x=0&Go.y=0&Go=Go
(search on "binder monte carlo" on amazon) you'll get "A Guide to Monte
Carlo Simulations in Statistical Physics" (Landau and Binder) as the
first hit, and "Monte Carlo Simulation in Statistical Physics" (Binder
and Heermann) as the second. I haven't looked at the first one, but I
know David Landau and don't doubt that it is excellent. The second one
was one of my research "bibles" for many years and I strongly recommend
it. In particular it contains "pseudocode" for doing the Ising model in
2D that can fairly easily be translated into C or fortran as you wish.
It also contains graphs of the explicit RESULTS of the computation at
certain scales to which you can compare results as you get them.
Your goal would be to do a computation that let you graph out the
equation of state for the system at various (large) lattice sizes, and
if you are really inspired try to do the finite size scaling computation
at the critical temperature of the system to extract what are called the
"critical exponents" of the model. These are known analytically for the
2D ising model in particular, letting you effectively check your work.
If you are inspired beyond measure you can then try to do the 3d Ising
model (which is NOT known analytically but which has been studied
extensively via simulations of this sort) and try your luck at matching
published results.
With luck you can check these books out at a local library, but they
aren't horribly expensive. Don't be intimidated by the descriptions of
the underlying physics and all the equations -- those are things >>I<<
need to understand to do this, but you don't really need to understand
them in detail to code up the computation. Nor do you need to
understand quantum theory per se, or how to solve coupled ODEs in
parallel, or any of LOTS of advanced physics as you might in order to do
many physics problems. Indeed, the ising model is a nice leg up into
understanding statistical systems, importance sampling, and sure,
critical phenomena in general WITHOUT requiring that you finish an
undergrad degree in physics to get started:-).
I'd be happy to help out from time to time with guidance or advice.
Fortran is far from my favorite language to code in but I do speak
fortran well enough to get by and probably help out if you get stuck.
I'm similarly decent at PVM and not so good at MPI, but I've got
list-friends that can probably help us with the MPI if you and I
together can't figure it out (they'd BETTER be able to, given that they
write columns and papers and all sorts of things on list teaching people
how to use MPI and even work on MPI development projects directly:-).
Sound OK? If this problem doesn't suit, I can come up with another, but
many of the others we could think of that are "worth" parallelizing are
going to involve either solving LOTS of ODEs in a classical system or
your learning quantum theory in a nonclassical system. Oooo, ouch!
rgb
>> Best Regards,
>> -Timo Mechler
>>>
--
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb at phy.duke.edu