mdkits 0.2.2__py3-none-any.whl → 1.0.0__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/dft_cli/pdos.py +1 -0
- mdkits/md_cli/angle.py +1 -1
- mdkits/md_cli/dipole.py +5 -1
- mdkits/md_cli/hb_distribution.py +6 -5
- mdkits/md_cli/vac.py +5 -7
- {mdkits-0.2.2.dist-info → mdkits-1.0.0.dist-info}/METADATA +13 -2
- {mdkits-0.2.2.dist-info → mdkits-1.0.0.dist-info}/RECORD +10 -10
- {mdkits-0.2.2.dist-info → mdkits-1.0.0.dist-info}/LICENSE +0 -0
- {mdkits-0.2.2.dist-info → mdkits-1.0.0.dist-info}/WHEEL +0 -0
- {mdkits-0.2.2.dist-info → mdkits-1.0.0.dist-info}/entry_points.txt +0 -0
mdkits/dft_cli/pdos.py
CHANGED
|
@@ -12,6 +12,7 @@ from mdkits.util import os_operation
|
|
|
12
12
|
@click.option('-t', '--type', type=str, default='total', show_default=True)
|
|
13
13
|
@click.option('-c', '--clos', type=tuple)
|
|
14
14
|
def main(filename, type, clos):
|
|
15
|
+
"""analysis cp2k pdos file"""
|
|
15
16
|
if type == 'total':
|
|
16
17
|
dos_obj = Cp2kPdos(filename[0])
|
|
17
18
|
dos, ener = dos_obj.get_raw_dos(dos_type=type)
|
mdkits/md_cli/angle.py
CHANGED
|
@@ -63,7 +63,7 @@ class Angle_distribution(AnalysisBase):
|
|
|
63
63
|
def _single_frame(self):
|
|
64
64
|
surface = numpy_geo.find_surface(self.surface_group.positions[:, 2])
|
|
65
65
|
|
|
66
|
-
if
|
|
66
|
+
if surface[1] == 0:
|
|
67
67
|
o_group = self.atomgroup.select_atoms(f"name O and prop z < {surface[0]+self.water_height}", updating=True)
|
|
68
68
|
else:
|
|
69
69
|
o_group = self.atomgroup.select_atoms(f"name O and (prop z < {surface[0]+self.water_height} or prop z > {surface[1]-self.water_height})", updating=True)
|
mdkits/md_cli/dipole.py
CHANGED
|
@@ -89,7 +89,11 @@ class Dipole_distribution(AnalysisBase):
|
|
|
89
89
|
bins_z = np.arange(len(average_dipole)) * self.bin_size
|
|
90
90
|
|
|
91
91
|
if self.surface:
|
|
92
|
-
lower_z
|
|
92
|
+
lower_z = self.surface_pos[0] / self.frame_count
|
|
93
|
+
if self.surface_pos[1] == 0:
|
|
94
|
+
upper_z = np.inf
|
|
95
|
+
else:
|
|
96
|
+
upper_z = self.surface_pos[1] / self.frame_count
|
|
93
97
|
|
|
94
98
|
mask = (bins_z >= lower_z) & (bins_z <= upper_z)
|
|
95
99
|
filtered_bins_z = bins_z[mask] - lower_z
|
mdkits/md_cli/hb_distribution.py
CHANGED
|
@@ -123,8 +123,7 @@ class Hb_distribution(AnalysisBase):
|
|
|
123
123
|
if self.surface_group:
|
|
124
124
|
surface = numpy_geo.find_surface(self.surface_group.positions[:, 2])
|
|
125
125
|
self.surface_pos[0] += surface[0]
|
|
126
|
-
|
|
127
|
-
self.surface_pos[1] += surface[1]
|
|
126
|
+
self.surface_pos[1] += surface[1]
|
|
128
127
|
|
|
129
128
|
self.frame_count += 1
|
|
130
129
|
|
|
@@ -138,10 +137,12 @@ class Hb_distribution(AnalysisBase):
|
|
|
138
137
|
bins_z = np.arange(len(self.donor)) * self.bin_size
|
|
139
138
|
|
|
140
139
|
if self.surface:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if surface[1] ==0:
|
|
140
|
+
lower_z = self.surface_pos[0] / self.frame_count
|
|
141
|
+
if self.surface_pos[1] == 0:
|
|
144
142
|
upper_z = np.inf
|
|
143
|
+
else:
|
|
144
|
+
upper_z = self.surface_pos[1] / self.frame_count
|
|
145
|
+
|
|
145
146
|
mask = (bins_z >= lower_z) & (bins_z <= upper_z)
|
|
146
147
|
filtered_bins_z = bins_z[mask] - lower_z
|
|
147
148
|
filtered_average_accepter = average_accepter[mask]
|
mdkits/md_cli/vac.py
CHANGED
|
@@ -33,17 +33,15 @@ class Velocity_AutoCorrelation(AnalysisBase):
|
|
|
33
33
|
self.cvv = np.array(self.cvv)
|
|
34
34
|
|
|
35
35
|
sf = self.cvv.shape[0]
|
|
36
|
-
|
|
36
|
+
fftraj = np.fft.rfft(self.cvv)
|
|
37
|
+
fdos = np.abs(fftraj)
|
|
37
38
|
|
|
38
|
-
faxis = np.fft.
|
|
39
|
-
pf = np.where(faxis>0)
|
|
40
|
-
faxis = faxis[pf]
|
|
41
|
-
f = f[pf]
|
|
39
|
+
faxis = np.fft.rfftfreq(sf, d=1/sf)
|
|
42
40
|
|
|
43
41
|
combine = np.column_stack((np.arange(len(self.cvv)), self.cvv))
|
|
44
42
|
|
|
45
43
|
np.savetxt('vac.dat', combine, fmt='%.5f', header="frame\tvac")
|
|
46
|
-
np.savetxt('
|
|
44
|
+
np.savetxt('freq.dat', np.column_stack((faxis, fdos)), fmt='%.5f', header="freq\tabundance")
|
|
47
45
|
|
|
48
46
|
|
|
49
47
|
@click.command(name="vac")
|
|
@@ -51,7 +49,7 @@ class Velocity_AutoCorrelation(AnalysisBase):
|
|
|
51
49
|
@click.option("--select", type=str, default="all", help="atom selection", show_default=True)
|
|
52
50
|
@click.option('-r', type=arg_type.FrameRange, help='range of frame to analysis')
|
|
53
51
|
def main(filename, select, r):
|
|
54
|
-
"""analysis velocity autocorrelation function"""
|
|
52
|
+
"""analysis velocity autocorrelation function and frequency"""
|
|
55
53
|
a = Velocity_AutoCorrelation(filename, select)
|
|
56
54
|
|
|
57
55
|
if r is not None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: mdkits
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: kits for md or dft
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: molecular dynamics,density functional theory
|
|
@@ -121,6 +121,13 @@ mdkits md wrap [FILENAME] --cell 10,10,10
|
|
|
121
121
|
```
|
|
122
122
|
默认的`[FILENAME]`为`*-pos-1.xyz`
|
|
123
123
|
|
|
124
|
+
### 振动态密度(VDOS)
|
|
125
|
+
`vac`用于分析轨迹的速度自相关函数, 同时计算速度自相关函数的傅里叶变换, 即振动动态密度(VDOS), 如分析体系中的VDOS:
|
|
126
|
+
```bash
|
|
127
|
+
mdkits md vac h2o-vel-1.xyz
|
|
128
|
+
```
|
|
129
|
+
默认的`[FILENAME]`为`*-vel-1.xyz`
|
|
130
|
+
|
|
124
131
|
## DFT 性质分析脚本
|
|
125
132
|
`dft`为DFT性质分析工具, 其中包含多个分析工具
|
|
126
133
|
### PDOS
|
|
@@ -235,7 +242,7 @@ mdkits build supercell Li3PO4.cif 2 2 2
|
|
|
235
242
|
```bash
|
|
236
243
|
mdkits extract frames.xyz -r 1000:2000 -o 1000-2000.xyz
|
|
237
244
|
```
|
|
238
|
-
或从`cp2k`的默认输出的轨迹文件`*-pos-1.xyz`文件中提取最后一帧输出为`
|
|
245
|
+
或从`cp2k`的默认输出的轨迹文件`*-pos-1.xyz`文件中提取最后一帧输出为`frames_-1.xyz`(`extract`的默认行为):
|
|
239
246
|
```bash
|
|
240
247
|
mdkits extract
|
|
241
248
|
```
|
|
@@ -243,6 +250,10 @@ mdkits extract
|
|
|
243
250
|
```bash
|
|
244
251
|
mdkits extract -cr ::50
|
|
245
252
|
```
|
|
253
|
+
提取部分元素的位置, 如提取`O`元素和`H`元素的位置:
|
|
254
|
+
```bash
|
|
255
|
+
mdkits extract --select "name O or name H"
|
|
256
|
+
```
|
|
246
257
|
|
|
247
258
|
### 结构文件转换
|
|
248
259
|
`convert`用于将结构文件从一种格式转换为另一种格式, 如将`structure.xyz`转换为`out.cif`(默认文件名为`out`), 对于不储存周期性边界条件的文件, 可以使用`--cell`选项指定`PBC`:
|
|
@@ -17,17 +17,17 @@ mdkits/config/__init__.py,sha256=ZSwmnPK02LxJLMgcYmNb-tIOk8fEuHf5jpqD3SDHWLg,103
|
|
|
17
17
|
mdkits/config/settings.yml,sha256=PY7u0PbFLuxSnd54H5tI9oMjUf-mzyADqSZtm99BwG0,71
|
|
18
18
|
mdkits/dft_cli/cube.py,sha256=G-QNup8W6J1-LCcEl1EHsV3nstd23byePDOcE_95t18,1176
|
|
19
19
|
mdkits/dft_cli/dft_cli.py,sha256=Ou9-e4uGhDJJk2Gdg7tcj6iKApkAJZFSbN1hr7SlCMc,281
|
|
20
|
-
mdkits/dft_cli/pdos.py,sha256=
|
|
21
|
-
mdkits/md_cli/angle.py,sha256=
|
|
20
|
+
mdkits/dft_cli/pdos.py,sha256=EjZ1oWJHHUocZAZe8dgJUu6bkLPVwgrKkggidF3yduE,1445
|
|
21
|
+
mdkits/md_cli/angle.py,sha256=dS3qMreC-vIrwa5LAaZQ9lRPYuwUAe14_8ZDkntujl0,5448
|
|
22
22
|
mdkits/md_cli/density.py,sha256=br8jq_qlkKwJr_wkdKGHCYbg16TmGPjasX5LI9E55yk,5312
|
|
23
|
-
mdkits/md_cli/dipole.py,sha256=
|
|
24
|
-
mdkits/md_cli/hb_distribution.py,sha256=
|
|
23
|
+
mdkits/md_cli/dipole.py,sha256=Q2Bp42gB00Q1mxrHgmYbhkLT1w3uVNHMmjA_93TF-V8,5007
|
|
24
|
+
mdkits/md_cli/hb_distribution.py,sha256=aoB6Yk1a4agPLEravjkvJ3llNJAroZbSgQ8vNoNSex8,7930
|
|
25
25
|
mdkits/md_cli/md_cli.py,sha256=2vH04o_3d5kCJsn3qEq-iUPhebKJOrS-e7HJtyiZTiQ,571
|
|
26
26
|
mdkits/md_cli/monitor.py,sha256=JNEgz5RGbFn4x_E85pAiPUY1NVIyZ3b2vjpBk_d1dR8,4536
|
|
27
27
|
mdkits/md_cli/msd.py,sha256=v-9TPKBGHz6ce2PUwexrekVq_9eiutIOQYaw582yN30,965
|
|
28
28
|
mdkits/md_cli/rdf.py,sha256=p4HMMYZLfFRPnGx7YHQU6kZnMAfoL6vOyOVpZhfdBfM,1712
|
|
29
29
|
mdkits/md_cli/setting.py,sha256=mxMTYpm6DUjMt9hOKsJbBSKwCqzMilOR0bo1azSdJP0,846
|
|
30
|
-
mdkits/md_cli/vac.py,sha256=
|
|
30
|
+
mdkits/md_cli/vac.py,sha256=MJi_uftl0UUqhWvqDtcr14qtcRgYRd6X0VSg4J5MFN8,2133
|
|
31
31
|
mdkits/md_cli/wrap.py,sha256=YdUpvhRyKn7bYnIAVgP39qItPdrEoTeJl55TmbS7Qqk,1044
|
|
32
32
|
mdkits/mdkits.py,sha256=EiAt7dxGTaHuuj7bCNxgAqZbX0i3sldO0mBxOG-aMnY,595
|
|
33
33
|
mdkits/util/.fig_operation.py.swp,sha256=iZYqdYMj4UKS1rmbXv8Ve2FcVBcNljX7Y43-neMdPSk,12288
|
|
@@ -41,8 +41,8 @@ mdkits/util/numpy_geo.py,sha256=B2QVADl1M8iixZrIOre2UUhHqvAeghvM8Q2woEQsH3Q,3880
|
|
|
41
41
|
mdkits/util/os_operation.py,sha256=ErN2ExjX9vZRfPe3ypsj4eyoQTEePqzlEX0Xm1N4lL4,980
|
|
42
42
|
mdkits/util/out_err.py,sha256=7vGDI7wVoJWe1S0BDbcq-UC2KAhblCzg-NAYZKBZ4lo,900
|
|
43
43
|
mdkits/util/structure_parsing.py,sha256=mRPMJeih3O-ST7HeETDvBEkfV-1psT-XgxyYgDadV0U,4152
|
|
44
|
-
mdkits-0.
|
|
45
|
-
mdkits-0.
|
|
46
|
-
mdkits-0.
|
|
47
|
-
mdkits-0.
|
|
48
|
-
mdkits-0.
|
|
44
|
+
mdkits-1.0.0.dist-info/entry_points.txt,sha256=xoWWZ_yL87S501AzCO2ZjpnVuYkElC6z-8J3tmuIGXQ,44
|
|
45
|
+
mdkits-1.0.0.dist-info/LICENSE,sha256=VLaqyB0r_H7y3hUntfpPWcE3OATTedHWI983htLftcQ,1081
|
|
46
|
+
mdkits-1.0.0.dist-info/METADATA,sha256=Z2GyGDkAg9qgs7DmgDwA2mcgkA6aXOZHAiHlIFwRcSs,11351
|
|
47
|
+
mdkits-1.0.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
|
48
|
+
mdkits-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|