findtde 1.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- findtde-1.0.3/LICENSE +21 -0
- findtde-1.0.3/PKG-INFO +109 -0
- findtde-1.0.3/README.md +65 -0
- findtde-1.0.3/docs/conf.py +82 -0
- findtde-1.0.3/findtde/__init__.py +10 -0
- findtde-1.0.3/findtde/cli/__init__.py +5 -0
- findtde-1.0.3/findtde/cli/main.py +0 -0
- findtde-1.0.3/findtde/defect_analysis.py +684 -0
- findtde-1.0.3/findtde/multi_tde.py +325 -0
- findtde-1.0.3/findtde/poscar2lmp.py +130 -0
- findtde-1.0.3/findtde/tde_analysis.py +761 -0
- findtde-1.0.3/findtde/utils.py +164 -0
- findtde-1.0.3/findtde/vasp_vel_write.py +229 -0
- findtde-1.0.3/findtde.egg-info/PKG-INFO +109 -0
- findtde-1.0.3/findtde.egg-info/SOURCES.txt +19 -0
- findtde-1.0.3/findtde.egg-info/dependency_links.txt +1 -0
- findtde-1.0.3/findtde.egg-info/entry_points.txt +2 -0
- findtde-1.0.3/findtde.egg-info/requires.txt +10 -0
- findtde-1.0.3/findtde.egg-info/top_level.txt +3 -0
- findtde-1.0.3/pyproject.toml +39 -0
- findtde-1.0.3/setup.cfg +4 -0
findtde-1.0.3/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Alexander Hauck
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
findtde-1.0.3/PKG-INFO
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: findtde
|
|
3
|
+
Version: 1.0.3
|
|
4
|
+
Summary: Set of scripts to facilitate easy calculations of threshold displacement energies for materials in VASP/LAMMPS using ab initio/classical molecular dynamics.
|
|
5
|
+
Author-email: Alexander Hauck <ash5615@psu.edu>
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2023 Alexander Hauck
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://findTDE.readthedocs.io/en/latest/
|
|
29
|
+
Project-URL: Repository, https://github.com/hauck-as/findTDE
|
|
30
|
+
Classifier: Programming Language :: Python :: 3
|
|
31
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
32
|
+
Classifier: Operating System :: OS Independent
|
|
33
|
+
Requires-Python: >=3.6
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
License-File: LICENSE
|
|
36
|
+
Requires-Dist: requests
|
|
37
|
+
Requires-Dist: importlib-metadata; python_version < "3.12"
|
|
38
|
+
Requires-Dist: numpy
|
|
39
|
+
Requires-Dist: pandas
|
|
40
|
+
Requires-Dist: matplotlib
|
|
41
|
+
Requires-Dist: plotly
|
|
42
|
+
Requires-Dist: pymatgen
|
|
43
|
+
Requires-Dist: fortranformat
|
|
44
|
+
|
|
45
|
+
# findTDE
|
|
46
|
+
`findTDE` comprises a set of scripts to facilitate easy, high-throughput calculations of threshold displacement energies (TDEs) for materials using ab initio/classical molecular dynamics in `VASP`/`LAMMPS`. The threshold displacement energy is the minimum kinetic energy transfer from incident radiation to a lattice atom that produces a permanent defect. This property is useful for understanding the radiation hardness of a material, and it is a required parameter for binary collision approximation calculations (e.g., SRIM/TRIM).
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
Currently, there is no automatic installation method available. The files may be either downloaded manually or using `git clone`.
|
|
50
|
+
|
|
51
|
+
## Usage
|
|
52
|
+
The find_tde script may be called directly from the command line with several options. The usage may be displayed using the help (-h) option. The convergence mode (-c) determines how subsequent kinetic energy values are chosen for the displacement event, either "standard" (adjust by 5 eV until opposite defect generation is found, then adjust by 1 eV until the TDE is found) or "midpoint" (adjust by 8 eV until opposite defect generation is found, then adjust by half the distance from the current energy to the nearest energy of opposite defect generation). The program selection (-p) chooses whether `VASP` or `LAMMPS` is used for the calculations. If `LAMMPS` is used, the force field file may be chosen (-f).
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
find_tde [-h] [-c <standard|midpoint>] [-p <vasp|lammps>] [-f <lmp_ff.type>]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The script is currently written to execute via `Slurm` workload manager. This can be adjusted temporarily to execute the appropriate program.
|
|
59
|
+
|
|
60
|
+
The script relies on a directory structure. Only the base directory (e.g., "project," can be named anything), main input file ("latt_dirs_to_calc.csv"), inputs directory ("inp"), and perfect supercell directory ("perfect") are required to be made and named as described. `findTDE` should be executed in the "project" directory. Each "displacement" directory, associated "energy" directories, and relevant .csv/.txt files are created by the program.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
project
|
|
64
|
+
│ latt_dirs_to_calc.csv
|
|
65
|
+
│
|
|
66
|
+
└───displacement1
|
|
67
|
+
│ │ displacement1_data.csv
|
|
68
|
+
│ │ displacement1_out.txt
|
|
69
|
+
│ │ KE_calcs_list.txt
|
|
70
|
+
│ │
|
|
71
|
+
│ └───energyA
|
|
72
|
+
│ | │ program_inputs
|
|
73
|
+
│ | │ program_outputs
|
|
74
|
+
│ | │ ...
|
|
75
|
+
│ │
|
|
76
|
+
│ └───energyB
|
|
77
|
+
│ | │ program_inputs
|
|
78
|
+
│ | │ program_outputs
|
|
79
|
+
│ | │ ...
|
|
80
|
+
│ │
|
|
81
|
+
│ └───...
|
|
82
|
+
│
|
|
83
|
+
└───...
|
|
84
|
+
│
|
|
85
|
+
└───inp
|
|
86
|
+
│ │ INCAR_cgm
|
|
87
|
+
│ │ INCAR_md
|
|
88
|
+
│ │ KPOINTS
|
|
89
|
+
│ │ POSCAR
|
|
90
|
+
│ │ POTCAR
|
|
91
|
+
│ │ lmp_ff.type
|
|
92
|
+
│ │ ...
|
|
93
|
+
│
|
|
94
|
+
└───perfect
|
|
95
|
+
| │ OUTCAR
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The input file "latt_dirs_to_calc.csv" is required to specify the displacement event. This can either be created manually, or by using the `multi_tde.py` accessory script. The heading of this file may be used to describe the file format. The bottom row of the file is read when `findTDE` is executed, and that info is used for that TDE calculation. The first value is a "pseudo" to correspond to the displacement direction, given as an integer number (changes with each unique direction) and either "L" or "S" (describes whether the direction is given as a lattice direction \[u v w\] or spherical direction (rho, phi, theta)). The "atom_type" and "atom_number" detail which atom in the supercell is given the velocity vector to simulate the displacement event (e.g., atom_type: ga and atom_number: 34 corresponds to the 34th Ga atom, as listed in the POSCAR file, being displaced). The initial kinetic energy "ke_i" and cutoff kinetic energy "ke_cut" (stops the program if a defect is not found below this kinetic energy) are then defined. The direction is then defined, either using lattice direction integer notation or spherical coordinate notation (may be floats).
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
########################################
|
|
102
|
+
# format of text file
|
|
103
|
+
# nL atom_type atom_number ke_i ke_cut u v w
|
|
104
|
+
# n+1S atom_type atom_number ke_i ke_cut r p t
|
|
105
|
+
########################################
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Acknowledgements
|
|
109
|
+
The findTDE code was developed by Alexander Hauck, Dr. Mia Jin, and Dr. Blair Tuttle at The Pennsylvania State University.
|
findtde-1.0.3/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# findTDE
|
|
2
|
+
`findTDE` comprises a set of scripts to facilitate easy, high-throughput calculations of threshold displacement energies (TDEs) for materials using ab initio/classical molecular dynamics in `VASP`/`LAMMPS`. The threshold displacement energy is the minimum kinetic energy transfer from incident radiation to a lattice atom that produces a permanent defect. This property is useful for understanding the radiation hardness of a material, and it is a required parameter for binary collision approximation calculations (e.g., SRIM/TRIM).
|
|
3
|
+
|
|
4
|
+
## Installation
|
|
5
|
+
Currently, there is no automatic installation method available. The files may be either downloaded manually or using `git clone`.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
The find_tde script may be called directly from the command line with several options. The usage may be displayed using the help (-h) option. The convergence mode (-c) determines how subsequent kinetic energy values are chosen for the displacement event, either "standard" (adjust by 5 eV until opposite defect generation is found, then adjust by 1 eV until the TDE is found) or "midpoint" (adjust by 8 eV until opposite defect generation is found, then adjust by half the distance from the current energy to the nearest energy of opposite defect generation). The program selection (-p) chooses whether `VASP` or `LAMMPS` is used for the calculations. If `LAMMPS` is used, the force field file may be chosen (-f).
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
find_tde [-h] [-c <standard|midpoint>] [-p <vasp|lammps>] [-f <lmp_ff.type>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The script is currently written to execute via `Slurm` workload manager. This can be adjusted temporarily to execute the appropriate program.
|
|
15
|
+
|
|
16
|
+
The script relies on a directory structure. Only the base directory (e.g., "project," can be named anything), main input file ("latt_dirs_to_calc.csv"), inputs directory ("inp"), and perfect supercell directory ("perfect") are required to be made and named as described. `findTDE` should be executed in the "project" directory. Each "displacement" directory, associated "energy" directories, and relevant .csv/.txt files are created by the program.
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
project
|
|
20
|
+
│ latt_dirs_to_calc.csv
|
|
21
|
+
│
|
|
22
|
+
└───displacement1
|
|
23
|
+
│ │ displacement1_data.csv
|
|
24
|
+
│ │ displacement1_out.txt
|
|
25
|
+
│ │ KE_calcs_list.txt
|
|
26
|
+
│ │
|
|
27
|
+
│ └───energyA
|
|
28
|
+
│ | │ program_inputs
|
|
29
|
+
│ | │ program_outputs
|
|
30
|
+
│ | │ ...
|
|
31
|
+
│ │
|
|
32
|
+
│ └───energyB
|
|
33
|
+
│ | │ program_inputs
|
|
34
|
+
│ | │ program_outputs
|
|
35
|
+
│ | │ ...
|
|
36
|
+
│ │
|
|
37
|
+
│ └───...
|
|
38
|
+
│
|
|
39
|
+
└───...
|
|
40
|
+
│
|
|
41
|
+
└───inp
|
|
42
|
+
│ │ INCAR_cgm
|
|
43
|
+
│ │ INCAR_md
|
|
44
|
+
│ │ KPOINTS
|
|
45
|
+
│ │ POSCAR
|
|
46
|
+
│ │ POTCAR
|
|
47
|
+
│ │ lmp_ff.type
|
|
48
|
+
│ │ ...
|
|
49
|
+
│
|
|
50
|
+
└───perfect
|
|
51
|
+
| │ OUTCAR
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The input file "latt_dirs_to_calc.csv" is required to specify the displacement event. This can either be created manually, or by using the `multi_tde.py` accessory script. The heading of this file may be used to describe the file format. The bottom row of the file is read when `findTDE` is executed, and that info is used for that TDE calculation. The first value is a "pseudo" to correspond to the displacement direction, given as an integer number (changes with each unique direction) and either "L" or "S" (describes whether the direction is given as a lattice direction \[u v w\] or spherical direction (rho, phi, theta)). The "atom_type" and "atom_number" detail which atom in the supercell is given the velocity vector to simulate the displacement event (e.g., atom_type: ga and atom_number: 34 corresponds to the 34th Ga atom, as listed in the POSCAR file, being displaced). The initial kinetic energy "ke_i" and cutoff kinetic energy "ke_cut" (stops the program if a defect is not found below this kinetic energy) are then defined. The direction is then defined, either using lattice direction integer notation or spherical coordinate notation (may be floats).
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
########################################
|
|
58
|
+
# format of text file
|
|
59
|
+
# nL atom_type atom_number ke_i ke_cut u v w
|
|
60
|
+
# n+1S atom_type atom_number ke_i ke_cut r p t
|
|
61
|
+
########################################
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Acknowledgements
|
|
65
|
+
The findTDE code was developed by Alexander Hauck, Dr. Mia Jin, and Dr. Blair Tuttle at The Pennsylvania State University.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
# Templated from both RTD tutorial and doped by SMTG-Bham.
|
|
3
|
+
|
|
4
|
+
# -- Project information
|
|
5
|
+
|
|
6
|
+
project = 'findTDE'
|
|
7
|
+
copyright = '2023, Alexander S. Hauck'
|
|
8
|
+
author = 'Alexander S. Hauck'
|
|
9
|
+
|
|
10
|
+
release = '0.1'
|
|
11
|
+
version = '1.0.3'
|
|
12
|
+
|
|
13
|
+
# -- General configuration
|
|
14
|
+
|
|
15
|
+
extensions = [
|
|
16
|
+
'sphinx.ext.duration',
|
|
17
|
+
'sphinx.ext.doctest',
|
|
18
|
+
'sphinx.ext.autodoc',
|
|
19
|
+
'sphinx.ext.autosummary',
|
|
20
|
+
'sphinx.ext.intersphinx',
|
|
21
|
+
'sphinx.ext.coverage',
|
|
22
|
+
'sphinx.ext.napoleon',
|
|
23
|
+
'sphinx.ext.mathjax',
|
|
24
|
+
'sphinx.ext.viewcode',
|
|
25
|
+
'sphinx.ext.autosectionlabel',
|
|
26
|
+
'sphinx_book_theme',
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
intersphinx_mapping = {
|
|
30
|
+
'python': ('https://docs.python.org/3/', None),
|
|
31
|
+
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
|
|
32
|
+
}
|
|
33
|
+
intersphinx_disabled_domains = ['std']
|
|
34
|
+
|
|
35
|
+
templates_path = ['_templates']
|
|
36
|
+
|
|
37
|
+
# -- Options for HTML output
|
|
38
|
+
|
|
39
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
40
|
+
# a list of builtin themes.
|
|
41
|
+
#
|
|
42
|
+
html_theme = 'sphinx_book_theme'
|
|
43
|
+
|
|
44
|
+
# The name of an image file (relative to this directory) to place at the top
|
|
45
|
+
# of the sidebar.
|
|
46
|
+
# html_logo = "findtde-logo.png"
|
|
47
|
+
html_title = "findTDE"
|
|
48
|
+
|
|
49
|
+
# If true, SmartyPants will be used to convert quotes and dashes to
|
|
50
|
+
# typographically correct entities.
|
|
51
|
+
html_use_smartypants = True
|
|
52
|
+
|
|
53
|
+
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
|
54
|
+
# html_show_sphinx = True
|
|
55
|
+
|
|
56
|
+
html_theme_options = {
|
|
57
|
+
"repository_url": "https://github.com/hauck-as/findTDE",
|
|
58
|
+
"github_repo": "https://github.com/hauck-as/findTDE",
|
|
59
|
+
"github_button": True,
|
|
60
|
+
"github_user": "hauck-as", # Username
|
|
61
|
+
"description": "Set of scripts to facilitate easy calculations of threshold displacement energies for materials in VASP/LAMMPS using ab initio/classical molecular dynamics.",
|
|
62
|
+
"repository_branch": "main",
|
|
63
|
+
"path_to_docs": "docs",
|
|
64
|
+
"use_repository_button": True,
|
|
65
|
+
"home_page_in_toc": True,
|
|
66
|
+
"launch_buttons": {
|
|
67
|
+
"binderhub_url": "https://mybinder.org",
|
|
68
|
+
"colab_url": "https://colab.research.google.com",
|
|
69
|
+
},
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
# Adding “Edit Source” links on your Sphinx theme
|
|
73
|
+
html_context = {
|
|
74
|
+
"display_github": True, # Integrate GitHub
|
|
75
|
+
"github_user": "hauck-as", # Username
|
|
76
|
+
"github_repo": "findTDE", # Repo name
|
|
77
|
+
"github_version": "main", # Version
|
|
78
|
+
"conf_py_path": "/docs/", # Path in the checkout to the docs root
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# -- Options for EPUB output
|
|
82
|
+
epub_show_urls = 'footnote'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Copyright (c) 2023 Alexander Hauck. Distributed under the terms of the MIT License.
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
findTDE comprises a set of scripts to facilitate easy, high-throughput calculations of threshold displacement energies for materials in VASP/LAMMPS using ab initio/classical molecular dynamics.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__author__ = "Alexander Hauck"
|
|
8
|
+
__copyright__ = "Copyright (C) 2023 Alexander Hauck"
|
|
9
|
+
__license__ = "MIT License"
|
|
10
|
+
__version__ = "1.0.3"
|
|
File without changes
|