mdkits 0.2.2__tar.gz → 1.0.0__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.

Files changed (47) hide show
  1. {mdkits-0.2.2 → mdkits-1.0.0}/PKG-INFO +13 -2
  2. {mdkits-0.2.2 → mdkits-1.0.0}/README.md +12 -1
  3. {mdkits-0.2.2 → mdkits-1.0.0}/pyproject.toml +1 -1
  4. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/dft_cli/pdos.py +1 -0
  5. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/angle.py +1 -1
  6. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/dipole.py +5 -1
  7. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/hb_distribution.py +6 -5
  8. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/vac.py +5 -7
  9. {mdkits-0.2.2 → mdkits-1.0.0}/LICENSE +0 -0
  10. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/__init__.py +0 -0
  11. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/__init__.py +0 -0
  12. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/adsorbate.py +0 -0
  13. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/build_bulk.py +0 -0
  14. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/build_cli.py +0 -0
  15. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/build_interface.py +0 -0
  16. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/build_solution.py +0 -0
  17. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/build_surface.py +0 -0
  18. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/cut_surface.py +0 -0
  19. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/supercell.py +0 -0
  20. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/build_cli/water.xyz +0 -0
  21. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/cli/convert.py +0 -0
  22. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/cli/data.py +0 -0
  23. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/cli/extract.py +0 -0
  24. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/cli/plot.py +0 -0
  25. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/config/__init__.py +0 -0
  26. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/config/settings.yml +0 -0
  27. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/dft_cli/cube.py +0 -0
  28. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/dft_cli/dft_cli.py +0 -0
  29. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/density.py +0 -0
  30. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/md_cli.py +0 -0
  31. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/monitor.py +0 -0
  32. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/msd.py +0 -0
  33. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/rdf.py +0 -0
  34. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/setting.py +0 -0
  35. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/md_cli/wrap.py +0 -0
  36. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/mdkits.py +0 -0
  37. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/.fig_operation.py.swp +0 -0
  38. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/__init__.py +0 -0
  39. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/arg_type.py +0 -0
  40. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/cp2k_input_parsing.py +0 -0
  41. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/encapsulated_ase.py +0 -0
  42. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/encapsulated_mda.py +0 -0
  43. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/fig_operation.py +0 -0
  44. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/numpy_geo.py +0 -0
  45. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/os_operation.py +0 -0
  46. {mdkits-0.2.2 → mdkits-1.0.0}/src/mdkits/util/out_err.py +0 -0
  47. {mdkits-0.2.2 → mdkits-1.0.0}/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.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`:
@@ -94,6 +94,13 @@ mdkits md wrap [FILENAME] --cell 10,10,10
94
94
  ```
95
95
  默认的`[FILENAME]`为`*-pos-1.xyz`
96
96
 
97
+ ### 振动态密度(VDOS)
98
+ `vac`用于分析轨迹的速度自相关函数, 同时计算速度自相关函数的傅里叶变换, 即振动动态密度(VDOS), 如分析体系中的VDOS:
99
+ ```bash
100
+ mdkits md vac h2o-vel-1.xyz
101
+ ```
102
+ 默认的`[FILENAME]`为`*-vel-1.xyz`
103
+
97
104
  ## DFT 性质分析脚本
98
105
  `dft`为DFT性质分析工具, 其中包含多个分析工具
99
106
  ### PDOS
@@ -208,7 +215,7 @@ mdkits build supercell Li3PO4.cif 2 2 2
208
215
  ```bash
209
216
  mdkits extract frames.xyz -r 1000:2000 -o 1000-2000.xyz
210
217
  ```
211
- 或从`cp2k`的默认输出的轨迹文件`*-pos-1.xyz`文件中提取最后一帧输出为`extracted.xyz`(`extract`的默认行为):
218
+ 或从`cp2k`的默认输出的轨迹文件`*-pos-1.xyz`文件中提取最后一帧输出为`frames_-1.xyz`(`extract`的默认行为):
212
219
  ```bash
213
220
  mdkits extract
214
221
  ```
@@ -216,6 +223,10 @@ mdkits extract
216
223
  ```bash
217
224
  mdkits extract -cr ::50
218
225
  ```
226
+ 提取部分元素的位置, 如提取`O`元素和`H`元素的位置:
227
+ ```bash
228
+ mdkits extract --select "name O or name H"
229
+ ```
219
230
 
220
231
  ### 结构文件转换
221
232
  `convert`用于将结构文件从一种格式转换为另一种格式, 如将`structure.xyz`转换为`out.cif`(默认文件名为`out`), 对于不储存周期性边界条件的文件, 可以使用`--cell`选项指定`PBC`:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "mdkits"
3
- version = "0.2.2"
3
+ version = "1.0.0"
4
4
  description = "kits for md or dft"
5
5
  readme = "README.md"
6
6
  authors = ["jxxcr <jixxcr@qq.com>"]
@@ -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)
@@ -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)
@@ -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]
@@ -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:
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