mdkits 0.1.3__tar.gz → 0.1.4__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.
Potentially problematic release.
This version of mdkits might be problematic. Click here for more details.
- {mdkits-0.1.3 → mdkits-0.1.4}/PKG-INFO +20 -1
- {mdkits-0.1.3 → mdkits-0.1.4}/README.md +19 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/pyproject.toml +1 -1
- mdkits-0.1.4/src/mdkits/cli/build_bulk.py +35 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/mdkits.py +2 -0
- mdkits-0.1.3/src/mdkits/cli/build_bulk.py +0 -55
- {mdkits-0.1.3 → mdkits-0.1.4}/LICENSE +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/__init__.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/,hb_distribution_down.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/adsorbate.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/build_interface.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/build_surface.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/convert.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/cube.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/cut_surface.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/data.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/density.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/extract.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/hartree_potential.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/hartree_potential_ave.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/hb.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/hb_distribution.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/packmol_input.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/pdos.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/plot.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/supercell.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/cli/wrap.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/config/__init__.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/config/settings.yml +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/__init__.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/arg_type.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/cp2k_input_parsing.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/encapsulated_ase.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/encapsulated_mda.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/fig_operation.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/numpy_geo.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/os_operation.py +0 -0
- {mdkits-0.1.3 → mdkits-0.1.4}/src/mdkits/util/structure_parsing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: mdkits
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: tools for md or dft
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: molecular dynamics,density functional theory
|
|
@@ -97,6 +97,25 @@ mdkits cube [FILENAME] -b 1 2
|
|
|
97
97
|
```
|
|
98
98
|
会将平均值打印在屏幕上, 同时记录在`cube.out`中的注释行.
|
|
99
99
|
|
|
100
|
+
## 建模
|
|
101
|
+
### 构建体相模型
|
|
102
|
+
`build_bulk`用于构建体相模型, 如构建`Pt`的`fcc`体相模型:
|
|
103
|
+
```bash
|
|
104
|
+
mdkits build_bulk Pt fcc
|
|
105
|
+
```
|
|
106
|
+
构建为常胞模型:
|
|
107
|
+
```bash
|
|
108
|
+
mdkits build_bulk Pt fcc --cubic
|
|
109
|
+
```
|
|
110
|
+
构建一个`Caesium chloride`结构的模型:
|
|
111
|
+
```bash
|
|
112
|
+
mdkits build_bulk CsCl cesiumchloride -a 4.123
|
|
113
|
+
```
|
|
114
|
+
构建一个`fluorite `结构的模型:
|
|
115
|
+
```bash
|
|
116
|
+
mdkits build_bulk BaF2 fluorite -a 6.196
|
|
117
|
+
```
|
|
118
|
+
|
|
100
119
|
## 其他
|
|
101
120
|
### 轨迹提取
|
|
102
121
|
`extract`用于提取轨迹文件中的特定的帧, 如从`frames.xyz`中提取第 1000 帧到第 2000 帧的轨迹文件, 并输出为`1000-2000.xyz`, `-r`选项的参数与`Python`的切片语法一致:
|
|
@@ -72,6 +72,25 @@ mdkits cube [FILENAME] -b 1 2
|
|
|
72
72
|
```
|
|
73
73
|
会将平均值打印在屏幕上, 同时记录在`cube.out`中的注释行.
|
|
74
74
|
|
|
75
|
+
## 建模
|
|
76
|
+
### 构建体相模型
|
|
77
|
+
`build_bulk`用于构建体相模型, 如构建`Pt`的`fcc`体相模型:
|
|
78
|
+
```bash
|
|
79
|
+
mdkits build_bulk Pt fcc
|
|
80
|
+
```
|
|
81
|
+
构建为常胞模型:
|
|
82
|
+
```bash
|
|
83
|
+
mdkits build_bulk Pt fcc --cubic
|
|
84
|
+
```
|
|
85
|
+
构建一个`Caesium chloride`结构的模型:
|
|
86
|
+
```bash
|
|
87
|
+
mdkits build_bulk CsCl cesiumchloride -a 4.123
|
|
88
|
+
```
|
|
89
|
+
构建一个`fluorite `结构的模型:
|
|
90
|
+
```bash
|
|
91
|
+
mdkits build_bulk BaF2 fluorite -a 6.196
|
|
92
|
+
```
|
|
93
|
+
|
|
75
94
|
## 其他
|
|
76
95
|
### 轨迹提取
|
|
77
96
|
`extract`用于提取轨迹文件中的特定的帧, 如从`frames.xyz`中提取第 1000 帧到第 2000 帧的轨迹文件, 并输出为`1000-2000.xyz`, `-r`选项的参数与`Python`的切片语法一致:
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
from ase.build import bulk
|
|
5
|
+
import numpy as np
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.command(name='build_bulk')
|
|
9
|
+
@click.argument('symbol', type=str)
|
|
10
|
+
@click.argument('cs', type=click.Choice(['sc', 'fcc', 'bcc', 'tetragonal', 'bct', 'hcp', 'rhombohedral', 'orthorhombic', 'mcl', 'diamond', 'zincblende', 'rocksalt', 'cesiumchloride', 'fluorite', 'wurtzite']))
|
|
11
|
+
@click.option('-a', type=float, help='designate lattice constant a')
|
|
12
|
+
@click.option('-b', type=float, help='designate lattice constant b. if only a and b is given, b will be interpreted as c instead')
|
|
13
|
+
@click.option('-c', type=float, help='designate lattice constant c')
|
|
14
|
+
@click.option('--alpha', type=float, help='angle in degrees for rhombohedral lattice')
|
|
15
|
+
@click.option('--covera', type=float, help='c/a ratio used for hcp. Default is ideal ratio: sqrt(8/3)', default=np.sqrt(8/3), show_default=True)
|
|
16
|
+
@click.option('-u', type=float, help='internal coordinate for Wurtzite structure')
|
|
17
|
+
@click.option('--orth', is_flag=True, help='construct orthorhombic unit cell instead of primitive cell which is the default')
|
|
18
|
+
@click.option('--cubic', is_flag=True, help='construct cubic unit cell if possible')
|
|
19
|
+
def main(symbol, cs, a, b, c, alpha, covera, u, orth, cubic):
|
|
20
|
+
"""
|
|
21
|
+
build a bulk structure
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
#if args.primitve:
|
|
25
|
+
# a = args.a * 0.7071 * 2
|
|
26
|
+
#else:
|
|
27
|
+
# a = args.a
|
|
28
|
+
atoms = bulk(symbol, cs, a=a, b=b, c=c, alpha=alpha, covera=covera, u=u, orthorhombic=orth, cubic=cubic)
|
|
29
|
+
|
|
30
|
+
atoms.write(f"{symbol}_{cs}.cif", format='cif')
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
if __name__ == '__main__':
|
|
34
|
+
main()
|
|
35
|
+
|
|
@@ -8,6 +8,7 @@ from mdkits.cli import (
|
|
|
8
8
|
density,
|
|
9
9
|
cube,
|
|
10
10
|
pdos,
|
|
11
|
+
build_bulk,
|
|
11
12
|
)
|
|
12
13
|
|
|
13
14
|
|
|
@@ -27,6 +28,7 @@ cli.add_command(plot.main)
|
|
|
27
28
|
cli.add_command(density.main)
|
|
28
29
|
cli.add_command(cube.main)
|
|
29
30
|
cli.add_command(pdos.main)
|
|
31
|
+
cli.add_command(build_bulk.main)
|
|
30
32
|
|
|
31
33
|
|
|
32
34
|
if __name__ == '__main__':
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
|
-
import argparse
|
|
4
|
-
from ase.build import bulk
|
|
5
|
-
from ase.geometry import cell_to_cellpar
|
|
6
|
-
from ase.io import write
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def parse_size(s):
|
|
10
|
-
return [int(x) for x in s.replace(',', ' ').split()]
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def parse_argument():
|
|
14
|
-
parser = argparse.ArgumentParser(description='build a surface structure of matel')
|
|
15
|
-
parser.add_argument('symbol', type=str, help='designate the symbol of matel')
|
|
16
|
-
parser.add_argument('--crystal', type=str, help='designate the crystal of structure')
|
|
17
|
-
parser.add_argument('--orth', help='outpue orthorhombic crystal', action='store_true')
|
|
18
|
-
parser.add_argument('-a', type=float, help='designate a lattice constant')
|
|
19
|
-
parser.add_argument('--primitve', help='designate a lattice constant of real', action='store_true')
|
|
20
|
-
parser.add_argument('-o', type=str, help='output structure name', default='bulk.xyz')
|
|
21
|
-
parser.add_argument('-c', help='output coord.xyz and cell.inc', action='store_true')
|
|
22
|
-
parser.add_argument('-k', help='output kpoint.inc', action='store_true')
|
|
23
|
-
|
|
24
|
-
return parser.parse_args()
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def main():
|
|
28
|
-
args = parse_argument()
|
|
29
|
-
if args.primitve:
|
|
30
|
-
a = args.a * 0.7071 * 2
|
|
31
|
-
else:
|
|
32
|
-
a = args.a
|
|
33
|
-
atoms = bulk(args.symbol, args.crystal, a=a, orthorhombic=args.orth)
|
|
34
|
-
if args.c:
|
|
35
|
-
atoms.write('coord.xyz', format='xyz')
|
|
36
|
-
with open('coord.xyz', 'r') as f:
|
|
37
|
-
lines = f.readlines()[2:]
|
|
38
|
-
with open('coord.xyz', 'w') as f:
|
|
39
|
-
f.writelines(lines)
|
|
40
|
-
with open('cell.inc', 'w') as f:
|
|
41
|
-
cell = list(cell_to_cellpar(atoms.cell))
|
|
42
|
-
f.write('ABC [angstrom] ' + str(cell[0]) + ' ' + str(cell[1]) + ' ' + str(cell[2]) + ' ' + '\n')
|
|
43
|
-
f.write('ALPHA_BETA_GAMMA ' + str(cell[3]) + ' ' + str(cell[4]) + ' ' + str(cell[5]) + '\n')
|
|
44
|
-
if args.k:
|
|
45
|
-
with open('kpoint.inc', 'w') as f:
|
|
46
|
-
if True:
|
|
47
|
-
if True:
|
|
48
|
-
f.write(f"SCHEME MONKHORST-PACK {int(round(30/cell[0]))} {int(round(30/cell[1]))} {int(round(30/cell[2]))}" + "\n")
|
|
49
|
-
else:
|
|
50
|
-
atoms.write(args.o)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if __name__ == '__main__':
|
|
54
|
-
main()
|
|
55
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|