-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtool_annotations.json
More file actions
executable file
·101 lines (101 loc) · 4.67 KB
/
tool_annotations.json
File metadata and controls
executable file
·101 lines (101 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{
"functions": [
{
"label": "create_project",
"id": "create_project",
"taxonomyOperations": ["CreateProject"],
"outputs": [
{ "Type": ["Project"], "Format": ["pyiron_atomistics.project.Project"] }
],
"implementation": { "code": "python - << EOF\nfrom pyiron.project import Project\npr = Project('example_project')\n" }
},
{
"label": "create_structure_pristinebulk",
"id": "create_structure_pristinebulk",
"taxonomyOperations": ["CreateStructurePristineBulk"],
"inputs": [
{ "Type": ["Project"] },
{ "Type": ["Element"], "Format": ["String"] }
],
"outputs": [
{ "Type": ["PristineBulk"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "structure = pr.create.structure.ase.bulk(Element, cubic=True)\n" }
},
{
"label": "create_structure_genericbulk",
"id": "create_structure_genericbulk",
"taxonomyOperations": ["CreateStructureGenericBulk"],
"inputs": [
{ "Type": ["Project"] },
{ "Type": ["Element"], "Format": ["String"] }
],
"outputs": [
{ "Type": ["GenericBulk"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "structure = pr.create.structure.ase.bulk(Element, cubic=True)\ndel structure[[1]]\n" }
},
{
"label": "create_structure_slab",
"id": "create_structure_slab",
"taxonomyOperations": ["CreateStructureSlab"],
"inputs": [
{ "Type": ["Project"] },
{ "Type": ["Element"], "Format": ["String"] }
],
"outputs": [
{ "Type": ["Slab"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "structure = pr.create_surface(Element, surface_type='fcc111', size=(3, 4, 4), vacuum=10, orthogonal=True)\n" }
},
{
"label": "create_vacancy",
"id": "create_vacancy",
"taxonomyOperations": ["CreateVacancy"],
"inputs": [
{ "Type": ["Structure"] }
],
"outputs": [
{ "Type": ["VacancyStructure"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "# Create Vacancy Structure\nvacancy_structure = structure.copy()\ndel vacancy_structure[1]\n" }
},
{
"label": "relax_structure",
"id": "relax_structure",
"taxonomyOperations": ["RelaxStructure"],
"inputs": [
{ "Type": ["Slab", "PristineBulk", "GenericBulk"] }
],
"outputs": [
{ "Type": ["RelaxedStructure"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "# Relax Structure\nrelax_job = pr.create_job(job_type=pr.job_type.Lammps, job_name='lammps_relax')\nrelax_job.structure = vacancy_structure\nrelax_job.potential = relax_job.list_potentials()[0]\nrelax_job.calc_minimize(pressure=0.0)\nrelax_job.run()\nrelax_structure = relax_job.get_final_structure()\n" }
},
{
"label": "relax_vacancy_structure",
"id": "relax_vacancy_structure",
"taxonomyOperations": ["RelaxVacancyStructure"],
"inputs": [
{ "Type": ["VacancyStructure"] }
],
"outputs": [
{ "Type": ["RelaxedVacancyStructure"], "Format": ["pyiron_atomistics.atomistics.structure.atoms.Atoms"] }
],
"implementation": { "code": "# Relax Structure\nrelax_job = pr.create_job(job_type=pr.job_type.Lammps, job_name='lammps_relax')\nrelax_job.structure = vacancy_structure\nrelax_job.potential = relax_job.list_potentials()[0]\nrelax_job.calc_minimize(pressure=0.0)\nrelax_job.run()\nrelax_structure = relax_job.get_final_structure()\n" }
},
{
"label": "calculate_vacancy_formation_energy",
"id": "calculate_vacancy_formation_energy",
"taxonomyOperations": ["CalculateVacancyFormationEnergy"],
"inputs": [
{ "Type": ["RelaxedVacancyStructure"] },
{ "Type": ["PristineBulk"] }
],
"outputs": [
{ "Type": ["VacancyFormationEnergy"], "Format": ["Float"] }
],
"implementation": { "code": "# Calculate Vacancy Formation Energy\nbulk_job = pr.create_job(job_type=pr.job_type.Lammps, job_name='lammps_bulk', delete_existing_job=True)\nbulk_job.structure = structure\nbulk_job.potential = bulk_job.list_potentials()[0]\nbulk_job.run()\nE_v = relax_job.output.energy_pot[-1]\nE_b = bulk_job.output.energy_pot[-1]\nE_vf = E_v - (3/4 * E_b)\nprint(E_vf)\nEOF\n" }
}
]
}