Skip to main content

The FPTE package is a collection of tools for finite pressure temperature elastic constants calculation. Features include, but are not limited to stress-strain method for getting second order elastic tensors using DFT package VASP as well as, ab initio molecular dynamic method for temperaturedependent elastic constants.

Project description

Finite Pressure Temperature Elasticity (FPTE) package

Stress-Strain

Installation

Dependencies

FPTE requires:

  • Python (>= 3.7)
  • NumPy (>= 1.16.5)
  • Pandas (>= 0.25.3)
  • Matplotlib (>= 2.2.4)
  • joblib (>= 0.11)

FPTE 1.2.0 and later require Python 3.7 or newer. FPTE 1.1.0 and later require Python 3.4 or newer.

FPTE plotting capabilities (i.e., functions start with plot_ and classes end with "Display") require Matplotlib (>= 2.2.4).

User installation

If you already have a working installation of numpy and scipy, the easiest way to install FPTE is using pip:

pip install -U FPTE

or install from source:

git clone https://github.com/MahdiDavari/FPTE
cd FPTE
python setup.py install

In order to check your installation you can use:

python -m pip show FPTE  # to see which version and where FPTE is installed
python -m pip freeze  # to see all packages installed in the active virtualenv
python -c "import FPTE; print(FPTE.__version__)"

Note that in order to avoid potential conflicts with other packages it is strongly recommended to use a virtual environment (venv).

Theory

Elastic Stifness Coefficients from Stress-Strain Relations:

According to Hooke's law, the second-rank stress and strain tensors for a slightly deformed crystal are related by

$$ $$

where the fourth rank tensors cijkl and sijkl are called the elastic stiffness coefficients and elastic compliance constants respectively. Here we deal with elastic stiffness coefficients cijkl, which govern the proper stress-strain relations at nite strain. In general, we can write

$$ $$

where X and x are the coordinates before and after the deformation. There are 81 independent stiffness coefficients in general; however, this number is reduced to 21 by the requirement of the complete Voigt symmetry. In Voigt notation (cij), the elastic constants form a symmetric 6x6 matrix

$$ $$

In single suffix notation (running from 1 to 6), we can also use the matrix representations for stress and strain

$$ $$
and

$$ $$

where the stress components are σ1 = σxx ; σ2 = σyy ; σ3 = σzz ; σ4 = σyz ; σ5 = σzx ; σ6 = σxy, and the strain components are ε1 = ε xx ; ε2 = εyy ; ε3 = εzz ; ε4 = εyz ; ε5 = εzx ; ε6 = εxy. When a crystal lattice is deformed with strain (ε), new lattice vectors a are related to old vectors ** a**0 by a = (I + ε) a0, where I is identity matrix. The stress-strain relations are then simply given by

$$ $$

The presence of the symmetry in the crystal reduces further the number of independent c ij . A cubic crystal having highest symmetry is characterized by the lowest number (only three) of independent elastic constants, c11, c12 and c44, which in matrix notation is

$$ $$

Crystal System Space Group Number No. of Elastic Constants
Cubic 195-230 3
Hexagonal 168-194 5
Trigonal 143-167 6-7
Tetragonal 75-142 6-7
Orthorhombic 16-74 9
Monoclinic 3-15 13
Triclinic 1 and 2 21

Note: For more information regarding the second-order elastic constant see reference:

  1. Golesorkhtabar, Rostam, et al., “ElaStic: A Tool for Calculating Second-Order Elastic Constants from First Principles.” Computer Physics Communications 184, no. 8 (2013): 1861–73.

  2. Karki, Bijaya B. “High-Pressure Structure and Elasticity of the Major Silicate and Oxide Minerals of the Earth’s Lower Mantle,” 1997.

  3. Barron, THK, and ML Klein. “Second-Order Elastic Constants of a Solid under Stress.” Proceedings of the Physical Society 85, no. 3 (1965): 523.

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

FPTE-1.2.1.tar.gz (23.9 kB view hashes)

Uploaded Source

Built Distribution

FPTE-1.2.1-py3-none-any.whl (29.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