Equation of State (EoS) fitting tutorial¶
- Last updated
Jul 25, 2024
- Author
Gianfranco Ulian
Preliminary operations¶
Download the topaz input file, which
contains experimental P-V structural data on topaz, 1 and put it in a folder of your choice.
The data reported in the input file are:
unit-cell volume
a lattice parameter
b lattice parameter
c lattice parameter
and related uncertainties, measured between 0.0001 GPa and 45.26 GPa. Note that also uncertainty on pressure value is also reported.
Interactive equation of state fitting¶
The EoS fitting procedure is performed in an interactive way by simply typing on the console:
> quantas eosfit PV_topaz.dat
Quantas shows some information collected from the input file:
________ __
\_____ \ __ _______ _____/ |______ ______
/ / \ \| | \__ \ / \ __\__ \ / ___/
/ \_/. \ | // __ \| | \ | / __ \_\___ \
\_____\ \_/____/(____ /___| /__| (____ /____ >
\__> \/ \/ \/ \/
v0.9.0
Authors: Gianfranco Ulian
Copyright 2020, University of Bologna
Calculator: Equation of State (EoS) fitting
Measurement units
-------------------------------------
- pressure: GPa
Reading input file: PV_topaz.dat
Job: Topaz (Gatta et al., 2014)
P (GPa) V (A^3) a (A) b (A) c (A)
---------- ---------- ---------- ---------- ----------
0.000 345.46000 4.66270 8.83430 8.38670
0.410 344.80000 4.65970 8.83030 8.37990
1.880 341.78000 4.64510 8.81080 8.35090
2.570 340.35000 4.63780 8.80220 8.33720
3.140 339.15000 4.63250 8.79380 8.32540
3.670 338.05000 4.62670 8.78720 8.31500
4.650 336.28000 4.61790 8.77590 8.29760
5.160 335.34000 4.61350 8.76920 8.28870
5.790 334.08000 4.60710 8.76140 8.27650
6.520 332.82000 4.60090 8.75330 8.26410
6.620 331.40000 4.57900 8.75100 8.26900
7.410 331.23000 4.59300 8.74270 8.24880
8.370 329.45000 4.58410 8.73080 8.23160
8.970 328.53000 4.57950 8.72470 8.22240
9.380 326.80000 4.56800 8.71400 8.20900
11.340 324.10000 4.55900 8.69000 8.18000
15.270 316.10000 4.52500 8.63600 8.08900
19.810 309.90000 4.49300 8.58900 8.02900
26.020 300.00000 4.44600 8.51200 7.92700
31.490 294.00000 4.41400 8.46400 7.86900
37.820 289.20000 4.39900 8.41200 7.81400
41.000 284.00000 4.36400 8.37700 7.76700
43.840 283.00000 4.36300 8.35600 7.76300
45.260 281.60000 4.35200 8.34600 7.75300
45.330 281.70000 4.36000 8.34800 7.73900
- Found weights for pressure
- Found weights for volume
- Found weights for a-axis
- Found weights for b-axis
- Found weights for c-axis
The first thing Quantas asks is what structural property you would like to fit:
DATA SELECTION
v. Volume
a. a-axis
b. b-axis
c. c-axis
Select the values to fit:
Note
If you select a property not available in input data, Quantas asks you to choose another one.
Let’s start by fitting unit-cell volumes, so select v. Then, we should choose one of the available equation
of state formulations:
EOS FORMULATION
1. Murnaghan
2. Birch-Murnaghan
3. Natural Strain
4. Vinet
5. Tait
Select an EoS formulation [1]:
We will perform a third-order Birch-Murnaghan equation of state fit, thus select 2 and, at the next question:
EOS ORDER
- 2
- 3
- 4
Select the order of the EoS [2]:
choose 3. At this point, an initial guess of the EoS parameters is reported:
EOS PARAMETERS:
K0 = 187.43910
K' = 4.00000
K'' = 0.00000
V0 = 345.68229
Would you like to modify any of the EoS parameters? [y/N]:
Note
Upper-case letters in the yes/no questions are the default answers. For example, in this question, the default answer is no.
Keep these parameters as provided, by selecting ‘N’ or just pressing Return. At this point, we
could select some parameters to be kept fixed during the fitting procedure. Let’s initially keep
the \(K'\) value fixed at 4 (as it would be in a second-order Birch-Murnaghan EoS), so
select y at the next question and fix the parameters accordingly, as shown also below:
Would you like to fix any of the EoS parameters? [y/N]: y
Fix K0 [y/N]: n
Fix K' [y/N]: y
Fix K'' [y/N]: n
Fix V0 [y/N]: n
In the next question, Quantas asks if the uncertainties on both the independent (pressure) and
dependent (volume, in this case) variables should be used as weights. Type y here and in the
subsequent two questions:
Would you like to weight the data during fitting? [Y/n]: y
Use weights for pressure? [Y/n]: y
Use weights for Volume ? [Y/n]: y
All the questions have been answered. Now, Quantas perform the fitting procedure using the Orthogonal Distance Regression (ODR), then report the results:
#------------------------------------------------------------------------------#
# EOS results for volume fitting #
#------------------------------------------------------------------------------#
EOS formulation: Birch-Murnaghan
EOS order: 3
Results weighted for pressure
Results weighted for volume
Fitting parameters:
K0 = 149.57006 +/- 1.83762
K' = 4.00000 +/- 0.00000 (FIXED)
K'' = -0.02600 +/- 0.00000 [IMPLIED]
V0 = 345.65545 +/- 0.12009
Covariance matrix:
7.79573e-02 0.00000e+00 0.00000e+00 -2.24409e-03
0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
-2.24409e-03 0.00000e+00 0.00000e+00 3.32935e-04
Residual variance: 43.3167
Exited ODR loop because:
1. Problem is not full rank at solution
2. Sum of squares convergence
Calculated data:
volume eps_v Pressure (GPa) P_obs (GPa) eps_P
--------------- --------------- --------------- --------------- ---------------
345.46000 0.19522 0.00010 0.00010 0.00000
344.80000 -0.00255 0.41000 0.37358 -0.03642
341.78000 -0.01099 1.88000 1.72993 -0.15007
340.35000 -0.01328 2.57000 2.39245 -0.17755
339.15000 -0.01381 3.14000 2.95848 -0.18152
338.05000 -0.01422 3.67000 3.48606 -0.18394
336.28000 -0.02325 4.65000 4.35705 -0.29295
335.34000 -0.02669 5.16000 4.82819 -0.33181
334.08000 -0.02643 5.79000 5.46747 -0.32253
332.82000 -0.03320 6.52000 6.12228 -0.39772
331.40000 0.23255 6.62000 6.72957 0.10957
331.23000 -0.08133 7.41000 6.98722 -0.42278
329.45000 -0.08262 8.37000 7.95160 -0.41840
328.53000 -0.16541 8.97000 8.50568 -0.46432
326.80000 0.00658 9.38000 9.38289 0.00289
324.10000 -0.37938 11.34000 11.18085 -0.15915
316.10000 0.68924 15.27000 15.53092 0.26092
309.90000 0.47752 19.81000 19.97426 0.16426
300.00000 1.85690 26.02000 26.58167 0.56167
294.00000 1.66534 31.49000 31.94829 0.45829
289.20000 0.24297 37.82000 37.88074 0.06074
284.00000 1.95661 41.00000 41.46332 0.46332
283.00000 0.61572 43.84000 43.98055 0.14055
281.60000 0.71484 45.26000 45.41988 0.15988
281.70000 0.57940 45.33000 45.45951 0.12951
#------------------------------------------------------------------------------#
Fitting parameters are reported together with their estimated standard deviation and the covariance matrix.
Exited ODR loop because tells us how the fitting procedure proceeded and
exited. The first sentence is related to the fact that the EoS formulation has four parameters,
but we fitted just two of them (\(K_0\) and \(V_0\)), keeping one fixed
(\(K'\)) and one implied (\(K''\)) because of the third-order formulation).
The second sentence,
‘Sum of squares convergence’ means that the fitting procedure converged.
Note
As for any fitting procedure, having the initial parameters to values close to the optimized ones may speed up convergence and ensure not diverging (or unphysical) results.
The residual variance is quite high, suggesting that a fixed \(K'\) (equivalent to a second-order Birch-Murnaghan) is not sufficient to fit the data.
After the report, Quantas asks if we want to update the parameters:
Update the parameters [y/N]: y
Let’s try improving the fitting, so answer y and, at the following question:
Would you like to continue fitting on the same data? [y/N]: y
answer y, too.
We could change the EoS formulation in the subsequent point, but there is no reason to do that
at the moment, so answer n:
Would you like to change the EoS? [y/N]: n
Then, Quantas asks us if we want to change the initial parameters, to keep some of them fixed, and so on. This time, let everything free to be optimized.
The fitting results now become:
#------------------------------------------------------------------------------#
# EOS results for volume fitting #
#------------------------------------------------------------------------------#
EOS formulation: Birch-Murnaghan
EOS order: 3
Results weighted for pressure
Results weighted for volume
Fitting parameters:
K0 = 161.71746 +/- 2.53414
K' = 3.00184 +/- 0.16220
K'' = -0.02404 +/- 0.00000 [IMPLIED]
V0 = 345.50950 +/- 0.08264
Covariance matrix:
3.44825e-01 -1.93179e-02 0.00000e+00 -5.61609e-03
-1.93179e-02 1.41261e-03 0.00000e+00 2.47375e-04
0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
-5.61609e-03 2.47375e-04 0.00000e+00 3.66721e-04
Residual variance: 18.6235
Exited ODR loop because:
1. Problem is not full rank at solution
2. Sum of squares convergence
Calculated data:
volume eps_v Pressure (GPa) P_obs (GPa) eps_P
--------------- --------------- --------------- --------------- ---------------
345.46000 0.04929 0.00010 0.00010 0.00000
344.80000 -0.00558 0.41000 0.33609 -0.07391
341.78000 -0.00724 1.88000 1.78741 -0.09259
340.35000 -0.00623 2.57000 2.49165 -0.07835
339.15000 -0.00395 3.14000 3.09098 -0.04902
338.05000 -0.00182 3.67000 3.64769 -0.02231
336.28000 -0.00724 4.65000 4.56312 -0.08688
335.34000 -0.00874 5.16000 5.05626 -0.10374
334.08000 -0.00572 5.79000 5.72310 -0.06690
332.82000 -0.01009 6.52000 6.40374 -0.11626
331.40000 0.55134 6.62000 6.87166 0.25166
331.23000 -0.02537 7.41000 7.28242 -0.12758
329.45000 -0.01972 8.37000 8.27287 -0.09713
328.53000 -0.05641 8.97000 8.81543 -0.15457
326.80000 0.39442 9.38000 9.55036 0.17036
324.10000 0.03346 11.34000 11.35395 0.01395
316.10000 1.09195 15.27000 15.68985 0.41985
309.90000 0.78060 19.81000 20.08821 0.27821
300.00000 1.84821 26.02000 26.61418 0.59418
294.00000 1.32555 31.49000 31.88485 0.39485
289.20000 -0.51291 37.82000 37.67865 -0.14135
284.00000 0.86232 41.00000 41.22723 0.22723
283.00000 -0.67228 43.84000 43.66804 -0.17196
281.60000 -0.70700 45.26000 45.08218 -0.17782
281.70000 -0.84307 45.33000 45.11804 -0.21196
#------------------------------------------------------------------------------#
The residual variance is better than before, and the \(K'\) value is less than 4. The calculated third-order Birch-Murnaghan EoS parameters are very close to those reported in literature: 1
\(K_0\) = 158(4) GPa
\(K'\) = 3.3(3) GPa
If you are satisfied with these results, you can exit by answering ‘N’ to all the subsequent questions asked by Quantas.
Note
All the fitting results reported on screen will be also available in the output file
PV_topaz_EOS.log, generated during the run.
- Excercise 1
The example file contains also the a, b and c lattice parameters at different pressures. Try to fit those data with a third-order Birch-Murnaghan equation of state.
- Excercise 2
The different EoS formalisms may some important impacts on the final parameters. Try to fit the unit-cell volume, a, b and c lattice parameters using:
a (second-order) Murnaghan equation of state
a third-order Natural Strain equation of state
a third-order Tait equation of state
and compare the results.
References