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.6.tar.gz (50.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clims-0.7.6-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

Details for the file clims-0.7.6.tar.gz.

File metadata

  • Download URL: clims-0.7.6.tar.gz
  • Upload date:
  • Size: 50.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for clims-0.7.6.tar.gz
Algorithm Hash digest
SHA256 cf652aac68dd26a8ac6c6e5b15e8bb620380b184af9e0198016db0e2515dcfda
MD5 bf02628cd6f9e81ea2ce859d3d120267
BLAKE2b-256 64a5ea802f9a71d5c646bb91adad57633831f68dbd3d4513ae2355e586f3316c

See more details on using hashes here.

File details

Details for the file clims-0.7.6-py3-none-any.whl.

File metadata

  • Download URL: clims-0.7.6-py3-none-any.whl
  • Upload date:
  • Size: 47.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for clims-0.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d505adb4b7707fa8ad7d0dd1ea26a164cf1f18b5dd3de9c062b919dd24768b4b
MD5 8233672e3e3a93adb3371c7b9d12d230
BLAKE2b-256 470d0fe50d2ea4f9d069d123876f886867f72d8c68b506a8e9435aab7078afb5

See more details on using hashes here.

Supported by

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