[Beowulf] Physics Problems for Beowulf

Stuart Midgley sdm900 at gmail.com
Tue Feb 21 07:23:02 PST 2006

Molecular dynamics is a good area to look at.  Something like a  
particle in cell (PIC) code is easy to implement and allows you to  
play around with load balancing.  If you want something a fair bit  
harder but extremely educational, try a 2D adaptive mesh code solving  
a fluid flow problem - you'll learn a real lot about MPI and parallel  

I wrote a PIC code to use in MPI courses to demonstrate the effect of  
different load balances and how it effects the time to solve the  
system.  You can find it online at


It is the last example of the course.  Its not a great code, it was  
meant to be simple and easy to modify and to demonstrate load  
balance, but all the ideas are there.


On 21/02/2006, at 21:52, Joe Landman wrote:

> Hi Timo:
> 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.
> A problem I coded up for a class I teach on HPC applications is an  
> ideal gas in a 2D box, with correct (momentum conserving, energy  
> conserving) dynamics.  It was done in C though.  I might suggest  
> something like this.  Then you can measure pressure (number of  
> impacts on perimeter wall per time step), temperature, and volume,  
> and do experiments where you suddenly double the volume, or have  
> one of the wall boundaries start creeping downwards to decrease the  
> volume, or chill the walls, so that upon collisions with the walls  
> the atoms get slower/faster (lose/gain KE to/from the reserviour).
> I did this as an example that I wanted them to add in how to move  
> atoms between processors (no periodic BCs, just "partitions" that  
> atoms can cross.  And if they cross it, you need to move them to  
> the adjacent processor.
> I have done up to about 1 million "atoms" on a 32 way run, and it  
> works pretty nicely.  Somewhat hard to visualize the output, so I  
> had it write stuff out in ".xyz" format, and used VMD to generate a  
> movie.  You can see it (about 100 atoms, tiny interaction radius,  
> and a few thousand steps) here at http:// 
> www.scalableinformatics.com/public/idealgas.mpg .
> Joe

Dr Stuart Midgley
Industry Uptake Program Leader
iVEC, 'The hub of advanced computing in Western Australia'
26 Dick Perry Avenue, Technology Park
Kensington WA 6151

Phone: +61 8 6436 8545
Fax: +61 8 6436 8555
Email: industry at ivec.org
WWW:  http://www.ivec.org

Dr Stuart Midgley
sdm900 at gmail.com

More information about the Beowulf mailing list