All Projects → MaginnGroup → Cassandra

MaginnGroup / Cassandra

Licence: GPL-3.0 license
Cassandra is a Monte Carlo package to conduct atomistic simulations.

Programming Languages

fortran
972 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Cassandra

AdaptivePELE
AdaptivePELE is a Python package aimed at enhancing the sampling of molecular simulations
Stars: ✭ 14 (-46.15%)
Mutual labels:  molecular-simulation, monte-carlo-simulation
PyBILT
Toolkit to aid in the analysis of lipid bilayer molecular simulation trajectories.
Stars: ✭ 17 (-34.62%)
Mutual labels:  molecular-simulation
CRPropa3
CRPropa is a public astrophysical simulation framework for propagating extraterrestrial ultra-high energy particles. https://crpropa.github.io/CRPropa3/
Stars: ✭ 44 (+69.23%)
Mutual labels:  monte-carlo-simulation
FogTorchPI
A probabilistic prototype for deployment of Fog applications.
Stars: ✭ 19 (-26.92%)
Mutual labels:  monte-carlo-simulation
UQpy
UQpy (Uncertainty Quantification with python) is a general purpose Python toolbox for modeling uncertainty in physical and mathematical systems.
Stars: ✭ 117 (+350%)
Mutual labels:  monte-carlo-simulation
sqaod
Solvers/annealers for simulated quantum annealing on CPU and CUDA(NVIDIA GPU).
Stars: ✭ 66 (+153.85%)
Mutual labels:  monte-carlo-simulation
w2dynamics
A continuous-time hybridization-expansion Monte Carlo code for calculating n-particle Green's functions of the Anderson impurity model and within dynamical mean-field theory.
Stars: ✭ 41 (+57.69%)
Mutual labels:  monte-carlo-simulation
foyer
A package for atom-typing as well as applying and disseminating forcefields
Stars: ✭ 78 (+200%)
Mutual labels:  molecular-simulation
mbuild
A hierarchical, component based molecule builder
Stars: ✭ 119 (+357.69%)
Mutual labels:  molecular-simulation
xmimsim
Monte Carlo simulation of energy-dispersive X-ray fluorescence spectrometers
Stars: ✭ 29 (+11.54%)
Mutual labels:  monte-carlo-simulation
hoomd-examples
HOOMD-blue example scripts.
Stars: ✭ 15 (-42.31%)
Mutual labels:  monte-carlo-simulation
LifeBrush
A toolkit for painting agent-based mesoscale molecular simulations and illustrations.
Stars: ✭ 38 (+46.15%)
Mutual labels:  molecular-simulation
ncrystal
NCrystal : a library for thermal neutron transport in crystals and other materials
Stars: ✭ 27 (+3.85%)
Mutual labels:  monte-carlo-simulation
Credit
An example project that predicts risk of credit card default using a Logistic Regression classifier and a 30,000 sample dataset.
Stars: ✭ 18 (-30.77%)
Mutual labels:  monte-carlo-simulation
physical validation
Physical validation of molecular simulations
Stars: ✭ 37 (+42.31%)
Mutual labels:  molecular-simulation
Algorithmic-Trading
I have been deeply interested in algorithmic trading and systematic trading algorithms. This Repository contains the code of what I have learnt on the way. It starts form some basic simple statistics and will lead up to complex machine learning algorithms.
Stars: ✭ 47 (+80.77%)
Mutual labels:  monte-carlo-simulation
mathematics-statistics-for-data-science
Mathematical & Statistical topics to perform statistical analysis and tests; Linear Regression, Probability Theory, Monte Carlo Simulation, Statistical Sampling, Bootstrapping, Dimensionality reduction techniques (PCA, FA, CCA), Imputation techniques, Statistical Tests (Kolmogorov Smirnov), Robust Estimators (FastMCD) and more in Python and R.
Stars: ✭ 56 (+115.38%)
Mutual labels:  monte-carlo-simulation
antaresViz
ANTARES Visualizations
Stars: ✭ 19 (-26.92%)
Mutual labels:  monte-carlo-simulation
nequip
NequIP is a code for building E(3)-equivariant interatomic potentials
Stars: ✭ 312 (+1100%)
Mutual labels:  atomistic-simulations
FlowViz
A Power BI template that provides easy to understand, actionable flow metrics and predictive analytics for your agile teams using Azure DevOps, Azure DevOps Server and/or TFS.
Stars: ✭ 150 (+476.92%)
Mutual labels:  monte-carlo-simulation

License: GPL v3 Build Status PRs Welcome Chat on Slack Documentation Status

Contents

  1. Overview
  2. Features
  3. Installation
  4. Getting Started
  5. Documentation
  6. Forum
  7. Contribute
  8. Citation

Overview

Cassandra is an open source Monte Carlo package developed in the Maginn group at the University of Notre Dame to perform atomistic simulations of molecules composed of rings, chains, or both. Cassandra is suited to compute the thermodynamic properties of fluids and phase equilibria. It handles a standard "Class I"-type force field having fixed bond lengths. Cassandra uses OpenMP parallelization and comes with a number of scripts, utilities and examples to help with simulation setup. It is released under the GNU General Public License.

A Python interface to Cassandra is under development as well. Further details are available here.

Features

The following features are supported in version 1.2:

  1. Ensembles

    • Canonical
    • Isothermal-Isobaric
    • Grand-canonical
    • Constant volume Gibbs
    • Constant pressure Gibbs
  2. Moves

    • Translation
    • Rotation
    • Box volume
    • Molecule regrowth
    • Molecule insertion
    • Molecule deletion
    • Molecule swap
    • Dihedral change
    • Angle change
    • Atom displacement
    • Ring flip
  3. Potentials

    • LJ and Mie
    • Fixed bond lengths
    • Harmonic and fixed angles
    • OPLS, CHARMM and harmonic proper dihedrals
    • Harmonic improper dihedrals
    • Point partial charges
  4. Other

    • Cut-off schemes: cut, cut and shift, cut and switch, standard long-tail correction
    • Electorstatics: Ewald or damped shifted force methods

Installation

We offer the option to install from source or through conda-forge. The simplest way to get Cassandra is through conda-forge.

Installation with conda

If you already have conda installed, you can install Cassandra into a new conda environment with the following command:

> conda create --name cassandra -c conda-forge cassandra

Once you activate the environment, Cassandra should be accesible on your PATH. You can test with the following:

> conda activate cassandra
> which cassandra.exe
> which library_setup.py
> which mcfgen.py

If the installation was successful, you should see the location of each of those files. The conda-forge installation uses gfortran with OPENMP parallelization. The number of parallel threads can be controlled by setting the OMP_NUM_THREADS environment variable. For example, in bash:

export OMP_NUM_THREADS=4

Cassandra parallelizes reasonably up to 8-12 threads.

Installation from source

The source code tarball for the latest release is available through our releases page. Alternatively, you can clone the GitHub repository to get the bleeding edge version:

> git clone
https://github.com/MaginnGroup/Cassandra.git

In either case, the /Src/ directory contains the Makefiles that you can use to compile the code. Makefiles contain the compilation options and set of directives used to automate the build. At present, Makefiles for the Intel Fortran Compiler, gfortran and Portland group compiler (PGI) are included in the distribution.

To compile Cassandra, first remove any object files using the 'clean' command

> make clean

The following table provides examples of the commands you need to use to compile the source code as provided:

Build type Intel Compiler GNU Fortran
Debug make -f Makefile make -f Makefile.gfortran
OpenMP make -f Makefile.intel.openMP make -f Makefile.gfortran.openMP

Each of these commands will produce an executable with the name specified in the field EXEC NAME in the relevant Makefile.

You can take these Makefiles as templates creating your own customized Makefile. Depending on the architecture of the machine you are using, you will need to change compilation options and flags. Note that to change compiler options appropriate for your environment, the F90FLAGS line in the Makefiles can be edited. You can also modify the optimization options to improve the speed of the code or operate in debug mode.

Before running the openMP enabled executable, the environment variable OMP_NUM_THREADS will have to be set to the number of threads you want to run the simulation on. For example, for 12-thread simulation, the following command is used in tcsh:

> setenv OMP_NUM_THREADS 12

or alternatively in bash:

> export OMP_NUM_THREADS=12

Getting Started

/Examples. This directory contains examples of short Cassandra simulations in NVT, NPT, grand canonical and Gibbs ensembles for a number of systems molecules with varying degrees of conformational complexity (LJ particles, branch points, ring moieties) and those requiring computation of electrostatic interactions are included.

/Documentation. Chapter 3 of the documentation provides an overview of the files and workflow to setup a Cassandra simulation. Additionally, the workshop materials contain more examples and slides that have been used for teaching.

Contributing

Depending on whether you are a user or a developer, you can contribute to Cassandra in the following ways:

  1. User

    • Ask usage questions and participating in discussions using the forum.
    • Request new features using the forum.
    • Reporting bugs using GitHub issues (preferred) or forum.
  2. Developer

    • Contribute code or documentation using GitHub pull request workflow. See a primer on Cassandra Software Development on GitHub. See CONTRIBUTING for more details on the contributing process.
    • Ask development questions (i.e. you are trying to fix a bug or contribute with a new feature) using Slack.

Citation

J. K. Shah, E. Marin‐Rimoldi, R. G. Mullen, B. P. Keene, S. Khan, A. S. Paluch, N. Rai, L. L. Romanielo, T. W. Rosch, B. Yoo, E. J. Maginn. J. Comput. Chem. 2017, 38, 1727–1739. DOI: 10.1002/jcc.24807

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].