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 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 len(surface) == 1:
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, upper_z = self.surface_pos / self.frame_count
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
@@ -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
- if len(surface) > 1:
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
- surface = self.surface_pos/self.frame_count
142
- lower_z = surface[0]
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
- f = np.abs(np.fft.fft(self.cvv))
36
+ fftraj = np.fft.rfft(self.cvv)
37
+ fdos = np.abs(fftraj)
37
38
 
38
- faxis = np.fft.fftfreq(sf, d=1/sf)
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('f.dat', np.column_stack((faxis, f)), fmt='%.5f')
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.2.2
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`文件中提取最后一帧输出为`extracted.xyz`(`extract`的默认行为):
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=ALAZ5uOaoT0UpCyKYleWxwmk569HMzKTTK-lMJeicM8,1411
21
- mdkits/md_cli/angle.py,sha256=cfhI6dsn_hIy-YXSTXemu1m1O_l2HuL_x6zx_3uL-Uw,5450
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=tXTO8CZAQTVY55GwuXWJNGo7EQ4Tb2611g5IHucdlec,4836
24
- mdkits/md_cli/hb_distribution.py,sha256=ForMmNjfJxpXHqo1Au0OXOmwgvHxIuVR8qnpu3iS7Eg,7897
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=eIVRF5ADHLwWp50gv0VoAxT0UCXpzLcD57f3TQM6Hxs,2135
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.2.2.dist-info/entry_points.txt,sha256=xoWWZ_yL87S501AzCO2ZjpnVuYkElC6z-8J3tmuIGXQ,44
45
- mdkits-0.2.2.dist-info/LICENSE,sha256=VLaqyB0r_H7y3hUntfpPWcE3OATTedHWI983htLftcQ,1081
46
- mdkits-0.2.2.dist-info/METADATA,sha256=GWbzewK2VIqfZ0HatG6WAlKQX_V20ZDlh-ZMK_o7HIM,10963
47
- mdkits-0.2.2.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
48
- mdkits-0.2.2.dist-info/RECORD,,
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