I want to run parallel simulations of colloidal aggregation of initially uniformly distributed monodisperse spherical particles in a periodic 3D cell (preferably using an algebraic or tabulated potential, but without explicit solvent). I am interested in monitoring various properties related to aggregated clusters as a function of simulated time, e.g. cluster size distributions, intra-cluster connectivity, effective volume fraction of clusters, radius of gyration etc. I would like to have the ability to have the simulation run until some criteria, based on these quantities, are fulfilled.
I imagine that there are two basic approaches to this - implement a fix to calculate and dump the desired quantities periodically, or set up a restart-run-analyse loop using, e.g. LAMMPS, a shell script and a self-written program to calculate the desired properties. Getting efficient parallel execution in either of these strategies is, however, problematic. In my experience, the latter strategy does not seem to interact well with some job queueing systems - I have had similarly implemented programs, submitted to dedicated queues for multi-cpu jobs, keel over and die after only the first parallel LAMMPS run. The reason for this has been that the scheduler sees that a single parallel MPI program run has completed, and hence thinks that the entire job is complete.
I would be grateful for any advice, or pointers to prior code developed for such a purpose. I would prefer to avoid reinventing the wheel if at all possible, but am capable of code development myself (and might possibly be able to give some development work to students). I have a particular interest in exploitation of IBM Cell processors and GPUs, so any suggestions along those lines would be especially welcome.
Many thanks, as always, in advance for your collective wisdom!