Unverified Commit b1a4332d authored by Jan Janssen's avatar Jan Janssen Committed by GitHub
Browse files

Update ex_01_validation.ipynb

parent 88e23893
%% Cell type:markdown id:touched-vocabulary tags:
# [**Workflows for atomistic simulations**](http://potentials.rub.de/)
%% Cell type:markdown id:conceptual-moscow tags:
## **Day 3 - Validation of various potentials**
### **Exercise 1: Validation of generated potentials using pyiron based workflows**
Before the excercise, you should:
* Have run the notebooks from day 1 and day2
* Be familiar with working with pyiron and the basics of potential fitting
The aim of this exercise is to make you familiar with:
* Potential validation workflows
%% Cell type:code id:golden-folks tags:
``` python
import numpy as np
%matplotlib inline
import matplotlib.pylab as plt
import pandas as pd
```
%% Cell type:code id:leading-blake tags:
``` python
from pyiron import Project
```
%% Cell type:code id:decreased-latvia tags:
``` python
pr = Project("validation")
pr.remove(True)
```
%% Cell type:code id:empirical-essay tags:
``` python
# The good potentials already added to the pyiron database
potential_list = ['Cu_Mendelev_eam', '2004--Zhou-X-W--Cu-Ag-Au--LAMMPS--ipr2', 'Cu-ace', 'Cu-runner-df4'] #, 'Cu-runner-df1']
potential_list = ['2012--Mendelev-M-I--Cu--LAMMPS--ipr1', '2004--Zhou-X-W--Cu-Ag-Au--LAMMPS--ipr2', 'Cu-ace', 'Cu-runner-df4'] #, 'Cu-runner-df1']
# The potentials that were fit yesterday
```
%% Cell type:code id:checked-terminal tags:
``` python
# Do Murnaghan, ElasticMatrix job, vac formation energy, binding energy, surface energies, comparison with dataset forces, energies
```
%% Cell type:code id:residential-diving tags:
``` python
def clean_project_name(name):
return name.replace("-", "_")
```
%% Cell type:code id:conditional-order tags:
``` python
for pot in potential_list:
group_name = clean_project_name(pot)
pr_pot = pr.create_group(pot)
job_ref = pr_pot.create_job(pr_pot.job_type.Lammps, "ref_job")
job_ref.structure = pr_pot.create_ase_bulk("Cu")
job_ref.potential = pot
job_ref.calc_minimize()
murn_job = job_ref.create_job(pr_pot.job_type.Murnaghan, "murn_job")
murn_job.run()
print("Potential: ", pot)
murn_job.plot()
```
%%%% Output: stream
The job murn_job was saved and received the ID: 4389
The job strain_0_9 was saved and received the ID: 4390
The job strain_0_92 was saved and received the ID: 4391
The job strain_0_94 was saved and received the ID: 4392
The job strain_0_96 was saved and received the ID: 4393
The job strain_0_98 was saved and received the ID: 4394
The job strain_1_0 was saved and received the ID: 4395
The job strain_1_02 was saved and received the ID: 4396
The job strain_1_04 was saved and received the ID: 4397
The job strain_1_06 was saved and received the ID: 4398
The job strain_1_08 was saved and received the ID: 4399
The job strain_1_1 was saved and received the ID: 4400
job_id: 4390 finished
job_id: 4391 finished
job_id: 4392 finished
job_id: 4393 finished
job_id: 4394 finished
job_id: 4395 finished
job_id: 4396 finished
job_id: 4397 finished
job_id: 4398 finished
job_id: 4399 finished
job_id: 4400 finished
Potential: Cu-ace
%%%% Output: display_data
![](data:image/png;base64,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)
%%%% Output: stream
The job murn_job was saved and received the ID: 4401
The job strain_0_9 was saved and received the ID: 4402
The job strain_0_92 was saved and received the ID: 4403
The job strain_0_94 was saved and received the ID: 4404
The job strain_0_96 was saved and received the ID: 4405
The job strain_0_98 was saved and received the ID: 4406
The job strain_1_0 was saved and received the ID: 4407
The job strain_1_02 was saved and received the ID: 4408
The job strain_1_04 was saved and received the ID: 4409
The job strain_1_06 was saved and received the ID: 4410
The job strain_1_08 was saved and received the ID: 4411
The job strain_1_1 was saved and received the ID: 4412
job_id: 4402 finished
job_id: 4403 finished
job_id: 4404 finished
job_id: 4405 finished
job_id: 4406 finished
job_id: 4407 finished
job_id: 4408 finished
job_id: 4409 finished
job_id: 4410 finished
job_id: 4411 finished
job_id: 4412 finished
Potential: Cu-runner-df4
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:code id:leading-sector tags:
``` python
murn_job["output/equilibrium_energy"]
```
%%%% Output: execute_result
-3.694888787063416
%% Cell type:code id:partial-bulgaria tags:
``` python
def get_only_murn(job_table):
return job_table.hamilton == "Murnaghan"
def get_eq_vol(job_path):
return job_path["output/equilibrium_volume"]
def get_eq_lp(job_path):
return np.linalg.norm(job_path["output/structure/cell/cell"][0]) * np.sqrt(2)
def get_eq_bm(job_path):
return job_path["output/equilibrium_bulk_modulus"]
def get_potential(job_path):
return job_path["ref_job/input/potential/Name"]
def get_eq_energy(job_path):
return job_path["output/equilibrium_energy"]
def get_n_atoms(job_path):
return len(job_path["output/structure/positions"])
```
%% Cell type:code id:specified-acceptance tags:
``` python
table = pr.create_table("table_murn", delete_existing_job=True)
table.db_filter_function = get_only_murn
table.add["potential"] = get_potential
table.add["a"] = get_eq_lp
table.add["eq_vol"] = get_eq_vol
table.add["eq_bm"] = get_eq_bm
table.add["eq_energy"] = get_eq_energy
table.add["n_atoms"] = get_n_atoms
table.run()
data_murn = table.get_dataframe()
data_murn
```
%%%% Output: stream
100%|██████████| 2/2 [00:00<00:00, 513.91it/s]
100%|██████████| 2/2 [00:00<00:00, 28.91it/s]
%%%% Output: stream
The job table_murn was saved and received the ID: 4413
CPU times: user 219 ms, sys: 62.5 ms, total: 281 ms
Wall time: 317 ms
%%%% Output: stream
%%%% Output: execute_result
job_id potential a eq_vol eq_bm eq_energy n_atoms
0 4389 Cu-ace 3.629863 11.956678 146.220099 -3.698781 1
1 4401 Cu-runner-df4 3.618770 11.847397 145.857176 -3.694889 1
%% Cell type:code id:automatic-kuwait tags:
``` python
for pot in data_murn.potential.to_list():
group_name = clean_project_name(pot)
pr_pot = pr.create_group(pot)
print(pot)
job_id = int(data_murn[data_murn.potential==pot].job_id)
job_ref = pr_pot.create_job(pr_pot.job_type.Lammps, "ref_job")
job_ref.structure = pr_pot.inspect(job_id)["output/structure"].to_object()
job_ref.potential = pot
job_ref.calc_minimize()
elastic_job = job_ref.create_job(pr_pot.job_type.ElasticMatrixJob, "elastic_job")
elastic_job.input["eps_range"] = 0.05
elastic_job.run()
```
%%%% Output: stream
Cu-ace
The job elastic_job was saved and received the ID: 4414
The job s_e_0 was saved and received the ID: 4415
The job s_01_e_m0_05000 was saved and received the ID: 4416
The job s_01_e_m0_02500 was saved and received the ID: 4417
The job s_01_e_0_02500 was saved and received the ID: 4418
The job s_01_e_0_05000 was saved and received the ID: 4419
The job s_08_e_m0_05000 was saved and received the ID: 4420
The job s_08_e_m0_02500 was saved and received the ID: 4421
The job s_08_e_0_02500 was saved and received the ID: 4422
The job s_08_e_0_05000 was saved and received the ID: 4423
The job s_23_e_m0_05000 was saved and received the ID: 4424
The job s_23_e_m0_02500 was saved and received the ID: 4425
The job s_23_e_0_02500 was saved and received the ID: 4426
The job s_23_e_0_05000 was saved and received the ID: 4427
Cu-runner-df4
The job elastic_job was saved and received the ID: 4428
The job s_e_0 was saved and received the ID: 4429
The job s_01_e_m0_05000 was saved and received the ID: 4430
The job s_01_e_m0_02500 was saved and received the ID: 4431
The job s_01_e_0_02500 was saved and received the ID: 4432
The job s_01_e_0_05000 was saved and received the ID: 4433
The job s_08_e_m0_05000 was saved and received the ID: 4434
The job s_08_e_m0_02500 was saved and received the ID: 4435
The job s_08_e_0_02500 was saved and received the ID: 4436
The job s_08_e_0_05000 was saved and received the ID: 4437
The job s_23_e_m0_05000 was saved and received the ID: 4438
The job s_23_e_m0_02500 was saved and received the ID: 4439
The job s_23_e_0_02500 was saved and received the ID: 4440
The job s_23_e_0_05000 was saved and received the ID: 4441
CPU times: user 42 s, sys: 31 s, total: 1min 12s
Wall time: 58.3 s
%% Cell type:code id:dedicated-powder tags:
``` python
plt.matshow(elastic_job["output/elasticmatrix"]["C"]);
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:code id:joint-shield tags:
``` python
elastic_job["output/elasticmatrix"]["C"].flatten()
```
%%%% Output: execute_result
array([143.47389261, 170.02778376, 170.02778376, 0. ,
0. , 0. , 170.02778376, 143.47389261,
170.02778376, 0. , 0. , 0. ,
170.02778376, 170.02778376, 143.47389261, 0. ,
0. , 0. , 0. , 0. ,
0. , 100.95388854, 0. , 0. ,
0. , 0. , 0. , 0. ,
100.95388854, 0. , 0. , 0. ,
0. , 0. , 0. , 100.95388854])
%% Cell type:code id:roman-tenant tags:
``` python
def filter_elastic(job_table):
return (job_table.hamilton == "ElasticMatrixJob") & (job_table.status == "finished")
def get_c11(job_path):
return job_path["output/elasticmatrix"]["C"][0, 0]
def get_c12(job_path):
return job_path["output/elasticmatrix"]["C"][0, 1]
def get_c44(job_path):
return job_path["output/elasticmatrix"]["C"][3, 3]
```
%% Cell type:code id:determined-token tags:
``` python
%%time
table = pr.create_table("table_elastic", delete_existing_job=True)
table.db_filter_function = filter_elastic
table.add["potential"] = get_potential
table.add["C11"] = get_c11
table.add["C12"] = get_c12
table.add["C44"] = get_c44
table.run()
data_elastic = table.get_dataframe()
data_elastic
```
%%%% Output: stream
100%|██████████| 2/2 [00:00<00:00, 547.17it/s]
0%| | 0/2 [00:00<?, ?it/s]
%%%% Output: stream
The job table_elastic was saved and received the ID: 4442
%%%% Output: stream
100%|██████████| 2/2 [00:00<00:00, 5.13it/s]
%%%% Output: stream
CPU times: user 500 ms, sys: 109 ms, total: 609 ms
Wall time: 669 ms
%%%% Output: execute_result
job_id potential C11 C12 C44
0 4414 Cu-ace 182.054447 132.575877 81.049351
1 4428 Cu-runner-df4 143.473893 170.027784 100.953889
%% Cell type:code id:cooperative-store tags:
``` python
from structdbrest import StructDBLightRester
rest = StructDBLightRester(token="workshop2021")
fhi_calc = rest.query_calculator_types("FHI%aims%")[0]
dft_elast_prop = rest.query_properties(rest.PropertyTypes.ELASTIC_MATRIX, composition="Cu-%", strukturbericht="A1",
calculator_name=fhi_calc.NAME)[0]
dft_phon_prop = rest.query_properties(rest.PropertyTypes.PHONONS, composition="Cu-%", strukturbericht="A1",
calculator_name=fhi_calc.NAME)[0]
```
%%%% Output: stream
Querying...done
Response successful, size = 7.20 kB, time = 0.13 s
1 entries received
Querying...done
Response successful, size = 37.78 kB, time = 0.38 s
1 entries received
Querying...done
Response successful, size = 22.50 kB, time = 0.20 s
1 entries received
%% Cell type:code id:planned-cargo tags:
``` python
C_dft = dft_elast_prop.value["C"]
print("DFT C11={:.1f} GPa".format(C_dft[0][0]))
print("DFT C12={:.1f} GPa".format(C_dft[0][1]))
print("DFT C44={:.1f} GPa".format(C_dft[3][3]))
```
%%%% Output: stream
DFT C11=176.9 GPa
DFT C12=131.7 GPa
DFT C44=82.5 GPa
%% Cell type:code id:beginning-cheese tags:
``` python
%%time
surface_type_list = ["fcc111", "fcc110", "fcc100"]
for i, pot in enumerate(data_murn.potential.to_list()):
group_name = clean_project_name(pot)
pr_pot = pr.create_group(group_name)
a = data_murn.a.to_list()[i]
for surface_type in surface_type_list:
surface = pr.create_surface("Cu", surface_type=surface_type, size=(8, 8, 8), a=a, orthogonal=True, vacuum=12)
job_lammps = pr_pot.create_job(pr_pot.job_type.Lammps, "surf_{}".format(surface_type))
job_lammps.structure = surface
job_lammps.potential = pot
job_lammps.calc_minimize()
job_lammps.run()
```
%%%% Output: stream
The job surf_fcc111 was saved and received the ID: 4443
The job surf_fcc110 was saved and received the ID: 4444
The job surf_fcc100 was saved and received the ID: 4445
The job surf_fcc111 was saved and received the ID: 4446
The job surf_fcc110 was saved and received the ID: 4447
The job surf_fcc100 was saved and received the ID: 4448
CPU times: user 7.88 s, sys: 7.86 s, total: 15.7 s
Wall time: 48.4 s
%% Cell type:code id:preceding-fireplace tags:
``` python
```
%% Cell type:code id:interracial-lunch tags:
``` python
def is_a_surface(job_table):
return (job_table.hamilton == "Lammps") & (job_table.job.str.contains("fcc")) & (job_table.status == "finished")
def get_potential_lammps_job(job_path):
return job_path["input/potential/Name"]
def get_surface_type(job_path):
surf_list = ["fcc111", "fcc110", "fcc100"]
conditions = [val in job_path.job_name for val in surf_list]
return surf_list[np.where(conditions)[0].tolist()[0]]
def get_area(job_path):
cell = job_path["output/structure/cell/cell"]
return np.linalg.norm(np.cross(cell[0], cell[1]))
```
%% Cell type:code id:palestinian-allen tags:
``` python
```
%% Cell type:code id:black-chance tags:
``` python
%%time
table = pr.create_table("table_surface", delete_existing_job=True)
table.db_filter_function = is_a_surface
table.add["potential"] = get_potential_lammps_job
table.add["surface_type"] = get_surface_type
table.add["surface_area"] = get_area
table.add.get_total_number_of_atoms
table.add.get_energy_tot
table.run()
data_surf = table.get_dataframe()
data_surf
```
%%%% Output: stream
100%|██████████| 6/6 [00:00<00:00, 430.05it/s]
0%| | 0/6 [00:00<?, ?it/s]
%%%% Output: stream
The job table_surface was saved and received the ID: 4449
%%%% Output: stream
100%|██████████| 6/6 [00:00<00:00, 13.52it/s]
%%%% Output: stream
CPU times: user 438 ms, sys: 219 ms, total: 656 ms
Wall time: 876 ms
%%%% Output: execute_result
Number_of_atoms job_id energy_tot potential surface_type \
0 512 4443 -1834.286336 Cu-ace fcc111
1 512 4444 -1775.620101 Cu-ace fcc110
2 512 4445 -1814.469585 Cu-ace fcc100
3 512 4446 -1835.853699 Cu-runner-df4 fcc111
4 512 4447 -1786.742960 Cu-runner-df4 fcc110
5 512 4448 -1816.715931 Cu-runner-df4 fcc100
surface_area
0 365.141308
1 596.273259
2 421.628865
3 362.913030
4 592.634496
5 419.055871
%% Cell type:code id:robust-unknown tags:
``` python
```
%% Cell type:code id:painted-taiwan tags:
``` python
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_in_mJ_per_sq_m"] = data_merged.surface_energy / data_merged.surface_area / 2 * 16.0219 * 1e3
data_merged[["potential", "surface_type", "surface_energy_in_mJ_per_sq_m"]]
```
%%%% Output: execute_result
potential surface_type surface_energy_in_mJ_per_sq_m
0 Cu-ace fcc111 1305.155196
1 Cu-ace fcc110 1587.423774
2 Cu-ace fcc100 1506.815901
3 Cu-runner-df4 fcc111 1234.585883
4 Cu-runner-df4 fcc110 1419.881876
5 Cu-runner-df4 fcc100 1435.033014
%% Cell type:markdown id:hungarian-benefit tags:
## Finite temperature thermodynamics (Harmonic approximation)
%% Cell type:code id:recovered-warren tags:
``` python
# phonon DOS more analysis (comparison with some datasets)
```
%% Cell type:code id:fiscal-convergence tags:
``` python
%%time
for pot in data_murn.potential.to_list():
group_name = clean_project_name(pot)
pr_pot = pr.create_group(group_name)
job_id = int(data_murn[data_murn.potential==pot].job_id)
job_ref = pr_pot.create_job(pr_pot.job_type.Lammps, "ref_job")
job_ref.structure = pr_pot.inspect(job_id)["output/structure"].to_object()
job_ref.potential = pot
job_ref.calc_static()
phonopy_job = job_ref.create_job(pr_pot.job_type.PhonopyJob, "phonopy_job")
phonopy_job.run()
```
%%%% Output: stream
The job phonopy_job was saved and received the ID: 4450
The job ref_job_0 was saved and received the ID: 4451
The job phonopy_job was saved and received the ID: 4452
The job ref_job_0 was saved and received the ID: 4453
CPU times: user 10.1 s, sys: 6.06 s, total: 16.2 s
Wall time: 13.5 s
%% Cell type:code id:elegant-flashing tags:
``` python
pr
```
%%%% Output: execute_result
{'groups': ['Cu-ace', 'Cu-runner-df4', 'Cu_ace', 'Cu_runner_df4'], 'nodes': ['table_murn', 'table_elastic', 'table_surface']}
%% Cell type:code id:necessary-thomson tags:
``` python
fig, ax_list = plt.subplots(ncols=1, nrows=3, sharex="row")
#fig.set_figwidth(20)
fig.set_figheight(20)
for i, pot in enumerate(potential_list):
group_name = clean_project_name(pot)
phonopy_job = pr[group_name+"/phonopy_job"]
thermo = phonopy_job.get_thermal_properties(t_min=0, t_max=800)
ax = ax_list[0]
ax.plot(thermo.temperatures, thermo.free_energies, label=pot)
ax.set_xlabel("Temperatures [K]")
ax.set_ylabel("Free energies [eV]")
ax = ax_list[1]
ax.plot(thermo.temperatures, thermo.entropy, label=pot)
ax.set_xlabel("Temperatures [K]")
ax.set_ylabel("Entropy [eV/K]")
ax = ax_list[2]
ax.plot(thermo.temperatures, thermo.cv, label=pot)
ax.set_xlabel("Temperatures [K]")
ax.set_ylabel("Heat capacity (C$_\mathrm{V}$) [eV/K]")
ax_list[0].legend()
ax_list[1].legend()
ax_list[2].legend()
fig.subplots_adjust(hspace=0.1);
```
%%%% Output: display_data
![](data:image/png;base64,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