For an introduction to the theory of elastic constants, see Chapter 8 in the following reference:
Asker, Christian: Effects of disorder in metallic systems from First-Principles calculations (Phd Thesis Linköping University, 2010)
Bulk modulus, B, can be obtained by calculating total energy, E, as a function of volume. After fitting E(V) to an equation of state, the bulk modulus is given by: B(V) = V d2E(V)/dV2
Example for a cubic system, such as fcc-FeNi.
1) Calculate slope matrices and madelung matrices with KSTR.
2) Calculate shape functions with SHAPE.
3) Set up a number of .dat files for different volumes.
A handy script is
Open the file
make.datfiles.volume.sh. The first few lines look like this:
RWS=(2.52 2.54 2.56 2.57 2.59) STRUCT=fcc KSTRPATH=~/EMTOs/EMTO/kstr SHAPEPATH=~/EMTOs/EMTO/shape
On the first line you may enter which Wigner-Seitz radii you want to consider within the parenthesis.
On the second line you must specify the structure name.
The name of the structure should correspond to what was used in
The two following lines should contain the path to the
Further down in the file you will recognize the kgrn and kfcd .dat files. You may edit this file further according to your needs. For this particular example, perhaps you would like to change composition, or exchange-correlation functional. See the EMTO page for details of the kgrn .dat file.
Save the file and execute:
The script will generate the necessary kgrn and kfcd .dat files.
4) Start the
kgrn calculations (e.g., with the script submit.sh).
After the calculations have finished, you may inspect the results (see the EMTO page).
5) Fit your E(Rws) points to an equation of state. A handy script for this is fit.eos.sh.
Open the file
The header will look like this:
R=(2.54 2.56 2.57 2.58 2.59) # kfcd .prn files to use F=BM52 # interpolation method C=kfcd/ # location of kfcd .prn files # Plot settings Xa=R # what to plot on X-axis (R,P) Ya=(E H P) # What to plot on Y-axis (E,H,P) X=() # X-axis range (leave empty for "Rmin to Rmax" Num=9999 # points on grid
On the first line may choose which radii that should be included in the fit, or more precisely, in which files that fit.eos.sh should take energy and Wigner-Seitz radius. On the second line you specify which equation of state to use. The next entry is the location of the kfcd .prn files. The EOS program will generate a plot file. Further down you will find settings for the plot.
Execute the script:
Two files should be produced: eos.out and a plot file.
Open the file eos.out.