mdkits 0.1a1__py3-none-any.whl
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/__init__.py +0 -0
- mdkits/cli/,hb_distribution.py +126 -0
- mdkits/cli/,hb_distribution_down.py +114 -0
- mdkits/cli/adsorbate.py +84 -0
- mdkits/cli/build_bulk.py +55 -0
- mdkits/cli/build_interface.py +86 -0
- mdkits/cli/build_surface.py +134 -0
- mdkits/cli/cmdline.py +41 -0
- mdkits/cli/convert.py +63 -0
- mdkits/cli/cp2k_input.py +479 -0
- mdkits/cli/cube.py +59 -0
- mdkits/cli/cut_surface.py +38 -0
- mdkits/cli/data.py +80 -0
- mdkits/cli/density.py +89 -0
- mdkits/cli/density2.py +91 -0
- mdkits/cli/extract.py +80 -0
- mdkits/cli/hartree_potential.py +59 -0
- mdkits/cli/hartree_potential_ave.py +84 -0
- mdkits/cli/hb.py +101 -0
- mdkits/cli/log.py +64 -0
- mdkits/cli/matplot.py +60 -0
- mdkits/cli/packmol_input.py +76 -0
- mdkits/cli/pdos.py +36 -0
- mdkits/cli/plot.py +289 -0
- mdkits/cli/supercell.py +72 -0
- mdkits/cli/wrap.py +36 -0
- mdkits/config/__init__.py +35 -0
- mdkits/config/settings.yml +4 -0
- mdkits/mdtool.py +28 -0
- mdkits/util/__init__.py +0 -0
- mdkits/util/arg_type.py +41 -0
- mdkits/util/cp2k_input_parsing.py +46 -0
- mdkits/util/encapsulated_ase.py +134 -0
- mdkits/util/encapsulated_mda.py +59 -0
- mdkits/util/fig_operation.py +28 -0
- mdkits/util/numpy_geo.py +118 -0
- mdkits/util/os_operation.py +35 -0
- mdkits/util/structure_parsing.py +147 -0
- mdkits-0.1a1.dist-info/LICENSE +21 -0
- mdkits-0.1a1.dist-info/METADATA +161 -0
- mdkits-0.1a1.dist-info/RECORD +43 -0
- mdkits-0.1a1.dist-info/WHEEL +4 -0
- mdkits-0.1a1.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: mdkits
|
|
3
|
+
Version: 0.1a1
|
|
4
|
+
Summary: tools for md or dft
|
|
5
|
+
License: MIT
|
|
6
|
+
Keywords: molecular dynamics,density functional theory
|
|
7
|
+
Author: jxxcr
|
|
8
|
+
Author-email: jixxcr@qq.com
|
|
9
|
+
Requires-Python: >=3.11,<4.0
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Requires-Dist: MDAnalysis (>=2.8.0,<3.0.0)
|
|
17
|
+
Requires-Dist: ase (>=3.22.1,<4.0.0)
|
|
18
|
+
Requires-Dist: click (>=8.1.3,<9.0.0)
|
|
19
|
+
Requires-Dist: dynaconf (>=3.1.12,<4.0.0)
|
|
20
|
+
Requires-Dist: matplotlib (>=3.9.0,<4.0.0)
|
|
21
|
+
Requires-Dist: numpy (>=1.26.4,<2.0.0)
|
|
22
|
+
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
23
|
+
Project-URL: Repository, https://github.com/jxxcr/mdkits
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# MD 轨迹分析脚本
|
|
27
|
+
`mdtool` 提供了多种工具, 安装脚本:
|
|
28
|
+
```bash
|
|
29
|
+
pip install mdtool --upgrade
|
|
30
|
+
```
|
|
31
|
+
### 密度分布
|
|
32
|
+
|
|
33
|
+
### 氢键
|
|
34
|
+
|
|
35
|
+
#### 单个水分子
|
|
36
|
+
|
|
37
|
+
#### 氢键分布
|
|
38
|
+
|
|
39
|
+
### 角度
|
|
40
|
+
|
|
41
|
+
#### 与表面法向量夹角分布
|
|
42
|
+
|
|
43
|
+
#### ion - O - ion 夹角分布
|
|
44
|
+
|
|
45
|
+
#### $\cos \phi \rho_{H_2 O}$ 分布
|
|
46
|
+
|
|
47
|
+
### RDF
|
|
48
|
+
|
|
49
|
+
### 位置归一化
|
|
50
|
+
`wrap`用于将轨迹文件中的原子位置进行归一化处理, 如将`[FILENAME]`中的原子位置归一化到晶胞中, 并输出为`wrapped.xyz`, 默认从`cp2k`的输出文件`input_inp`中读取`ABC`和`ALPHA_BETA_GAMMA`信息作为晶胞参数:
|
|
51
|
+
```bash
|
|
52
|
+
mdtool wrap [FILENAME]
|
|
53
|
+
```
|
|
54
|
+
或指定`cp2k`的输入文件:
|
|
55
|
+
```bash
|
|
56
|
+
mdtool wrap [FILENAME] --cp2k_input_file setting.inp
|
|
57
|
+
```
|
|
58
|
+
或指定晶胞参数:
|
|
59
|
+
```bash
|
|
60
|
+
mdtool wrap [FILENAME] --cell 10,10,10
|
|
61
|
+
```
|
|
62
|
+
默认的`[FILENAME]`为`*-pos-1.xyz`
|
|
63
|
+
|
|
64
|
+
## DFT 性质分析脚本
|
|
65
|
+
### PDOS
|
|
66
|
+
|
|
67
|
+
### 静电势
|
|
68
|
+
|
|
69
|
+
### 电荷差分
|
|
70
|
+
|
|
71
|
+
## 其他
|
|
72
|
+
### 轨迹提取
|
|
73
|
+
`extract`用于提取轨迹文件中的特定的帧, 如从`frames.xyz`中提取第 1000 帧到第 2000 帧的轨迹文件, 并输出为`1000-2000.xyz`, `-r`选项的参数与`Python`的切片语法一致:
|
|
74
|
+
```bash
|
|
75
|
+
mdtool extract frames.xyz -r 1000:2000 -o 1000-2000.xyz
|
|
76
|
+
```
|
|
77
|
+
或从`cp2k`的默认输出的轨迹文件`*-pos-1.xyz`文件中提取最后一帧输出为`extracted.xyz`(`extract`的默认行为):
|
|
78
|
+
```bash
|
|
79
|
+
mdtool extract
|
|
80
|
+
```
|
|
81
|
+
或每50帧输出一个结构到`./coord`目录中, 同时调整输出格式为`cp2k`的`@INCLUDE coord.xyz`的形式:
|
|
82
|
+
```bash
|
|
83
|
+
mdtool extract -cr ::50
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 结构文件转换
|
|
87
|
+
`convert`用于将结构文件从一种格式转换为另一种格式, 如将`structure.xyz`转换为`out.cif`(默认文件名为`out`), 对于不储存周期性边界条件的文件, 可以使用`--cell`选项指定`PBC`:
|
|
88
|
+
```bash
|
|
89
|
+
mdtool convert -c structure.xyz --cell 10,10,10
|
|
90
|
+
```
|
|
91
|
+
将`structure.cif`转换为`POSCAR`:
|
|
92
|
+
```bash
|
|
93
|
+
mdtool convert -v structure.cif
|
|
94
|
+
```
|
|
95
|
+
将`structure.cif`转换为`structure_xyz.xyz`:
|
|
96
|
+
```bash
|
|
97
|
+
mdtool convert -c structure.cif -o structure_xyz
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 数据处理
|
|
101
|
+
`data`用于对数据进行处理如:
|
|
102
|
+
1. `--nor`: 对数据进行归一化处理
|
|
103
|
+
2. `--gaus`: 对数据进行高斯过滤
|
|
104
|
+
3. `--fold`: 堆数据进行折叠平均
|
|
105
|
+
4. `--err`: 计算数据的误差棒
|
|
106
|
+
等
|
|
107
|
+
|
|
108
|
+
### 绘图工具
|
|
109
|
+
`plot`用于绘制数据图, `plot`需要读取`yaml`格式的配置文件进行绘图, `yaml`文件的形式如下:
|
|
110
|
+
```yaml
|
|
111
|
+
# plot mode 1
|
|
112
|
+
figure1:
|
|
113
|
+
data:
|
|
114
|
+
legend1: ./data1.dat
|
|
115
|
+
legend2: ./data2.dat
|
|
116
|
+
x:
|
|
117
|
+
0: x-axis
|
|
118
|
+
y:
|
|
119
|
+
1: y-axis
|
|
120
|
+
x_range:
|
|
121
|
+
- 5
|
|
122
|
+
- 15
|
|
123
|
+
|
|
124
|
+
# plot mode 2
|
|
125
|
+
figure2:
|
|
126
|
+
data:
|
|
127
|
+
y-xais: ./data.dat
|
|
128
|
+
x:
|
|
129
|
+
0: x-axis
|
|
130
|
+
y:
|
|
131
|
+
1: legend1
|
|
132
|
+
2: legend2
|
|
133
|
+
3: legend3
|
|
134
|
+
4: legend4
|
|
135
|
+
5: legend5
|
|
136
|
+
y_range:
|
|
137
|
+
- 0.5
|
|
138
|
+
- 6
|
|
139
|
+
legend_fontsize: 12
|
|
140
|
+
|
|
141
|
+
# plot mode error
|
|
142
|
+
12_dp_e_error:
|
|
143
|
+
data:
|
|
144
|
+
legend: ./error.dat
|
|
145
|
+
x:
|
|
146
|
+
0: x-axis
|
|
147
|
+
y:
|
|
148
|
+
1: y-axis
|
|
149
|
+
fold: dp
|
|
150
|
+
legend_fontsize: 12
|
|
151
|
+
```
|
|
152
|
+
如上`plot`支持三种绘图模式, `mode 1`, `mode 2`和`mode error`. `mode 1`用于绘制多组数据文件的同一列数据对比, `mode 2`用于绘制同一数据文件的不同列数据对比, `mode error`用于绘制均方根误差图.
|
|
153
|
+
|
|
154
|
+
`plot`可以同时处理多个`yaml`文件, 每个`yaml`文件可以包含多个绘图配置, `mode 1`和`mode 2`的绘图配置可以自动识别, 但是`error`模式需要而外指定, 如:
|
|
155
|
+
```bash
|
|
156
|
+
mdtool plot *.yaml
|
|
157
|
+
```
|
|
158
|
+
和:
|
|
159
|
+
```bash
|
|
160
|
+
mdtool plot *.yaml --error
|
|
161
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
mdkits/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
"mdkits/cli/,hb_distribution.py",sha256=VpTyOhU9oucWUnqUSmLgZfMb5g0tR0q7vrxakLSrKxI,5120
|
|
3
|
+
"mdkits/cli/,hb_distribution_down.py",sha256=i3NguzGebqCgy4uuVBeFajZRZnXtjhsJBPDGDdumlWA,4733
|
|
4
|
+
mdkits/cli/adsorbate.py,sha256=6PN6qVSzhOFLxjUal4T2Qk5W5XUWAUn5-JXS8-D0xqo,3126
|
|
5
|
+
mdkits/cli/build_bulk.py,sha256=dto5Wj-RcpzaGvyqTamo-3UfjQFQ_6cjy5_lMG0grPk,2117
|
|
6
|
+
mdkits/cli/build_interface.py,sha256=i1YE5iwazKVsTdQ_DXalNYeA8oflORWFePgJin1AJM4,3537
|
|
7
|
+
mdkits/cli/build_surface.py,sha256=tL9rSv6MROPRtVUu8JiPJbt4YdHFVKTZrEUaSd3rlzI,5657
|
|
8
|
+
mdkits/cli/cmdline.py,sha256=ybTNLCcbOSKTiDkhf6lorV_TL4ogRB2c_q8QoUbw7bg,1046
|
|
9
|
+
mdkits/cli/convert.py,sha256=McwSTs_rhe2a096r6Hc5DkMTS8OjEfg61W5A5afgeX4,2014
|
|
10
|
+
mdkits/cli/cp2k_input.py,sha256=EskBUSaAOLmrrUYGruTwZjEy9EksdEhWwR5ys9juIbg,11139
|
|
11
|
+
mdkits/cli/cube.py,sha256=XcJfsJ5Y2d5MQfD45p06_gV1fTJbDSrNhCnZ3Sz2Vb0,2233
|
|
12
|
+
mdkits/cli/cut_surface.py,sha256=D1naCWj0QJE3AiInzy3SeGO37butothE3BS1rZsZ5MU,1425
|
|
13
|
+
mdkits/cli/data.py,sha256=FGA4S9Cfo6WUJBSPWKOJrrZXHo_Qza-jNG1P_Dw7yi4,3262
|
|
14
|
+
mdkits/cli/density.py,sha256=t8d5lxkmUtrIrxy5B2_OK3qtTUS5nTTalJ2dgJh-vVY,3530
|
|
15
|
+
mdkits/cli/density2.py,sha256=I1OtC7s979Ks7GOH47hTKUGE1h6tUFYvNZQ7Qbifs6I,3458
|
|
16
|
+
mdkits/cli/extract.py,sha256=4QI78Zx9wtiEQk3FegMOFikMSJvfBCBikeZp121WrF8,2498
|
|
17
|
+
mdkits/cli/hartree_potential.py,sha256=XcJfsJ5Y2d5MQfD45p06_gV1fTJbDSrNhCnZ3Sz2Vb0,2233
|
|
18
|
+
mdkits/cli/hartree_potential_ave.py,sha256=25oy3QsgIdxrTFpTqpnGvLAheb-d6poeLMN7iuGT3Xk,3335
|
|
19
|
+
mdkits/cli/hb.py,sha256=lADr4tlctbtQ3_f_UpznkLnSI0MJlAT-pknEf_dwrnU,5330
|
|
20
|
+
mdkits/cli/log.py,sha256=2WD0AimvAezqCFTmMLkXR_Gr2Rh5KRb47IzYOVcXcqY,1916
|
|
21
|
+
mdkits/cli/matplot.py,sha256=j6Z9vynNd8qPA_QzXDpQ-3pxLk7woRsFJep8W5iNm-E,1739
|
|
22
|
+
mdkits/cli/packmol_input.py,sha256=76MjjMMRDaW2q459B5mEpXDYSSn14W-JXudOOsx-8E4,2849
|
|
23
|
+
mdkits/cli/pdos.py,sha256=wkv4TD02fHKR0gDQ_h738Iu8_0xPKBOesVdngVZ-YfI,1044
|
|
24
|
+
mdkits/cli/plot.py,sha256=bWUj4Cvz8fHn_FcdZ3C3rUDd5LNO97Qvc5UVNq6UdOc,8881
|
|
25
|
+
mdkits/cli/supercell.py,sha256=r5iddLw1NNzj7NTFlR2j_jpD1AMfrsxhA08bPwQvVvg,2059
|
|
26
|
+
mdkits/cli/wrap.py,sha256=ZKJu0zG7z9mVG2n3RDX3fy0FTqQhOnHmUvA90hLhWX8,1043
|
|
27
|
+
mdkits/config/__init__.py,sha256=t3fgtnecTxRpKXySFvpPlWUE6b3KwgOaoWt25nv4Lbk,1039
|
|
28
|
+
mdkits/config/settings.yml,sha256=FY8lR5ffJrOen1O_Cnj28bsieQoG0DqagRRvgGc4s5I,71
|
|
29
|
+
mdkits/mdtool.py,sha256=chj09AgBp1hMttyZgMj-OvQ0bH4zLCV4c-_pp4-sbmU,443
|
|
30
|
+
mdkits/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
mdkits/util/arg_type.py,sha256=YUFhYShTYfUe7xajgUCiCuaeNLH-wxMXvlcMRax4zRM,1469
|
|
32
|
+
mdkits/util/cp2k_input_parsing.py,sha256=6BFVsbBYxdauaUPrjr5h8JXk_R0bu7V3cbG2DEWWFlQ,1291
|
|
33
|
+
mdkits/util/encapsulated_ase.py,sha256=dZU1i9Kw8rIyiQCCSDEXOs3q_z4dCMIo6bf5ooY9u0c,4089
|
|
34
|
+
mdkits/util/encapsulated_mda.py,sha256=td3H24u3eHOIS2nwPucfIaMxeaVxI77oFI8nnNhw7vo,2217
|
|
35
|
+
mdkits/util/fig_operation.py,sha256=FwffNUtXorMl6qE04FipgzcVljEQii7wrNJUCJMyY3E,1045
|
|
36
|
+
mdkits/util/numpy_geo.py,sha256=ngSNoXkt3bHjOdv77ZlvQGbj1V75IyjjUWlDi1J0V6g,3549
|
|
37
|
+
mdkits/util/os_operation.py,sha256=tNRjniDwFqARMy5Rf6MUNmaQGpJlyifCpuN16r8aB2g,828
|
|
38
|
+
mdkits/util/structure_parsing.py,sha256=mRPMJeih3O-ST7HeETDvBEkfV-1psT-XgxyYgDadV0U,4152
|
|
39
|
+
mdkits-0.1a1.dist-info/entry_points.txt,sha256=xoWWZ_yL87S501AzCO2ZjpnVuYkElC6z-8J3tmuIGXQ,44
|
|
40
|
+
mdkits-0.1a1.dist-info/LICENSE,sha256=VLaqyB0r_H7y3hUntfpPWcE3OATTedHWI983htLftcQ,1081
|
|
41
|
+
mdkits-0.1a1.dist-info/METADATA,sha256=rowYlqfhFyE4RIiuioe5FDx1l07sGM8jhn3ZmFZExD4,4284
|
|
42
|
+
mdkits-0.1a1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
|
43
|
+
mdkits-0.1a1.dist-info/RECORD,,
|