MOCASSIN (Monte Carlo for Solid State Ionics) is a software for modelling, visualization and simulation of defect behavior in crystalline solids based on Markov-Chain Monte Carlo including Metropolis Monte Carlo and Kinetic Monte Carlo.
Simulations are based on lattices with fixed crystallographic sites. Site energies and migration energies are modelled by the user based on the site occupation of the local environment including pair interactions and multi-body interactions.
Simulation results can be analyzed to obtain macroscopic properties, such as ionic conductivity, diffusion coefficient and activation energy as well as individual atom behavior, such as ion trapping effects or migration energy histograms.
What are the features of MOCASSIN?
MOCASSIN supports Metropolis (MMC) and Kinetic Monte Carlo (KMC) algorithms to simulate defect distribution and transport in crystalline solids. As a default, the software implements a strict KMC to MMC consistency policy, which aims at preventing accidental introduction of „invisible“ forces trough the energy model during KMC simulations.
MOCASSIN takes care of many tedious tasks of doing Monte Carlo in a crystal system. The model builder uses space group symmetry data for the generation of simulation parameterizations for arbitrary crystal structures.
MOCASSIN provides users with a high level interface for advanced modelling in the familiar 3D fractional coordinate space of the crystal, including multiple mobile species, multiple complex mechanisms, small polaron hopping and multi-body interactions.
MOCASSIN fully automates the conversion process of the high-level model into a low-level data structure – well optimized for High Performance Computing (HPC).
What input data do I need?
MOCASSIN takes the crystallographic data such as space group, lattice parameters and atom sites as an input. For KMC simulations the transition state positions and migration paths also have to be provided. The user can model the site energies and migration energies based on pair interactions and cluster energies obtained from e.g. density functional theory calculations.
How can I get a copy of MOCASSIN?
MOCASSIN is developed by Sebastian Eisele in the group of Dr. Steffen Grieshammer (FZ Juelich, IEK-12, Helmholtz Institute Muenster HIMS) in cooperation with the Institute of Physical Chemistry, RWTH Aachen University.
If you are interested in using MOCASSIN please contact Sebastian Eisele or Dr. Steffen Grieshammer.
Which components do I need?
The program consist of multiple components with a strict separation into high-performance simulation code (C) and reliable model building code (C#), the most important components are:
- Model Building API (C#, .NET Standard 2.0)
- Model Building GUI (WPF, .NET Framework 4.7.2)
- Simulation State Reading API (C#, .NET Standard 2.0)
- Simulator binaries (C11)
What are the system requirements?
The Graphical User Interface requires Windows 8, 10 (64bit) with the .NET Framework 4.0 runtime and DirectX 9.0. A quad core processor (or dual core with HT/SMT) with iGPU and 4GB of RAM are recommended. The simulator is a single-core application and requires an x86_64 linux/windows machine with SSE2 instruction support.
What is the development state?
At current, the software is in a late beta state. The majority of the components are fully functional and internal test usage of the software is conducted. Both KMC and MMC simulations with arbitrary structure, multiple mechanisms and mobile species can be fully processed by the tool chain. However, some data and geometry visualization features on the GUI are still missing.
Is the GUI a necessity?
No, the WPF application is a build and visualization tool for a storage friendly version of the model object tree, and targets the build pipelines of the .Net Standard 2.0 compliant Model Builder API. If your Linux distribution supports the .NET Core 2.0 runtime/SDK, you can write your own application to target the model API. For more information visit the Microsoft .NET Core documentation page.
Keep in mind that MOCASSIN is a native 64 bit application developed for x86_64 and other systems will show undefined behavior. Especially, MOCASSIN does not bring support for changing the endianness of generated simulation databases.
MOCASSIN relies on multiple third party open-source projects/assemblies and the author acknowledges the work of the affiliated authors and contributors:
- John Arnold, RWTH Aachen, for his code contributions
- Lukas Eisele, Artiso Solutions GmbH Blaustein, for his C#/WPF insights and discussion time