Cassandra is an open source Monte Carlo package developed in the Maginn group at the University of Notre Dame. It is released under the GNU General Public License.

You may download the latest version of Cassandra by going to

New features include:

  • Damped shifted force method for computing long-range electrostatic energies
  • Fixed errors in gfortran-compiled Cassandra
  • attempting volume change moves with Ewald summation
  • generating ring fragment libraries
  • Added tail corrections for Mie potential
  • Standardized format of input and output files, including:
    • Each word of a section header begins with an initial capital, e.g. # Run_Name
    • Keywords and arguments are all lowercase, e.g. cubic, units steps, coul ewald
    • MoSDeF support and conda build capabilities via MoSDeF-Cassandra 



Cassandra is capable of simulating any number of molecules composed of rings, chains, or both.  We have used it to simulate small organic molecules, oligomers, and ionic liquids. It handles a standard “Class I”-type force field having fixed bond lengths, harmonic or fixed bond angles and improper angles, a CHARMM or OPLS-style dihedral potential, a Lennard-Jones 12-6 or general Mie-type potential and fixed partial charges. Cassandra can simulate the following ensembles: canonical (NVT), isothermal-isobaric (NPT), grand (muVT), osmotic (muPT), and Gibbs (NVT and NPT versions). Cassandra is parallelized with openMP, and therefore runs efficiently on multi-core machines. Cassandra uses OpenMP parallelization and comes with a number of scripts, utilities and examples to help with simulation setup.

Cassandra is described in detail in this publication:

Jindal K. Shah, Eliseo Marin-Rimoldi, Ryan Gotchy Mullen, Brian P. Keene, Sandip Khan, Andrew S. Paluch, Neeraj Rai, Lucienne L. Romanielo, Thomas W. Rosch Brian Yoo, and Edward J. Maginn, “Cassandra: An Open Source Monte Carlo Package for Molecular Simulation”, Journal of Computational Chemistry, 2017, 38, 1727-1739.

Some of the advanced sampling features have been described in a recent publication:

A general and efficient Monte Carlo method for sampling intramolecular degrees of freedom of branched and cyclic molecules, J. Shah and E. J. Maginn, J. Chem. Phys., 135, 134121 (2011)

Cassandra was modified and then used by Neeraj Rai to carry out the first VLE simulations of an ionic liquid. Read more about it in these publications:


Neeraj Rai and Edward J. Maginn, “Critical Behaviour and Vapour-Liquid Coexistence of 1-alkyl-3-methylimidazolium bis(trifluoromethylsulfonyl)amide Ionic Liquids Via Monte Carlo Simulations”, Faraday Discussions2012, 154, 53-69.

Neeraj Rai and Edward J. Maginn, “Vapor-Liquid Coexistence and Critical Behavior of Ionic Liquids via Molecular Simulations”, Journal of Physical Chemistry Letters2011, 2, 1439-1443.



Cassandra is now available for download under the GPL license. To register and download the code, go to

You may also download the latest version of Cassandra by going to

Workshop, June 6-10, 2016

A special hands-on workshop on Monte Carlo basics and how to use Cassandra was held on the Notre Dame campus June 6-10. A complete set of materials is available for download on the Cassandra website.

Where did Cassandra come from?

Cassandra evolved out of an academic code developed by Ed Maginn while he was a graduate student in the early 1990s. The code has been extended and refined in the Maginn group at Notre Dame since 1995. In 2007 while on sabbatical at the Computer Science Research Institute at Sandia National Laboratories, Ed was inspired by the success of the MD code LAMMPS (developed at Sandia) to re-write this code to make it a general-purpose Monte Carlo code. Thanks go out to Steve Plimpton of Sandia for hosting Ed! Prof. Jindal Shah took the lead role in the development of the code, and Cassandra was born. It is now maintained and extended at Notre Dame by a team of postdocs and graduate students, with significant contributions coming from Neraaj Rai, Eliseo Marin, Jindal Shah, and Ryan Mullen.

Where did the name Cassandra come from?

In Greek mythology, Cassandra was the beautiful daughter of King and Queen Hecuba of Troy. As the story goes, Cassandra fell asleep in Apollo’s temple and, this being Greek mythology, Apollo made advances toward her. She resisted, and so as punishment Apollo gave her the power of accurate prophecy, but also cursed her so that nobody believed her predictions.  Cassandra was then left with the knowledge of future events, but she could not convince others that her predictions would come true. When a strange horse appeared in Troy, Cassandra warned her father that the Greeks would use the horse to take control of Troy. Of course, he didn’t believe her, and the rest is history.  After the fall of Troy, Cassandra was abducted by Agamemnon and taken to Mycenae on Crete,  where she was eventually killed by Clytemnestra. Of course, she knew all this would happen. We think Cassandra also has great predictive powers, but we hope you will take its predictions more seriously than those ancient Trojans. We really wanted to use this name for our code, so we made up the proper acronym: Cassandra stands for Computational Atomistic Simulation Software At Notre Dame for Research Advances. How about that?


We gratefully acknowledge funding from the National Science Foundation for helping support the development and maintenance of Cassandra. Funding was provided by  “SI2-SSE: Development of Cassandra, A General, Efficient and Parallel Monte Carlo Multiscale Modeling Software Platform for Materials Research”. Support comes from the Division of Advanced CyberInfrastructure (ACI),  Award Abstract #1339785 . Development of MoSDeF Cassandra was supported by “Collaborative Research: NSCI Framework: Software for Building a Community-Based Molecular Modeling Capability Around the Molecular Simulation Design Framework (MoSDeF)”, NSF Award number OAC-1835630.

The Cassandra Development Team

Edward Maginn, University of Notre Dame
Eliseo Marin-Rimoldi, Virginia Tech
Jindal Shah, Oklahoma State University
Ryan Mullen, Lawrence Livermore National Lab
Ryan DeFever, University of Notre Dame