Commit 8b0e9435 authored by Yury Lysogorski's avatar Yury Lysogorski
Browse files

Query Cu-fcc surface energies from atomsitictools.org

parent 5b047da9
%% Cell type:markdown id:removable-insert tags: %% Cell type:markdown id: tags:
# [**Workflows for atomistic simulations**](http://potentials.rub.de/) # [**Workflows for atomistic simulations**](http://potentials.rub.de/)
%% Cell type:markdown id:median-patch tags: %% Cell type:markdown id: tags:
## **Day 3 - Validation of various potentials** ## **Day 3 - Validation of various potentials**
### **Exercise 1: Validation of generated potentials using pyiron based workflows** ### **Exercise 1: Validation of generated potentials using pyiron based workflows**
...@@ -16,47 +16,47 @@ ...@@ -16,47 +16,47 @@
The aim of this exercise is to make you familiar with: The aim of this exercise is to make you familiar with:
* Potential validation workflows * Potential validation workflows
%% Cell type:markdown id:worth-monitoring tags: %% Cell type:markdown id: tags:
## **Importing the modules and creating the project** ## **Importing the modules and creating the project**
%% Cell type:code id:welsh-lafayette tags: %% Cell type:code id: tags:
``` python ``` python
import numpy as np import numpy as np
%matplotlib inline %matplotlib inline
import matplotlib.pylab as plt import matplotlib.pylab as plt
import pandas as pd import pandas as pd
``` ```
%% Cell type:code id:western-waterproof tags: %% Cell type:code id: tags:
``` python ``` python
from pyiron import Project from pyiron import Project
``` ```
%% Cell type:code id:historic-murray tags: %% Cell type:code id: tags:
``` python ``` python
pr = Project("validation") pr = Project("validation")
``` ```
%% Cell type:code id:numerous-engagement tags: %% Cell type:code id: tags:
``` python ``` python
# Potentials from fit the previous day # Potentials from fit the previous day
potential_list = ['df1_cut5_pyace', 'EAM', 'RuNNer-Cu'] potential_list = ['df1_cut5_pyace', 'EAM', 'RuNNer-Cu']
# Typical EAM and well fit potentials # Typical EAM and well fit potentials
potential_list = ['2012--Mendelev-M-I--Cu--LAMMPS--ipr1', '2004--Zhou-X-W--Cu-Ag-Au--LAMMPS--ipr2', potential_list = ['2012--Mendelev-M-I--Cu--LAMMPS--ipr1', '2004--Zhou-X-W--Cu-Ag-Au--LAMMPS--ipr2',
'Cu-ace', 'Cu-runner-df4', 'Cu-atomicrex-df1-107-25'] #, 'Cu-runner-df1', 'Cu-atomicrex-df1-0-13'] 'Cu-ace', 'Cu-runner-df4', 'Cu-atomicrex-df1-107-25'] #, 'Cu-runner-df1', 'Cu-atomicrex-df1-0-13']
``` ```
%% Cell type:code id:educational-fourth tags: %% Cell type:code id: tags:
``` python ``` python
# Function to return appropriate potentials generated yesterday # Function to return appropriate potentials generated yesterday
def get_pyiron_potential(potential): def get_pyiron_potential(potential):
...@@ -71,25 +71,25 @@ ...@@ -71,25 +71,25 @@
# to returns potentials already in DB # to returns potentials already in DB
else: else:
return potential return potential
``` ```
%% Cell type:markdown id:hidden-lodging tags: %% Cell type:markdown id: tags:
## **Step 1: Get the equilibrium Cu lattice constant determined by the potentials** ## **Step 1: Get the equilibrium Cu lattice constant determined by the potentials**
First we compute energy-volume curves to get the equilibrium lattice constants determined by each potential First we compute energy-volume curves to get the equilibrium lattice constants determined by each potential
%% Cell type:code id:rational-operations tags: %% Cell type:code id: tags:
``` python ``` python
# Necessary to remove wierd characters in the potential name # Necessary to remove wierd characters in the potential name
def clean_project_name(name): def clean_project_name(name):
return name.replace("-", "_") return name.replace("-", "_")
``` ```
%% Cell type:code id:local-austin tags: %% Cell type:code id: tags:
``` python ``` python
for pot in potential_list: for pot in potential_list:
group_name = clean_project_name(pot) group_name = clean_project_name(pot)
pr_pot = pr.create_group(pot) pr_pot = pr.create_group(pot)
...@@ -121,21 +121,21 @@ ...@@ -121,21 +121,21 @@
%%%% Output: display_data %%%% Output: display_data
![](data:image/png;base64,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4j0bPkfxPsuTt/GQmfUwsx6tWqV90XMTPRJKDc1grxL35JxzcQcddNAmL1JXln33TV9o07hxJj1vl01enqFI2jFhsi+hE5zkNI0kNYmNA4cR77J0HnBgNH4wMCNXee3YEWpFZ2nVKrj88lztyTnnsuM///lPXvabr/dQbo2Kv6YQAsVAAEltJY2J0rQGJkr6H6H719fM7I1o2bnAHdGym4HzcpHJCROgf3+47LL4vIcfhjFjSlzFOVdNzZo1i86dOzNgwAC6devGSSedxKpVqxg/fjy77747Xbt25eyzz2bNmjXF1nv00UcZNGjQL9MPP/wwl19+ObNmzaJLly6ce+657LLLLhx22GH8/PPPAEyePJlf/epXdOvWjeOPP57FixcD4a5n0KBB9OrViy5dujBp0iROOOEEdtxxR6699tpf9hG7+1ixYgV9+vRhjz32oGvXrrz8cnIBUZblu8vIyhz23HNPy9Tbb5u1bBn+rlljtu22ZqHQy6xRozDfOVc5Pvvss1/GY5/DXAylmTlzpgE2ceJEMzM766yzbOjQodauXTv74osvzMzs9NNPtzvvvNPMzA488ECbNGmSrVixwjp27Ghr1641M7N99tnHpkyZYjNnzrTatWvbJ598YmZmJ598sj355JNmZta1a1d75513zMzsuuuus4EDB/6yzcGDB5uZ2d///ndr06aNzZs3z1avXm1bb721LVy40MzMGjVqZGZm69ats6VLl5qZ2YIFC2z77be3jRs3FktT2rmOn3OKLIPvWH9TPoXkqsH16sE118SX164dHtSXt+0v51zV1L59e/bbbz8ATjvtNMaPH892223HTjvtBMCAAQP417/+VWydRo0acfDBBzN69GimT5/OunXr6Nq1KwDbbbcd3bt3B2DPPfdk1qxZLF26lCVLlnDggQem3Gbfvn0B6Nq1K7vssgtt2rShfv36dOzYkTlz5hTbt5lx9dVX061bNw455BC+++47fvjhh+yfmIgHlCQlvWdy5pkQa/l+2TI47riKNSjpnKt6ylut9pxzzuHxxx9n+PDhnHXWWb/Mr1+//i/jtWvXZv369Wm3FVunVq1axdavVavWJuuPHDmSBQsW8NFHHzF58mRat26d09YGPKAkKO2lxbp1IaGIkhdfhOHDPag4V9lyWeiVzrfffsv7778PwNNPP80hhxzCrFmz+Oqr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) ![](data:image/png;base64,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4j0bPkfxPsuTt/GQmfUwsx6tWqV90XMTPRJKDc1grxL35JxzcQcddNAmL1JXln33TV9o07hxJj1vl01enqFI2jFhsi+hE5zkNI0kNYmNA4cR77J0HnBgNH4wMCNXee3YEWpFZ2nVKrj88lztyTnnsuM///lPXvabr/dQbo2Kv6YQAsVAAEltJY2J0rQGJkr6H6H719fM7I1o2bnAHdGym4HzcpHJCROgf3+47LL4vIcfhjFjSlzFOVdNzZo1i86dOzNgwAC6devGSSedxKpVqxg/fjy77747Xbt25eyzz2bNmjXF1nv00UcZNGjQL9MPP/wwl19+ObNmzaJLly6ce+657LLLLhx22GH8/PPPAEyePJlf/epXdOvWjeOPP57FixcD4a5n0KBB9OrViy5dujBp0iROOOEEdtxxR6699tpf9hG7+1ixYgV9+vRhjz32oGvXrrz8cnIBUZblu8vIyhz23HNPy9Tbb5u1bBn+rlljtu22ZqHQy6xRozDfOVc5Pvvss1/GY5/DXAylmTlzpgE2ceJEMzM766yzbOjQodauXTv74osvzMzs9NNPtzvvvNPMzA488ECbNGmSrVixwjp27Ghr1641M7N99tnHpkyZYjNnzrTatWvbJ598YmZmJ598sj355JNmZta1a1d75513zMzsuuuus4EDB/6yzcGDB5uZ2d///ndr06aNzZs3z1avXm1bb721LVy40MzMGjVqZGZm69ats6VLl5qZ2YIFC2z77be3jRs3FktT2rmOn3OKLIPvWH9TPoXkqsH16sE118SX164dHtSXt+0v51zV1L59e/bbbz8ATjvtNMaPH892223HTjvtBMCAAQP417/+VWydRo0acfDBBzN69GimT5/OunXr6Nq1KwDbbbcd3bt3B2DPPfdk1qxZLF26lCVLlnDggQem3Gbfvn0B6Nq1K7vssgtt2rShfv36dOzYkTlz5hTbt5lx9dVX061bNw455BC+++47fvjhh+yfmIgHlCQlvWdy5pkQa/l+2TI47riKNSjpnKt6ylut9pxzzuHxxx9n+PDhnHXWWb/Mr1+//i/jtWvXZv369Wm3FVunVq1axdavVavWJuuPHDmSBQsW8NFHHzF58mRat26d09YGPKAkKO2lxbp1IaGIkhdfhOHDPag4V9lyWeiVzrfffsv7778PwNNPP80hhxzCrFmz+Oqr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)
%% Cell type:code id:independent-tennis tags: %% Cell type:code id: tags:
``` python ``` python
murn_job["output/equilibrium_energy"] murn_job["output/equilibrium_energy"]
``` ```
%%%% Output: execute_result %%%% Output: execute_result
-3.716480589399012 -3.716480589399012
%% Cell type:code id:occupational-cross tags: %% Cell type:code id: tags:
``` python ``` python
# Define functions to get data # Define functions to get data
# Only work with Murnaghan jobs # Only work with Murnaghan jobs
...@@ -159,11 +159,11 @@ ...@@ -159,11 +159,11 @@
def get_n_atoms(job_path): def get_n_atoms(job_path):
return len(job_path["output/structure/positions"]) return len(job_path["output/structure/positions"])
``` ```
%% Cell type:code id:collective-parameter tags: %% Cell type:code id: tags:
``` python ``` python
# Compile data using pyiron tables # Compile data using pyiron tables
table = pr.create_table("table_murn", delete_existing_job=True) table = pr.create_table("table_murn", delete_existing_job=True)
table.db_filter_function = get_only_murn table.db_filter_function = get_only_murn
...@@ -192,17 +192,17 @@ ...@@ -192,17 +192,17 @@
1 135.774799 -3.539942 1 1 135.774799 -3.539942 1
2 146.220099 -3.698781 1 2 146.220099 -3.698781 1
3 145.857176 -3.694889 1 3 145.857176 -3.694889 1
4 156.948283 -3.716481 1 4 156.948283 -3.716481 1
%% Cell type:markdown id:valid-apollo tags: %% Cell type:markdown id: tags:
## **Compute elastic constants** ## **Compute elastic constants**
Using the equilibrium lattice constant, compute the elastic constant matrix using the automated workflow Using the equilibrium lattice constant, compute the elastic constant matrix using the automated workflow
%% Cell type:code id:industrial-antique tags: %% Cell type:code id: tags:
``` python ``` python
for pot in data_murn.potential.to_list(): for pot in data_murn.potential.to_list():
group_name = clean_project_name(pot) group_name = clean_project_name(pot)
pr_pot = pr.create_group(pot) pr_pot = pr.create_group(pot)
...@@ -215,22 +215,22 @@ ...@@ -215,22 +215,22 @@
elastic_job = job_ref.create_job(pr_pot.job_type.ElasticMatrixJob, "elastic_job") elastic_job = job_ref.create_job(pr_pot.job_type.ElasticMatrixJob, "elastic_job")
elastic_job.input["eps_range"] = 0.05 elastic_job.input["eps_range"] = 0.05
elastic_job.run() elastic_job.run()
``` ```
%% Cell type:code id:under-knight tags: %% Cell type:code id: tags:
``` python ``` python
# Inspecting the elastic matrix # Inspecting the elastic matrix
plt.matshow(elastic_job["output/elasticmatrix"]["C"]); plt.matshow(elastic_job["output/elasticmatrix"]["C"]);
``` ```
%%%% Output: display_data %%%% Output: display_data
![](data:image/png;base64,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) ![](data:image/png;base64,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)
%% Cell type:code id:removable-clinic tags: %% Cell type:code id: tags:
``` python ``` python
# Define functions to compute them in a table # Define functions to compute them in a table
# Only operate on ElasticMatrix jobs # Only operate on ElasticMatrix jobs
...@@ -246,11 +246,11 @@ ...@@ -246,11 +246,11 @@
def get_c44(job_path): def get_c44(job_path):
return job_path["output/elasticmatrix"]["C"][3, 3] return job_path["output/elasticmatrix"]["C"][3, 3]
``` ```
%% Cell type:code id:ongoing-chocolate tags: %% Cell type:code id: tags:
``` python ``` python
table = pr.create_table("table_elastic", delete_existing_job=True) table = pr.create_table("table_elastic", delete_existing_job=True)
table.db_filter_function = filter_elastic table.db_filter_function = filter_elastic
table.add["potential"] = get_potential table.add["potential"] = get_potential
...@@ -277,17 +277,17 @@ ...@@ -277,17 +277,17 @@
1 84.710381 1 84.710381
2 81.049351 2 81.049351
3 100.953889 3 100.953889
4 70.714601 4 70.714601
%% Cell type:markdown id:considerable-latex tags: %% Cell type:markdown id: tags:
## **Compare computed elastic constants with that from DFT calculations** ## **Compare computed elastic constants with that from DFT calculations**
Comparing the computing elastic constant values with DFT benchmarks from the http://atomistictools.org/ database Comparing the computing elastic constant values with DFT benchmarks from the http://atomistictools.org/ database
%% Cell type:code id:governmental-watershed tags: %% Cell type:code id: tags:
``` python ``` python
# Querying the database http://atomistictools.org/ from using the API interface # Querying the database http://atomistictools.org/ from using the API interface
from structdbrest import StructDBLightRester from structdbrest import StructDBLightRester
...@@ -303,26 +303,26 @@ ...@@ -303,26 +303,26 @@
# Querying for phonon properties # Querying for phonon properties
dft_phon_prop = rest.query_properties(rest.PropertyTypes.PHONONS, composition="Cu-%", strukturbericht="A1", dft_phon_prop = rest.query_properties(rest.PropertyTypes.PHONONS, composition="Cu-%", strukturbericht="A1",
calculator_name=fhi_calc.NAME)[0] calculator_name=fhi_calc.NAME)[0]
``` ```
%% Cell type:code id:soviet-restaurant tags: %% Cell type:code id: tags:
``` python ``` python
C_dft = dft_elast_prop.value["C"] C_dft = dft_elast_prop.value["C"]
print("DFT C11={:.1f} GPa".format(C_dft[0][0])) print("DFT C11={:.1f} GPa".format(C_dft[0][0]))
print("DFT C12={:.1f} GPa".format(C_dft[0][1])) print("DFT C12={:.1f} GPa".format(C_dft[0][1]))
print("DFT C44={:.1f} GPa".format(C_dft[3][3])) print("DFT C44={:.1f} GPa".format(C_dft[3][3]))
``` ```
%% Cell type:markdown id:cardiovascular-annex tags: %% Cell type:markdown id: tags:
## **Calculation of surface energies** ## **Calculation of surface energies**
We can also use the potentials to calculate the surface energies of the Cu (111), (110), and (100) surfaces We can also use the potentials to calculate the surface energies of the Cu (111), (110), and (100) surfaces
%% Cell type:code id:individual-samuel tags: %% Cell type:code id: tags:
``` python ``` python
surface_type_list = ["fcc111", "fcc110", "fcc100"] surface_type_list = ["fcc111", "fcc110", "fcc100"]
...@@ -337,11 +337,11 @@ ...@@ -337,11 +337,11 @@
job_lammps.potential = get_pyiron_potential(pot) job_lammps.potential = get_pyiron_potential(pot)
job_lammps.calc_minimize() job_lammps.calc_minimize()
job_lammps.run() job_lammps.run()
``` ```
%% Cell type:code id:applicable-tunnel tags: %% Cell type:code id: tags:
``` python ``` python
# Function to filter only surface calculations # Function to filter only surface calculations
def is_a_surface(job_table): def is_a_surface(job_table):
return (job_table.hamilton == "Lammps") & (job_table.job.str.contains("fcc")) & (job_table.status == "finished") return (job_table.hamilton == "Lammps") & (job_table.job.str.contains("fcc")) & (job_table.status == "finished")
...@@ -357,11 +357,11 @@ ...@@ -357,11 +357,11 @@
def get_area(job_path): def get_area(job_path):
cell = job_path["output/structure/cell/cell"] cell = job_path["output/structure/cell/cell"]
return np.linalg.norm(np.cross(cell[0], cell[1])) return np.linalg.norm(np.cross(cell[0], cell[1]))
``` ```
%% Cell type:code id:false-jacob tags: %% Cell type:code id: tags:
``` python ``` python
table = pr.create_table("table_surface", delete_existing_job=True) table = pr.create_table("table_surface", delete_existing_job=True)
table.db_filter_function = is_a_surface table.db_filter_function = is_a_surface
table.add["potential"] = get_potential_lammps_job table.add["potential"] = get_potential_lammps_job
...@@ -409,20 +409,26 @@ ...@@ -409,20 +409,26 @@
11 Cu-runner-df4 fcc100 419.055871 11 Cu-runner-df4 fcc100 419.055871
12 Cu-atomicrex-df1-107-25 fcc111 371.037336 12 Cu-atomicrex-df1-107-25 fcc111 371.037336
13 Cu-atomicrex-df1-107-25 fcc110 605.901433 13 Cu-atomicrex-df1-107-25 fcc110 605.901433
14 Cu-atomicrex-df1-107-25 fcc100 428.437012 14 Cu-atomicrex-df1-107-25 fcc100 428.437012
%% Cell type:markdown id:polished-catalog tags: %% Cell type:markdown id: tags:
Compute surface energies using data from the bulk fcc crystal Compute surface energies using data from the bulk fcc crystal
%% Cell type:code id:devoted-lover tags: %% Cell type:code id: tags:
``` python
eV_A2_to_mJ_m2_factor = 16.0219 * 1e3
```
%% Cell type:code id: tags:
``` python ``` python
data_merged = pd.merge(data_surf, data_murn, on="potential") data_merged = pd.merge(data_surf, data_murn, on="potential")
data_merged["surface_energy"] = data_merged.energy_tot - (data_merged.eq_energy * data_merged.Number_of_atoms) data_merged["surface_energy"] = data_merged.energy_tot - (data_merged.eq_energy * data_merged.Number_of_atoms)
data_merged["surface_energy_in_mJ_per_sq_m"] = data_merged.surface_energy / data_merged.surface_area / 2 * 16.0219 * 1e3 data_merged["surface_energy_in_mJ_per_sq_m"] = data_merged.surface_energy / data_merged.surface_area / 2 * eV_A2_to_mJ_m2_factor
data_merged[["potential", "surface_type", "surface_energy_in_mJ_per_sq_m"]] data_merged[["potential", "surface_type", "surface_energy_in_mJ_per_sq_m"]]
``` ```
%%%% Output: execute_result %%%% Output: execute_result
...@@ -458,17 +464,87 @@ ...@@ -458,17 +464,87 @@
11 1435.033014 11 1435.033014
12 1559.908417 12 1559.908417
13 1809.790013 13 1809.790013
14 1689.108640 14 1689.108640
%% Cell type:markdown id:accredited-excuse tags: %% Cell type:markdown id: tags:
## Compare to DFT reference data queried from atomistictools.org
%% Cell type:code id: tags:
``` python
surface_props = rest.query_properties(rest.PropertyTypes.SURFACE_ENERGY,
composition="Cu-%",
strukturbericht="A1",
calculator_name=fhi_calc.NAME
)
```
%% Cell type:code id: tags:
``` python
surf_dft_data=[]
for surf_prop in surface_props:
surf_dft_data.append([surf_prop.VALUE["surface_orientation"], surf_prop.VALUE["number_of_atoms"], surf_prop.VALUE["surface_energy"]])
```
%% Cell type:code id: tags:
``` python
surf_dft_df=pd.DataFrame(surf_dft_data, columns=["surface_type","number_of_atoms","surface_energy(eV/A^2)"])
```
%% Cell type:code id: tags:
``` python
surf_dft_df.sort_values(["surface_type", "number_of_atoms"], ascending=[False, False], inplace=True)
```
%% Cell type:code id: tags:
``` python
surf_dft_df.drop_duplicates(["surface_type"], keep="first", inplace=True)
```
%% Cell type:code id: tags:
``` python
surf_dft_df["surface_type"] = "fcc" + surf_dft_df["surface_type"]
```
%% Cell type:code id: tags:
``` python
surf_dft_df["surface_energy_in_mJ_per_sq_m"] = surf_dft_df["surface_energy(eV/A^2)"]*eV_A2_to_mJ_m2_factor
```
%% Cell type:code id: tags:
``` python
surf_dft_df
```
%%%% Output: execute_result
surface_type number_of_atoms surface_energy(eV/A^2) \
7 fcc111 14 0.085074
5 fcc110 9 0.098272
0 fcc100 10 0.092586
surface_energy_in_mJ_per_sq_m
7 1363.054065
5 1574.504220
0 1483.399754
%% Cell type:markdown id: tags:
## **Finite temperature thermodynamics (Harmonic approximation)** ## **Finite temperature thermodynamics (Harmonic approximation)**
We can also compute free energies and other finite temperature thermodynamic properties within the Harmonic approximation using phonopy (http://phonopy.github.io) We can also compute free energies and other finite temperature thermodynamic properties within the Harmonic approximation using phonopy (http://phonopy.github.io)
%% Cell type:code id:seasonal-helmet tags: %% Cell type:code id: tags:
``` python ``` python
for pot in data_murn.potential.to_list(): for pot in data_murn.potential.to_list():
group_name = clean_project_name(pot) group_name = clean_project_name(pot)
pr_pot = pr.create_group(group_name) pr_pot = pr.create_group(group_name)
...@@ -479,15 +555,15 @@ ...@@ -479,15 +555,15 @@
job_ref.calc_static() job_ref.calc_static()
phonopy_job = job_ref.create_job(pr_pot.job_type.PhonopyJob, "phonopy_job") phonopy_job = job_ref.create_job(pr_pot.job_type.PhonopyJob, "phonopy_job")
phonopy_job.run() phonopy_job.run()
``` ```
%% Cell type:markdown id:clean-kruger tags: %% Cell type:markdown id: tags:
Plotting the thermodynamic properties using phonopy Plotting the thermodynamic properties using phonopy
%% Cell type:code id:mathematical-monitor tags: %% Cell type:code id: tags:
``` python ``` python
fig, ax_list = plt.subplots(ncols=3, nrows=1, sharex="row") fig, ax_list = plt.subplots(ncols=3, nrows=1, sharex="row")
fig.set_figwidth(20) fig.set_figwidth(20)
#fig.set_figheight(20) #fig.set_figheight(20)
...@@ -522,15 +598,15 @@ ...@@ -522,15 +598,15 @@
%%%% Output: display_data %%%% Output: display_data
![](data:image/png;base64,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