Mocassin
MOCASSIN („Monte Carlo for Solid State Ionics“) ist eine Software zur Modellierung, Visualisierung und Simulation von Defektverhalten in kristallinen Festkörpern unter Verwendung von Markov-Ketten Monte Carlo wie Metropolis Monte Carlo und Kinetik Monte Carlo.
Basis für die Simulationen bilden Gitter mit festen kristallographischen Positionen. Hierbei werden Platz- und Migrationsenergien über Paar- und Mehratomwechselwirkungen abhängig von den individuellen Besetzungen der jeweiligen Umgebungen modelliert.
Die Analyse der Simulationsergebnisse bietet Zugang sowohl zu makroskopischen Materialeigenschaften, wie ionische Leitfähigkeiten, Diffusionskoeffizienten oder Aktivierungsenergien, als auch zu individuellem Verhalten der Ionen, z.B. Verteilung der Migrationsenergien oder Identifizierung von immobilisierten Ionen.
Was sind Features von MOCASSIN?
MOCASSIN unterstützt Metropolis (MMC) und Kinetik Monte Carlo (KMC) um Defektverteilungen und Ionentransport in translationsinvarianten Festkörpern zu simulieren. Dabei sichert das Modellierungssystem standardmäßig die Konsistenz von MMC und KMC, um den Nutzer vor dem versehentlichen Einbringen „unsichtbarer“ Kräfte in KMC Simulationen schützen.
MOCASSIN automatisiert viele zeitintensive Aufgaben im Zusammenhang mit Monte Carlo Simulationen in kristallinen Festkörpern. Das Modellierungssystem verwendet die Raumgruppensymmetrie um Parametrisierungen für Simulationen beliebiger Gitter zu erzeugen.
MOCASSIN stellt dem Nutzer eine High-Level Schnittstelle zum Modellieren auf Basis des bekannten fraktionierten Koordinatenraums des Kristalls zur Verfügung. Dies ermöglicht die einfache Definition von z.B. multiplen mobilen Spezies, multiplen komplexen Mechanismen, Polaronenbewegung („Small polaron hopping“) und Mehratomwechselwirkungen („Cluster“),
MOCASSIN kapselt und automatisiert letztlich die Konvertierung des anschaulichen Nutzermodells in eine einheitliche Low-Level Datenstruktur zur optimierten Verarbeitung mit Supercomputer-Clustern.
Welche Eingabedaten werden benötigt?
Die Eingabe in MOCASSIN erfordert grundsätzlich symmetriereduzierte Referenzdaten. Dazu gehören kristallographische Informationen, wie Raumgruppe, Gitterparameter, Besetzungsmöglichkeiten und Wyckoff-Positionen. Für die KMC sind zusätzlich Übergangspositionen, Migrationspfade und Mechanismus erforderlich. Migrations- und Platzenergien können als Paar- oder Mehratomwechselwirkungen aus externen Rechnungen (z.B. Dichtefunktionaltheorie) bezogen und in MOCASSIN eingegeben werden.
Wie erhalte ich eine Kopie von MOCASSIN?
MOCASSIN wird von Sebastian Eisele in der Gruppe von Dr. Steffen Grieshammer (FZ Juelich, IEK-12, Helmholtz Institute Muenster HIMS), in Zusammenarbeit mit dem Institute für Physikalische Chemie, RWTH Aachen University, entwickelt und derzeit nur auf Anfrage zur Verfügung gestellt.
Falls sie Interesse an der Nutzung von MOCASSIN haben, kontaktieren Sie bitte Sebastian Eisele oder Dr. Steffen Grieshammer.
Welche Komponenten sind enthalten?
Das Programm besteht aus mehreren Bibliotheken und Unterprogrammen, klar strukturiert nach Performance relevanten Komponenten für Simulation (C) und sicheren Modellverarbeitungssysteme (C#). Die wichtigsten Komponenten sind:
- 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)
Was sind die Systemanforderungen?
Die Grafische Oberfläche benötigt Windows 8, 10 (64bit) mit .NET Framework 4.0 Runtime und DirectX 9.0. Ein Quad-Core (oder Dual-Core mit HT/SMT) mit iGPU und 4GB Arbeitsspeicher sind empfohlen, das Programm wird aber auch auf schwächeren Systemen laufen. Der Simulator ist eine Single-Core Applikation und erfordert ein x86_64 Linux/Windows System mit SSE2 Instruktionen.
Was ist der derzeitige Entwicklungsstand?
Derzeit befindet sich die Software in einem späten Beta-Stadium. Die Kernkomponenten sind voll funktionsfähig und können bereits verwendet werden. KMC und MMC Simulationen mit beliebiger Kristallstruktur, multiplen Mechanismen und mobilen Spezies können von dem System verarbeitet werden. zusätzliche Features zur Daten- und Geometrievisualisierung der grafischen Nutzeroberfläche werden derzeit entwickelt.
Ist die grafische Oberfläche notwendig?
Nein, die WPF Applikation ist ein Bau- und Visualisierungssystem für Modelobjektbäume und steuert die Verarbeitungssysteme der .Net Standard 2.0 Model-Building API an. Diese können grundsätzlich auch programmatisch auf allen Systemen angesprochen werden, die die .NET Core 2.0 unterstützen, dazu zählen auch viele Linux-Distributionen. Mehr Informationen gibt es in der Microsoft Dokumentation.
Hierbei muss bedacht werden, dass MOCASSIN eine native 64-bit Applikation für x86_64 Systeme ist und andere Plattformen nicht offiziell unterstützt werden. Insbesondere bringt MOCASSIN keinen eignen Support für Prüfung oder Veränderung der Bytereihenfolge von binären Simulationsdaten.
Danksagungen
MOCASSIN verwendet zahlreiche Open-Source Projekte und der Autor von MOCASSIN bedankt sich für die Arbeit der Verantwortlichen Autoren und Beitragenden:
Sqlite3
ReactiveX Rx.Net
Helix Toolkit
Entity Framework Core
NCalc
Json.Net
Der Autor bedankt sich des Weiteren für das Feedback und Ideen der Beta-Tester, mit speziellem Dank an die folgenden Personen:
- John Arnold, RWTH Aachen (Beitragender)
- Lukas Eisele, Artiso Solutions GmbH Blaustein (C#/WPF Einsichten & Diskussion)