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.0a3.tar.gz (228.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: Clinamen-0.2.0a3.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.0a3.tar.gz
Algorithm Hash digest
SHA256 820b21cd0dc914cb778558e4fcc94a751f5be20174b9e745f152b6556d000c69
MD5 4cd69cfcfa44a3d8cd39a79bedc4bc13
BLAKE2b-256 cd1dfd270d00cb05bdafb4d9b4c864a20cde411246a7135965320168be8b8961

See more details on using hashes here.

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