Parallel Molecular Dynamics Simulation
In Spring 2012 I implemented a 2D parallel molecular dynamics simulation for Georgia Tech’s CSE 6730 Modeling & Simulation with a team listed on the GitHub repo. The simulation contains a serial implementation and two distributed memory decompositions in Fortran 90 and OpenMPI. My contributions to the project also include a rudimentary visualizer in Processing and dataset generator in C99.
By default the project simulates micelle formation by simple hydrophilic and hydrophobic molecules based on the LAMMPS micelle example. Details of the simulation and an analysis of strong- and weak-scaling properties of the serial version and two MPI decompositions are available in the original project report.
The yellow particles represent water-based solution, the green particles hydrophilic lipid heads, and the blue and purple particles hydrophobic lipid tails.
To try it yourself with an MPI-enabled gfortran
:
git clone git@github.com:aschampion/gt-cse6730-pmds.git
cd gt-cse6730-pmds
make all
./pmds in.micelle # Note that this will take some time and produce a ~200MB dump file
With the simulation results in out.dump
, you can now open the Processing visualization in pmds_visualizer/pmds_visualizer.pde
(tested with 2.0b8). Note that the visualizer requires the controlP5 Processing library (tested with 2.0.4), and the paths in pmds_visualizer/visualizer.properties
should resolve to the data.micelle
file in the repository and out.dump
and out.dump.fmt
files you generated above.