We have been wanting to do relaxation of lattice parameters as a function of the energy. I want to know the mathematical expression for this, and also the theoretical background related to this method. Thank you in advance.

  • 2
    $\begingroup$ Are you looking for Energy as function of lattice parameter or lattice parameter as function of energy? $\endgroup$ Nov 28, 2021 at 13:04
  • $\begingroup$ The best one which can help me to understand the theoretical background of lattice optimization. $\endgroup$ Nov 29, 2021 at 4:14
  • $\begingroup$ It Will be best if TOTAL ENERGY (Etotal) of crystal as a function of lattice parameter (a). $\endgroup$ Nov 29, 2021 at 5:25

2 Answers 2


For system with small strain condition, energy of strained system can be written in Taylor series as $$E(\epsilon)=E(0)+\frac{V_0}{2}\sum_{ijk}C_{ijkl}\epsilon_{ij}\epsilon_{kl}+...$$

In Voigt notation, It can be written as $$E(\epsilon)=E(0)+\frac{V_0}{2}C_{ij}\epsilon_{i}\epsilon_{j}+...$$ or $$E(\epsilon)=E(0)+\boldsymbol{\epsilon}^T\mathbf{C}\boldsymbol{\epsilon}+...$$

Considering hydro-static pressure mode in cubic crystal $$\boldsymbol{\epsilon}= \begin{bmatrix} \delta & 0 & 0 \\ 0 &\delta & 0 \\ 0 & 0 &\delta \\ \end{bmatrix}$$

$$\boldsymbol{C}= \begin{bmatrix} C_{11} & C_{12} & C_{12} & 0 & 0 & 0 \\ C_{12} & C_{11} & C_{12} & 0 & 0 & 0 \\ C_{12} & C_{12} & C_{11} & 0 & 0 & 0 \\ 0 & 0 & 0 & C_{44} & 0 & 0 \\ 0 & 0 & 0 & 0 & C_{44} & 0 \\ 0 & 0 & 0 & 0 & 0 & C_{44} \\ \end{bmatrix}$$

After doing some mathematical jugglery, we can get $$E(\epsilon)=E(V_0)+\frac{3V_0}{2}(C_{11}+C_{22})\delta^2+O(\delta^3)$$ which can be fit to a second order polynomial $$Y=A+BX^2$$

Here coefficient $B$ the is bulk modulus of the system. This can be further generalized to increasing degrees of freedom. Further relations of energy with strained volume can be incorporated with pressure and derivatives of pressure with volume. These are modified equation of states and there are several of them available.

  1. https://en.wikipedia.org/wiki/Murnaghan_equation_of_state

  2. https://mcbrennan.github.io/BMderivation.pdf

  3. https://en.wikipedia.org/wiki/Birch%E2%80%93Murnaghan_equation_of_state

  4. https://en.wikipedia.org/wiki/Rose%E2%80%93Vinet_equation_of_state


I don't have a chance to give a complete answer and this may not be as fitting since you are intending to use a planewave based code, but this paper [1] gives a good description of computing the forces on a solid for an AO basis calculation.

In general, relaxing lattice parameters isn't all that different from a general geometry optimization. Assuming (for simplicity, not necessity) that your unit cell is rigid and won't change with different lattice parameters, relaxing the lattice parameters is as simple as adjusting them until you reach a minimum of the energy. This can be done a number of different ways, from a general optimization procedure to a grid search over different values of the parameters . A grid search could be promising if you are working with a 1D system and already have a good sense of what the value should be. Otherwise, applying some optimization procedure for the energy will be the better approach, especially if the unit cell is not rigid and you need to consider changes in its geometry as well.

  1. Konstantin N. Kudin and Gustavo E. Scuseria Phys. Rev. B 61, 16440 DOI

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .