Skip to main content

Command-Line Interface for Materials Simulations

Project description

Table of Contents

[[TOC]]

clims

Command-line interface for materials simulations.

Basically pulls together usefull python packages of the materials simulation community:

  • ASE (Atomic Simulation Environment)
  • spglib (cyrstal symmetry properties)
  • phonopy (phonon properties from finite-differences)
  • Elastic (elastic tensor and equation of state)
  • mace-mp-0 (force field trained on the Materials Project data)

This package is tailored to the needs of FHI-aims.

System requirements

A python 3 installation with a version python>=3.9 is required. To check your python version type:

python --version

In the following instructions on some systems it may be needed to use python3 and pip3.

On a computer with such an installation, the below commands will install a number of other useful community packages for atomistic simulations as prerequisites, most importantly, ASE, spglib, phonopy, as well as several others.

Please also see the troubleshooting notes below in case you encounter a particular, missing prerequisite during the installation process.

How to install

It is best to install clims in a virtual environment. (May not always possible, e.g., on computing clusters.)

Install/Activate virtualenv (optional)

Make sure that virtualenv is installed:

pip3 show virtualenv 

If not installed, install it:

pip3 install --user virtualenv

Go into the root directory of clims. Initialize the virtual environment:

python3 -m venv env

Activate the virtual environment:

source env/bin/activate

You should now see (env) in at the beginning of your command line.

Install clims with pip

Since clims version 0.7.0, we interface clims with mace. You have to decide whether you like to be able to run mace-mp-0 relaxations not. To install clims without the clims-prerelax functional just enter:

pip3 install --user clims

If you want to use the functionality of clims-prerelax using the mace-mp-0 force field, please type the following in addition:

pip3 install --user 'clims[mace]'

If you only want to install the CPU version of mace-mp-0, please use the command below:

pip3 install --user --extra-index-url https://download.pytorch.org/whl/cpu  'clims[mace]'

Install from source

Clone this repository to your local computer:

git clone https://gitlab.com/FHI-aims-club/utilities/clims.git

Install clims (make sure that you are in the root director of clims (where this README is)) with:

pip3 install -e '.[mace]'

If all goes well, you will have a working clims installation after this step. If something does not work (for instance, if a particular installation prerequisite that should be part of python is missing), unfortunately the error messages written by pip can be somewhat cryptic. As an approximate rule, the final line of a python error message often identifies the piece that was missing.

To test your installation you can run:

pytest -vv

Troubleshooting

Installation under CentOS: In order for this installation to work, we noticed that the _ctypes module is required. This only works if the library libffi (including development headers - sometimes called libffi-dev or libffi-devel) is also required and the computer's python version must have been built with support for libffi-dev (or libffi-devel). If support for libffi headers is not present, then someone will unfortunately have to rebuild and reinstall the python >= 3.7 installation on the computer you are using from scratch.

How to configure clims

The most important thing to set is the path to the FHI-aims species defaults:

clims-configure --species-path <your/path/to/FHIaims/species_defaults>

Features

After successful installation the following commands should be available in the terminal:

clims command description
clims-aimsplot Tool for plotting band structure and DOS from FHI-aims.
clims-configure Configure Path to executable and species defaults directory, mpi run command, submission header. Needed e.g. for clims-prepare-run
clims-elastic Generate cell deformations for computing elastic tensor or equation of state.
clims-convert-geometry Convert input files formats and convert atomic coordinates of a periodic structure from Cartesian to real and vice versa.
clims-phonopy Generate supercell structures with displaced atoms (initialize) and read forces after FHI-aims calculation to plot phonon DOS and band structure (postprocess).
clims-prepare-run Create control.in template based on a geometry.in file. If requested, a submission file is provided, too.
clims-prerelax Relax structure with mace-mp-0 force field.
clims-supercell Generate a supercell.
clims-testsuite Create a testsuite of all defined input parameter combinations.
clims-unit-cell-info Get brief overview of input structure, if periodic: generate primitive or conventional unit cell.
clims-wigner-seitz-cluster Constructs a atom-cluster of the shape of the Wigner-Seitz cell.
clims-xyplot Simple X-Y plot of data files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clims-0.7.1.tar.gz (50.1 kB view hashes)

Uploaded Source

Built Distribution

clims-0.7.1-py3-none-any.whl (58.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page