-
Notifications
You must be signed in to change notification settings - Fork 7
Home
pymuon-suite
is a suite of command line tools designed to help with doing computational science for muon spectroscopy, specifically when involving positively charged muons. In particular, pymuon-suite
is designed to help answer questions such as:
- what are the optimal stopping sites for a muon in a certain crystalline solid?
- what are the effects of quantum delocalisation on the hyperfine coupling of the muon?
To this end, pymuon-suite
has a number of scripts that will help you automate tasks that would otherwise be very long, difficult and/or error prone to carry out by hand. However it must be stressed that pymuon-suite
is not:
- a quantum chemistry software.
pymuon-suite
does not provide any internal way of computing the energies or forces between atoms; instead, it relies on external tools such as CASTEP or DFTB+ to do that; - a simulation tool for muon spin spectroscopy experiment. If that's what you're looking for, check out muspinsim or Mantid's QUANTUM instead;
- a tool to compute the energy levels or X-ray emissions for negatively charged muons. If that's what you need, check out mudirac instead;
- a Graphical User Interface tool (though one is in development).
In order to get started using pymuon-suite
, you will need a functional installation of Python 3.7+, a working connection to the internet, and either of the tools pip
or conda
to access Python package repositories. Installing Python and pip/conda tends to be more straightforward for Linux and Mac users, but it can easily be done in Windows too in various ways, for example by installing the Anaconda Python distribution, which can be launched with a few clicks. Once in a running Python environment, run the following command:
If using pip:
pip install pymuonsuite
If using conda (skip the first two lines if you have set up the conda-forge
channel before):
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install pymuonsuite
Once that's done, you will have access to all the pymuon-suite
tools from the command line.
If you can't or don't want to use the pip or conda install methods above, you can install pymuon-suite
from source instead. Given a running Python environment:
-
download the
pymuon-suite
source code, either as a ZIP file, choosing one of our Releases if there are any, or directly cloning the repository; -
after the source code is unzipped and accessible in a folder, enter your command line console and navigate to that folder;
-
run the install command
pip install ./
within that folder to install the suite as well as all its missing dependencies.
Once that's done, you will have access to all the pymuon-suite
tools from the command line.
Once the suite is installed, the following tools are available:
-
pm-muairss
: allows to use Ab-Initio Random Structure Searching to find muon stopping sites. This tool will both generate random structures that can be optimised with use of DFT or other quantum chemistry software and analyse the results of these calculations to identify the most likely stopping sites; -
pm-muairss-gen
: a legacy alias forpm-muairss
that will only take care of the generation step, but not the analysis; -
pm-uep-opt
: uses an electronic density output from a DFT calculation to compute an Unperturbed Electrostatic Potential, and given a certain muon starting position, relaxes it to the closest local minimum; -
pm-uep-plot
: uses an electronic density output from a DFT calculation to compute an Unperturbed Electrostatic Potential, and creates line or plane slice plots of it; -
pm-symmetry
: analyses the symmetry of a structure withspglib
and identifies the Wyckoff points, which ones are occupied, and which ones can be ruled out as saddle points of the potential purely by geometric considerations, thus very quickly providing some candidates for muon stopping sites in crystals; -
pm-asephonons
: compute phonons for the given structure using the Atomic Simulation Environment and DFTB+; -
pm-nq
: generates input files for quantum effect evaluation using a phonon approximation or analyses the results (work in progress).
Installing pymuon-suite
also means that its core library gets added to your Python environment; that means that it becomes possible to use import pymuonsuite
in any Python script, and access its internal functions and classes. However, pymuon-suite
is mainly designed as a set of tools, so this documentation is not focused on its inner workings. A Developer's Guide may be written eventually, but for now, the adventurous developer who wants to go into it will have to rely on documentation and navigating the source code! Of course, this software being fully Open Source, any contributions and pull requests from contributors are welcome.
pymuon-suite
is written as part of the Muon Spectroscopy Computational Project, a collaboration between the Scientific Computing Department and the ISIS Muon Group within the Science and Technology Facilities Council. It uses heavily the Atomic Simulation Environment and Soprano libraries. It also contains data extracted from DFTB.org to help running Density Functional Tight Binding calculations.
If you use pymuon-suite
for your research, you should cite all the relevant external software or their papers, and in addition, you should cite:
-
S. Sturniolo, L. Liborio, S. Jackson, Comparison between density functional theory and density functional tight binding approaches for finding the muon stopping site in organic molecular crystals for
pm-muairss
andpm-muairss-gen
-
S. Sturniolo, L. Liborio, Computational prediction of muon stopping sites: A novel take on the unperturbed electrostatic potential method for
pm-uep-opt
,pm-uep-plot
andpm-symmetry