Skip to main content

Clinamen: a Python package for the first-principles systematic discovery of low-energy configurations in defective systems.

Project description

Purpose

Clinamen: Covariance-matrix-adaptation evolution strategy for Localized Impurities with unsupervised Machine learning Exploration of Non-elementary structures.

Clinamen is a software package developed in order to assist in the discovery of low-energy defective configurations in first-principles atomistic calculations.

The approach is based on a modified version of the covariance-matrix-adaptation evolution-strategy (CMA-ES), a state-of-the-art evolutionary algorithm for continuous-parameter multimodal optimization. In addition, the approach employs an unsupervised machine learning model for identifying additional local minima explored during the run of the evolutionary algorithm. A supervised Gaussian-process regressor trained on-the-fly during the evolutionary process can also be used in order to reduce the number of first-principles calculations.

Clinamen is written mostly in Python and employs Cython and C extension modules for an increased computational speed.

Installation

The code is available on the PyPi index. The easiest way to install Clinamen is through pip:

pip install clinamen

We suggest to create a virtual environment in which the Clinamen code can be installed.

The requirements for a successful installation are:

It might be that some packages cannot be installed directly with the Clinamen package using pip (for example PyTorch installation could fail in this way). For this reason these packages have to be installed manually before installing Clinamen with pip.

Authors

Contacts

The meaning of the word clinamen

Clinamen is the name that the Roman philosopher and poet Titus Lucretius Carus gave to the random deviations in the rectilinear motion of atoms, which, according to the Epicurean atomistic theory, are responsible for their collisions and aggregation into objects.

In the De Rerum Natura, Lucretius also presents a theory of natural selection based on the random generation, by the Earth, of creatures of any sort, among which only the most fit ones are able to survive and reproduce.

The importance of the random generation of individuals and of fitness-based selection in the doctrine of Lucretius, together with the fact that clinamen can be used as an acronym describing the main ingredients of the method implemented in this package, are the main reasons for the choice of this name.

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

Clinamen-0.2.0a1.tar.gz (228.7 kB view details)

Uploaded Source

File details

Details for the file Clinamen-0.2.0a1.tar.gz.

File metadata

  • Download URL: Clinamen-0.2.0a1.tar.gz
  • Upload date:
  • Size: 228.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.3

File hashes

Hashes for Clinamen-0.2.0a1.tar.gz
Algorithm Hash digest
SHA256 7b739bc8fca575d041626ead87969af44eefc1d59e645760a395ca749ad64b9f
MD5 7b1a201904bdc9d3fc882d26536c7efd
BLAKE2b-256 083f25bc8c06d572f82f2c0218d041749b1d2e5286d8566213b6792102b619df

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