ion-CSP 2.1.4__tar.gz → 2.1.5__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.
Files changed (108) hide show
  1. ion_csp-2.1.5/.github/workflows/update_changelog.yml +36 -0
  2. {ion_csp-2.1.4 → ion_csp-2.1.5}/.gitignore +1 -1
  3. ion_csp-2.1.5/CHANGELOG.md +177 -0
  4. {ion_csp-2.1.4 → ion_csp-2.1.5}/PKG-INFO +4 -3
  5. {ion_csp-2.1.4 → ion_csp-2.1.5}/README.md +2 -2
  6. ion_csp-2.1.5/examples/example_2/combo_1/ACEGUL.gjf +52 -0
  7. ion_csp-2.1.5/examples/example_2/combo_1/AGIDOM.gjf +27 -0
  8. ion_csp-2.1.5/examples/example_2/combo_1/config.yaml +43 -0
  9. {ion_csp-2.1.4 → ion_csp-2.1.5}/model/options/README.md +1 -1
  10. {ion_csp-2.1.4 → ion_csp-2.1.5}/pyproject.toml +1 -0
  11. {ion_csp-2.1.4 → ion_csp-2.1.5}/requirements.txt +2 -1
  12. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/__init__.py +2 -2
  13. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/gen_opt.py +19 -15
  14. ion_csp-2.1.5/src/ion_CSP/model/model.pt +0 -0
  15. ion_csp-2.1.5/src/ion_CSP/model/options/README.md +5 -0
  16. ion_csp-2.1.5/src/ion_CSP/model/options/model.ckpt-4000000.pt +0 -0
  17. ion_csp-2.1.5/src/ion_CSP/param/INCAR_0 +16 -0
  18. ion_csp-2.1.5/src/ion_CSP/param/INCAR_1 +19 -0
  19. ion_csp-2.1.5/src/ion_CSP/param/INCAR_2 +19 -0
  20. ion_csp-2.1.5/src/ion_CSP/param/INCAR_3 +19 -0
  21. ion_csp-2.1.5/src/ion_CSP/param/POTCAR_C +2319 -0
  22. ion_csp-2.1.5/src/ion_CSP/param/POTCAR_H +1563 -0
  23. ion_csp-2.1.5/src/ion_CSP/param/POTCAR_N +2351 -0
  24. ion_csp-2.1.5/src/ion_CSP/param/POTCAR_O +2487 -0
  25. ion_csp-2.1.5/src/ion_CSP/param/g16_sub.sh +21 -0
  26. ion_csp-2.1.5/src/ion_CSP/param/sub_final.sh +91 -0
  27. ion_csp-2.1.5/src/ion_CSP/param/sub_ori.sh +74 -0
  28. ion_csp-2.1.5/src/ion_CSP/param/sub_supple.sh +56 -0
  29. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/task_manager.py +1 -1
  30. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/PKG-INFO +4 -3
  31. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/SOURCES.txt +20 -0
  32. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/requires.txt +1 -0
  33. ion_csp-2.1.5/src/run/update_changelog.py +68 -0
  34. ion_csp-2.1.4/CHANGELOG.md +0 -18
  35. {ion_csp-2.1.4 → ion_csp-2.1.5}/.dockerignore +0 -0
  36. {ion_csp-2.1.4 → ion_csp-2.1.5}/.github/workflows/conda-env-build.yml +0 -0
  37. {ion_csp-2.1.4 → ion_csp-2.1.5}/.github/workflows/pypi-publish.yml +0 -0
  38. {ion_csp-2.1.4 → ion_csp-2.1.5}/.vscode/settings.json +0 -0
  39. {ion_csp-2.1.4 → ion_csp-2.1.5}/CODE_OF_CONDUCT.md +0 -0
  40. {ion_csp-2.1.4 → ion_csp-2.1.5}/CONTRIBUTING.md +0 -0
  41. {ion_csp-2.1.4 → ion_csp-2.1.5}/Dockerfile +0 -0
  42. {ion_csp-2.1.4 → ion_csp-2.1.5}/LICENSE +0 -0
  43. {ion_csp-2.1.4 → ion_csp-2.1.5}/MANIFEST.in +0 -0
  44. {ion_csp-2.1.4 → ion_csp-2.1.5}/SECURITY.md +0 -0
  45. {ion_csp-2.1.4 → ion_csp-2.1.5}/config/complete_config.yaml +0 -0
  46. {ion_csp-2.1.4 → ion_csp-2.1.5}/config/simple_config.yaml +0 -0
  47. {ion_csp-2.1.4 → ion_csp-2.1.5}/config/usage.md +0 -0
  48. {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/example_usage_CSP.py +0 -0
  49. {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/example_usage_EE.py +0 -0
  50. {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/index.md +0 -0
  51. {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/usage.md +0 -0
  52. {ion_csp-2.1.4 → ion_csp-2.1.5}/environment.yml +0 -0
  53. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_1/config.yaml +0 -0
  54. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_1/ions.csv +0 -0
  55. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_usage.py +0 -0
  56. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_local_machine.yaml +0 -0
  57. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_local_resources.yaml +0 -0
  58. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_remote_machine.yaml +0 -0
  59. {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_remote_resources.yaml +0 -0
  60. {ion_csp-2.1.4 → ion_csp-2.1.5}/makefile +0 -0
  61. {ion_csp-2.1.4 → ion_csp-2.1.5}/model/model.pt +0 -0
  62. {ion_csp-2.1.4 → ion_csp-2.1.5}/model/options/model.ckpt-4000000.pt +0 -0
  63. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_0 +0 -0
  64. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_1 +0 -0
  65. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_2 +0 -0
  66. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_3 +0 -0
  67. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_C +0 -0
  68. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_H +0 -0
  69. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_N +0 -0
  70. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_O +0 -0
  71. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/g16_sub.sh +0 -0
  72. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_final.sh +0 -0
  73. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_ori.sh +0 -0
  74. {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_supple.sh +0 -0
  75. {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/CLI.py +0 -0
  76. {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/CLI.sh +0 -0
  77. {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/main_CSP.sh +0 -0
  78. {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/main_EE.sh +0 -0
  79. {ion_csp-2.1.4 → ion_csp-2.1.5}/setup.cfg +0 -0
  80. {ion_csp-2.1.4 → ion_csp-2.1.5}/setup.py +0 -0
  81. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/__init__.py +0 -0
  82. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/__main__.py +0 -0
  83. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/convert_SMILES.py +0 -0
  84. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/empirical_estimate.py +0 -0
  85. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/identify_molecules.py +0 -0
  86. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/log_and_time.py +0 -0
  87. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/mlp_opt.py +0 -0
  88. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/read_mlp_density.py +0 -0
  89. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/steps_opt_monitor.sh +0 -0
  90. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/upload_download.py +0 -0
  91. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/vasp_processing.py +0 -0
  92. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/dependency_links.txt +0 -0
  93. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/entry_points.txt +0 -0
  94. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/top_level.txt +0 -0
  95. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/__init__.py +0 -0
  96. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/main_CSP.py +0 -0
  97. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/main_EE.py +0 -0
  98. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_convert_SMILES.py +0 -0
  99. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_empirical_estimate.py +0 -0
  100. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_gen_opt.py +0 -0
  101. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_read_mlp_density.py +0 -0
  102. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_upload_download.py +0 -0
  103. {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_vasp_processing.py +0 -0
  104. {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/__init__.py +0 -0
  105. {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test1_task_manager1.py +0 -0
  106. {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test_log_and_time.py +0 -0
  107. {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test_task_manager.py +0 -0
  108. {ion_csp-2.1.4 → ion_csp-2.1.5}/uv.lock +0 -0
@@ -0,0 +1,36 @@
1
+ name: Update Changelog
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main # 或者你的主要分支
7
+
8
+ jobs:
9
+ update-changelog:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v2
15
+
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v2
18
+ with:
19
+ python-version: '3.x' # 指定 Python 版本
20
+
21
+ - name: Install dependencies
22
+ run: |
23
+ pip install -e .
24
+
25
+ - name: Update CHANGELOG.md
26
+ run: python -m run.update_changelog
27
+
28
+ - name: Commit and push changes
29
+ run: |
30
+ git config --local user.email "yangze1995007@163.com"
31
+ git config --local user.name "Ze Yang"
32
+ git add CHANGELOG.md
33
+ git commit -m "Update CHANGELOG.md"
34
+ git push
35
+ env:
36
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -34,7 +34,7 @@ server_config
34
34
  !complete_config.yaml
35
35
  !examples/server/*
36
36
  !examples/example_1/*
37
- !examples/example_2/*
37
+ !examples/example_2/combo_1/*
38
38
  model_ori.pt
39
39
  logs/*
40
40
  dist/*
@@ -0,0 +1,177 @@
1
+ # Changelog
2
+
3
+ ## V2.1.4
4
+ ### ad5c1d7 (2025-06-13)
5
+ Optimize the packaging behavior when building pypi distribution packages to make them easier to use
6
+
7
+ ## V2.1.3
8
+ ### d503641 (2025-06-11)
9
+ Updata version to 2.1.3
10
+
11
+ ## V2.1.2
12
+ ### 1befcf7 (2025-06-09)
13
+ Implement centralized management of version numbers and automatic synchronization of multiple configuration files to ensure consistency and reliability in the construction process.
14
+
15
+ ## V2.1.1
16
+ ### bde5189 (2025-06-09)
17
+ Refactoring the project structure, configuring packaging parameters, and modifying sub process call logic to address the issue of module path failure in PyPI distribution packages; To modify VASP optimization steps in the workflow: 1 Rough optimization of limiting cell shape 2. Fine optimization of limiting cell shape 3. Final optimization without cell constraints
18
+
19
+ ### bb0d853 (2025-05-30)
20
+ Added usage and configuration examples in the project root directory. Added permission items in the CI Build workflow to enhance security. Added parameters to the example resources.yaml file to specify JOB_NAME to optimize the readability of jobs.
21
+
22
+ ### 80a3e3d (2025-05-23)
23
+ Add template configuration files and corresponding usage document in the config folder under the root directory
24
+
25
+ ### 7f383b0 (2025-05-21)
26
+ Adjust the installation method of the code, use git clone and pip install - e. commands to install the source code, and continue to optimize the use of code installed using distribution packages in the future. Correspondingly updated the version number and the documentation content of README.md.
27
+
28
+ ### 1d0d5fc (2025-05-16)
29
+ Modification of conda package build yml file.
30
+
31
+ ### 83f25cb (2025-05-16)
32
+ Modification of conda package build yml file.
33
+
34
+ ### 5540449 (2025-05-16)
35
+ Remove the flake8 installation in conda package construction.
36
+
37
+ ### 01af54c (2025-05-16)
38
+ Update information in README.md
39
+
40
+ ### cb7dcb0 (2025-05-15)
41
+ Ignore the big-size dist files
42
+
43
+ ### 1ff9020 (2025-05-13)
44
+ Update README.md and modified the yml file for github action of conda package build
45
+
46
+ ### 01f2095 (2025-05-13)
47
+ Modified yml file for github actions
48
+
49
+ ### 90bfd07 (2025-05-13)
50
+ Modified yml file for Github actions.
51
+
52
+ ### 6f29d21 (2025-05-13)
53
+ After machine learning potential optimization and structure filtering, CSV files were added to summarize the sequence number, density, and energy of the filtered structures, making it easier to visualize the interface.
54
+
55
+ ### f2a8abc (2025-05-09)
56
+ Modified the yml file for github actions
57
+
58
+ ### b5d1bcd (2025-05-09)
59
+ Merge branch 'main' of https://github.com/Bagabaga007/ion_CSP
60
+
61
+ ### bfec475 (2025-05-09)
62
+ Significantly optimized the program logic of the interactive entrance and fixed a large number of potential bugs. Integrate pagination display function to reduce code duplication. Add unit testing modules for this interactive entry program.
63
+
64
+ ### 30c455b (2025-04-25)
65
+ Create SECURITY.md
66
+
67
+ ### 070c86f (2025-04-25)
68
+ Add unit testing module for task_manager.
69
+
70
+ ### 72ccfad (2025-04-25)
71
+ Remove torchvision package dependencies to allow pip to attempt to solve the dependency conflict.
72
+
73
+ ### 049d915 (2025-04-25)
74
+ Fix the bug in environment.yml file
75
+
76
+ ### 3866521 (2025-04-25)
77
+ Adjust the depencies installation order
78
+
79
+ ### ff92e05 (2025-04-25)
80
+ Change some certain packages installation way to pip installation.
81
+
82
+ ### 24832ea (2025-04-25)
83
+ Remove invalid channel and adapt the mixed installation method.
84
+
85
+ ### c2a01ee (2025-04-25)
86
+ Update the corresponding information yml to resolve the conda environment configuration actions in Github
87
+
88
+ ### 0675303 (2025-04-25)
89
+ Add conda environment configuration
90
+
91
+ ### b91ee5c (2025-04-25)
92
+ Merge branch 'main' of https://github.com/Bagabaga007/ion_CSP
93
+
94
+ ### 15c4628 (2025-04-25)
95
+ Significantly optimized the logging system and task management of the interactive program entrance. The specific functions implemented include: real-time process monitoring (PID tracking), automatic symbolic linking of log files, process security termination and resource cleaning, log pagination browsing (10 entries/page), module filtering (CSP/EE), and soft link parsing to display the actual path. Greatly optimized the README.md file, providing bilingual support in both Chinese and English that is more in line with Python project specifications.
96
+
97
+ ### 7b1752b (2025-04-23)
98
+ Create python-package-conda.yml
99
+
100
+ ### 0cf8d07 (2025-04-23)
101
+ Merge branch 'main' of https://github.com/Bagabaga007/ion_CSP
102
+
103
+ ### ebf54e3 (2025-04-23)
104
+ Unified the interactive interface between shell and Python versions, and uploaded distribution files to Pypi
105
+
106
+ ### 1cbba7e (2025-04-23)
107
+ Create python-publish.yml
108
+
109
+ ### 98f7382 (2025-04-22)
110
+ Added Python version of interactive main function entry and corresponding app files.
111
+
112
+ ### f034fbe (2025-04-21)
113
+ 1. Improve the dockerfile to ensure smooth operation inside the container; 2. Added a terminal interactive entrance for the program, supporting both Linux terminals and Docker environments, supporting runtime experience evaluation and ion crystal structure prediction modules, and able to capture the PID of Python programs and link logs for easy monitoring of task status and results, as well as task killing. 3. Optimize the task step logic of the EE module to avoid possible redundant Gaussian calculations, and provide batch update parameters for the config. yaml configuration file in the combined folder. 4. Generate CSV files for echo information during the structure generation stage, saving the structure generation information of each space group and the exception types when pyxtal generation fails. At the same time, based on the results of phonopy symmetry processing, remove the double atom structure generated by pyxtal and update the CSV file information.
114
+
115
+ ### d079b70 (2025-04-11)
116
+ After successfully completing the task using the dpdispatcher module, delete the corresponding folder for submission to save space.
117
+
118
+ ### 9ddb0c4 (2025-04-11)
119
+ Change the version number to 2.0.0.
120
+
121
+ ### c367bc3 (2025-04-09)
122
+ Fully automated EE workflow
123
+
124
+ ### f8e6c73 (2025-04-08)
125
+ Fully automated ion CSP workflow.
126
+
127
+ ### c4400f0 (2025-04-02)
128
+ Delete 3_postprocessing directory
129
+
130
+ ### 380eedb (2025-04-02)
131
+ Delete 2_generation directory
132
+
133
+ ### 05931e7 (2025-04-02)
134
+ Delete 1_preparation directory
135
+
136
+ ### a22b9e8 (2024-12-23)
137
+ ok
138
+
139
+ ### 7f6d3b1 (2024-12-23)
140
+ ok
141
+
142
+ ### c13cd0c (2024-12-20)
143
+ ok
144
+
145
+ ### 1a2b2d5 (2024-12-19)
146
+ ok
147
+
148
+ ### fd404eb (2024-12-19)
149
+ OK
150
+
151
+ ### 2d8aafd (2024-12-17)
152
+ ok
153
+
154
+ ### 7fbfd27 (2024-12-16)
155
+ ok
156
+
157
+ ### a0b84fc (2024-12-16)
158
+ ok
159
+
160
+ ### 9878e9d (2024-12-16)
161
+ ok
162
+
163
+ ### b07065c (2024-12-16)
164
+ ok
165
+
166
+ ### 68b6b0a (2024-12-16)
167
+ ok
168
+
169
+ ### f6a30b0 (2024-12-14)
170
+ ok
171
+
172
+ ### 0e434f6 (2024-12-14)
173
+ ok
174
+
175
+ ### 2bef3e2 (2024-12-12)
176
+ committed
177
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ion_CSP
3
- Version: 2.1.4
3
+ Version: 2.1.5
4
4
  Summary: Crystal Structure Design Software Based on Molecular/Ionic Configuration.
5
5
  Home-page: https://github.com/bagabaga007/ion_CSP
6
6
  Author: Ze Yang
@@ -13,6 +13,7 @@ Requires-Python: >=3.11
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: ase==3.23.0
16
+ Requires-Dist: scipy==1.15.2
16
17
  Requires-Dist: deepmd-kit==3.0.1
17
18
  Requires-Dist: torch==2.5.0
18
19
  Requires-Dist: dpdispatcher==0.6.7
@@ -133,7 +134,7 @@ graph TD
133
134
 
134
135
  ## 技术支持
135
136
  - **文档更新**:2025年6月
136
- - **最新版本**:v2.1.4
137
+ - **最新版本**:v2.1.5
137
138
  - **问题追踪**:https://github.com/bagabaga007/ion_CSP/issues
138
139
 
139
140
  ---
@@ -240,5 +241,5 @@ MIT License, see LICENSE file.
240
241
 
241
242
  ## Support
242
243
  - Documentation last updated: June 2025
243
- - Latest version: v2.1.4
244
+ - Latest version: v2.1.5
244
245
  - Issue tracker: https://github.com/bagabaga007/ion_CSP/issues
@@ -104,7 +104,7 @@ graph TD
104
104
 
105
105
  ## 技术支持
106
106
  - **文档更新**:2025年6月
107
- - **最新版本**:v2.1.4
107
+ - **最新版本**:v2.1.5
108
108
  - **问题追踪**:https://github.com/bagabaga007/ion_CSP/issues
109
109
 
110
110
  ---
@@ -211,5 +211,5 @@ MIT License, see LICENSE file.
211
211
 
212
212
  ## Support
213
213
  - Documentation last updated: June 2025
214
- - Latest version: v2.1.4
214
+ - Latest version: v2.1.5
215
215
  - Issue tracker: https://github.com/bagabaga007/ion_CSP/issues
@@ -0,0 +1,52 @@
1
+ %chk=ACEGUL.chk
2
+ #P B3LYP/6-31G*
3
+
4
+ Generated by Multiwfn
5
+
6
+ 2 1
7
+ N -8.85445800 1.16769800 -0.82613100
8
+ C -7.51188600 0.79604300 -1.39674800
9
+ C -6.64062000 0.51301100 -0.14343300
10
+ O -7.17789900 0.66140600 0.96160300
11
+ N -5.38721700 0.13316700 -0.35345900
12
+ C -4.46205400 -0.20831200 0.71651500
13
+ C -3.20392200 -0.77263500 0.02766800
14
+ O -3.12529600 -0.75732700 -1.19870700
15
+ N -2.24661000 -1.24796200 0.85659800
16
+ C -1.06313000 -1.97387400 0.37835200
17
+ C 0.26454300 -1.39546100 0.88306300
18
+ C 0.60957700 -0.02832200 0.27563600
19
+ N 1.91503200 0.47502200 0.71356300
20
+ C 3.06604500 0.08505400 0.12656900
21
+ O 3.12763100 -0.70786400 -0.81177900
22
+ C 4.35771500 0.70661500 0.69082000
23
+ N 5.44682100 0.15431500 -0.10026000
24
+ C 6.72205500 0.46195500 0.09443400
25
+ O 7.15763400 1.23824800 0.95444000
26
+ C 7.76176800 -0.21253700 -0.84052000
27
+ N 9.08126400 0.33625100 -0.36731300
28
+ H -8.66790300 1.10940100 0.22378300
29
+ H -9.60162300 0.51452400 -1.08076500
30
+ H -9.15892900 2.11356800 -1.07514700
31
+ H -7.61516300 -0.08204000 -2.03682300
32
+ H -7.12388500 1.62710300 -1.98863200
33
+ H -4.98249600 -0.00586500 -1.28265500
34
+ H -4.91435800 -0.94591800 1.38898000
35
+ H -4.21571600 0.67815000 1.31357400
36
+ H -2.45176400 -1.29254900 1.84769600
37
+ H -1.14662200 -3.02050700 0.69318000
38
+ H -1.10966200 -1.95378900 -0.71279900
39
+ H 0.25647500 -1.32898800 1.97961800
40
+ H 1.05598800 -2.10413800 0.61469800
41
+ H 0.63528600 -0.10183900 -0.81527000
42
+ H -0.13821400 0.72385000 0.54321900
43
+ H 1.95400500 1.10655900 1.50281100
44
+ H 4.48671000 0.45591700 1.75038000
45
+ H 4.33784700 1.79954800 0.60795100
46
+ H 5.11993800 -0.49151000 -0.82334900
47
+ H 7.60892000 0.05326200 -1.88810800
48
+ H 7.76108500 -1.29970500 -0.74300200
49
+ H 8.77579500 0.97687800 0.43098100
50
+ H 9.57746300 0.88065500 -1.07929300
51
+ H 9.71982600 -0.38170200 -0.01193900
52
+
@@ -0,0 +1,27 @@
1
+ %chk=AGIDOM.chk
2
+ #P B3LYP/6-31G*
3
+
4
+ Generated by Multiwfn
5
+
6
+ -1 1
7
+ C 3.60848600 0.84498700 0.62710000
8
+ O 2.42840700 0.19570600 1.09683300
9
+ C 1.43494600 0.09932700 0.16799800
10
+ O 1.54873000 0.54782400 -0.95634900
11
+ C 0.27652800 -0.64040400 0.67895200
12
+ N 0.40674300 -1.59164900 1.65535000
13
+ N -0.72281000 -2.21841200 1.80116100
14
+ N -1.60045200 -1.64877200 0.94015100
15
+ C -1.04752100 -0.65458400 0.19783900
16
+ C -1.77777700 0.11049800 -0.78260300
17
+ N -1.34667100 1.43720400 -1.09423600
18
+ O -0.71339900 2.04208200 -0.20642100
19
+ O -1.60826600 1.94048100 -2.19131000
20
+ N -2.99882000 -0.34174200 -1.29172000
21
+ O -3.42611300 -1.46580400 -0.87278900
22
+ O -3.66700900 0.32728600 -2.09394100
23
+ H 3.39139100 1.86850300 0.30595100
24
+ H 4.04766400 0.30428400 -0.21813300
25
+ H 4.29891300 0.84876500 1.47360000
26
+ H -2.53297100 -2.00557300 0.76256800
27
+
@@ -0,0 +1,43 @@
1
+ convert_SMILES:
2
+ charge_screen: -1
3
+ csv_file: ions.csv
4
+ group_name: nitro
5
+ group_screen: '[N+](=O)[O-]'
6
+ group_screen_invert: false
7
+ machine: /workplace/yz/ion_CSP/server_config/JLU_184/JLU_184_machine.yaml
8
+ nodes: 2
9
+ resources: /workplace/yz/ion_CSP/server_config/JLU_184/JLU_184_resources.yaml
10
+ screen: true
11
+ empirical_estimate:
12
+ folders:
13
+ - charge_2
14
+ - charge_-1
15
+ ion_numbers:
16
+ - 2
17
+ - 4
18
+ make_combo_dir: true
19
+ num_combos: 20
20
+ ratios:
21
+ - 1
22
+ - 2
23
+ gen_opt:
24
+ ion_numbers:
25
+ - 2
26
+ - 4
27
+ machine: /workplace/yz/ion_CSP/server_config/6001_local/6001_local_machine.yaml
28
+ nodes: 1
29
+ num_per_group: 10
30
+ resources: /workplace/yz/ion_CSP/server_config/6001_local/6001_local_resources.yaml
31
+ space_groups_limit: 15
32
+ species:
33
+ - ACEGUL.gjf
34
+ - AGIDOM.gjf
35
+ read_mlp_density:
36
+ detail_log: false
37
+ molecules_screen: true
38
+ n_screen: 2
39
+ vasp_processing:
40
+ machine: /workplace/yz/ion_CSP/server_config/JLU_184/JLU_184_machine.yaml
41
+ molecules_prior: true
42
+ nodes: 2
43
+ resources: /workplace/yz/ion_CSP/server_config/JLU_184/JLU_184_resources.yaml
@@ -1,4 +1,4 @@
1
- ## 目录 ./model
1
+ # 目录 ./model
2
2
  用于存放所调用的机器学习势文件,文件名必须为 model.pt。
3
3
 
4
4
  # 目录 ./model/options
@@ -19,6 +19,7 @@ classifiers = [
19
19
  requires-python = ">=3.11"
20
20
  dependencies = [
21
21
  "ase==3.23.0",
22
+ "scipy==1.15.2",
22
23
  "deepmd-kit==3.0.1",
23
24
  "torch==2.5.0",
24
25
  "dpdispatcher==0.6.7",
@@ -1,4 +1,5 @@
1
- ase>=3.23.0
1
+ ase==3.23.0
2
+ scipy==1.15.2
2
3
  deepmd-kit==3.0.1
3
4
  torch==2.5.0
4
5
  dpdispatcher>=0.6.7
@@ -1,8 +1,8 @@
1
1
  __author__ = "Ze Yang"
2
2
  __contact__ = "yangze1995007@163.com"
3
3
  __license__ = "MIT"
4
- __version__ = "2.1.4"
5
- __date__ = "2025-06-13"
4
+ __version__ = "2.1.5"
5
+ __date__ = "2025-06-16"
6
6
 
7
7
 
8
8
  try:
@@ -4,11 +4,12 @@ import time
4
4
  import shutil
5
5
  import logging
6
6
  import subprocess
7
+ import importlib.resources
8
+ from typing import List
7
9
  from ase.io import read
10
+ from dpdispatcher import Machine
8
11
  from pyxtal import pyxtal
9
12
  from pyxtal.msg import Comp_CompatibilityError, Symm_CompatibilityError
10
- from dpdispatcher import Machine
11
- from typing import List
12
13
  from ion_CSP.log_and_time import redirect_dpdisp_logging
13
14
 
14
15
 
@@ -18,30 +19,32 @@ class CrystalGenerator:
18
19
  Initialize the class based on the provided ionic crystal composition structure files and corresponding composition numbers.
19
20
  """
20
21
  redirect_dpdisp_logging(os.path.join(work_dir, "dpdispatcher.log"))
21
- self.script_dir = os.path.dirname(__file__)
22
- self.mlp_opt_file = os.path.join(self.script_dir, "mlp_opt.py")
23
- self.model_file = os.path.join(self.script_dir, "../../model/model.pt")
22
+ # self.script_dir = os.path.dirname(__file__)
23
+ # self.mlp_opt_file = os.path.join(self.script_dir, "mlp_opt.py")
24
+ # self.model_file = os.path.join(self.script_dir, "../../model/model.pt")
25
+ self.mlp_opt_file = importlib.resources.files("ion_CSP").joinpath("mlp_opt.py")
26
+ self.model_file = importlib.resources.files("ion_CSP.model").joinpath("model.pt")
24
27
  # 获取当前脚本的路径以及同路径下离子晶体组分的结构文件, 并将这一路径作为工作路径来避免可能的错误
25
28
  self.base_dir = work_dir
26
29
  os.chdir(self.base_dir)
27
30
  self.ion_numbers = ion_numbers
28
31
  self.species = species
29
32
  self.species_paths = []
30
- ion_atomss, species_atomss = [], []
33
+ ion_atomss, species_atoms = [], []
31
34
  # 读取离子晶体各组分的原子数,并在日志文件中记录
32
35
  for ion, number in zip(self.species, self.ion_numbers):
33
36
  species_path = os.path.join(self.base_dir, ion)
34
37
  self.species_paths.append(species_path)
35
38
  species_atom = len(read(species_path))
36
- species_atomss.append(species_atom)
37
- species_atoms = species_atom * number
38
- ion_atomss.append(species_atoms)
39
+ species_atoms.append(species_atom)
40
+ ion_atoms = species_atom * number
41
+ ion_atomss.append(ion_atoms)
39
42
  self.cell_atoms = sum(ion_atomss)
40
43
  logging.info(
41
44
  f"The components of ions {self.species} in the ionic crystal are {self.ion_numbers}"
42
45
  )
43
46
  logging.info(
44
- f"The number of atoms for each ion is: {species_atomss}, and the total number of atoms is {self.cell_atoms}"
47
+ f"The number of atoms for each ion is: {species_atoms}, and the total number of atoms is {self.cell_atoms}"
45
48
  )
46
49
  self.generation_dir = os.path.join(self.base_dir, "1_generated")
47
50
  os.makedirs(self.generation_dir, exist_ok=True)
@@ -199,14 +202,10 @@ class CrystalGenerator:
199
202
  logging.info("Start running phonopy processing ...")
200
203
  for _, filename in POSCAR_file_index_pairs:
201
204
  self._single_phonopy_processing(filename=filename)
202
- # 准备dpdispatcher运行所需的文件,将其复制到primitive_cell文件夹中
203
- self.required_files = [self.mlp_opt_file, self.model_file]
204
- for file in self.required_files:
205
- shutil.copy(file, self.primitive_cell_dir)
205
+ # 在 phonopy 成功进行对称化处理后,删除 1_generated/POSCAR_Files 文件夹以节省空间
206
206
  logging.info(
207
207
  "The phonopy processing has been completed!!\nThe symmetrized primitive cells have been saved in POSCAR format to the primitive_cell folder."
208
208
  )
209
- # 在 phonopy 成功进行对称化处理后,删除 1_generated/POSCAR_Files 文件夹以节省空间
210
209
  shutil.rmtree(self.POSCAR_dir)
211
210
  except FileNotFoundError:
212
211
  logging.error(
@@ -215,6 +214,7 @@ class CrystalGenerator:
215
214
  raise FileNotFoundError(
216
215
  "There are no POSCAR structure files after generating.\nPlease check the error during generation"
217
216
  )
217
+
218
218
 
219
219
  def dpdisp_mlp_tasks(self, machine: str, resources: str, nodes: int = 1):
220
220
  """
@@ -222,6 +222,10 @@ class CrystalGenerator:
222
222
  """
223
223
  # 调整工作目录,减少错误发生
224
224
  os.chdir(self.primitive_cell_dir)
225
+ # 准备dpdispatcher运行所需的文件,将其复制到primitive_cell文件夹中
226
+ self.required_files = [self.mlp_opt_file, self.model_file]
227
+ for file in self.required_files:
228
+ shutil.copy(file, self.primitive_cell_dir)
225
229
  # 读取machine和resources的参数
226
230
  if machine.endswith(".json"):
227
231
  machine = Machine.load_from_json(machine)
Binary file
@@ -0,0 +1,5 @@
1
+ # 目录 ./model
2
+ 用于存放所调用的机器学习势文件,文件名必须为 model.pt。
3
+
4
+ # 目录 ./model/options
5
+ 用于存放其他机器学习势文件,文件名任意。
@@ -0,0 +1,16 @@
1
+ SYSTEM = ION_CSP
2
+ NPAR = 4
3
+ PREC = Accurate
4
+ ENCUT = 800
5
+ EDIFF = 1e-4 # 1e-6
6
+ IBRION = -1
7
+ ISMEAR = 0 ; SIGMA = 0.05
8
+ #No writing charge density and wavefunction
9
+ LCHARG = FALSE
10
+ LWAVE = FALSE
11
+ #Target Pressure
12
+ #PSTRESS = 100
13
+ #Finer optimization
14
+ EDIFFG = -0.05 # 1e-4
15
+ KSPACING = 0.25
16
+ IVDW = 11
@@ -0,0 +1,19 @@
1
+ SYSTEM = ION_CSP
2
+ NPAR = 4
3
+ PREC = Accurate
4
+ ENCUT = 600 # 800
5
+ EDIFF = 1e-4 # 1e-6
6
+ IBRION = 2
7
+ ISIF = 8
8
+ NSW = 300 # 200
9
+ ISMEAR = 0 ; SIGMA = 0.05
10
+ POTIM = 0.05
11
+ #No writing charge density and wavefunction
12
+ LCHARG = FALSE
13
+ LWAVE = FALSE
14
+ #Target Pressure
15
+ #PSTRESS = 100
16
+ #Finer optimization
17
+ EDIFFG = -0.05 # 1e-4
18
+ KSPACING = 0.7 # 0.25
19
+ IVDW = 12
@@ -0,0 +1,19 @@
1
+ SYSTEM = ION_CSP
2
+ NPAR = 4
3
+ PREC = Accurate
4
+ ENCUT = 800
5
+ EDIFF = 1e-6
6
+ IBRION = 2
7
+ ISIF = 8
8
+ NSW = 300 # 200
9
+ ISMEAR = 0 ; SIGMA = 0.05
10
+ POTIM = 0.05
11
+ #No writing charge density and wavefunction
12
+ LCHARG = FALSE
13
+ LWAVE = FALSE
14
+ #Target Pressure
15
+ #PSTRESS = 100
16
+ #Finer optimization
17
+ EDIFFG = -0.02
18
+ KSPACING = 0.5
19
+ IVDW = 12
@@ -0,0 +1,19 @@
1
+ SYSTEM = ION_CSP
2
+ NPAR = 4
3
+ PREC = Accurate
4
+ ENCUT = 800
5
+ EDIFF = 1e-6
6
+ IBRION = 2
7
+ ISIF = 3
8
+ NSW = 300 # 200
9
+ ISMEAR = 0 ; SIGMA = 0.05
10
+ POTIM = 0.05
11
+ #No writing charge density and wavefunction
12
+ LCHARG = FALSE
13
+ LWAVE = FALSE
14
+ #Target Pressure
15
+ #PSTRESS = 100
16
+ #Finer optimization
17
+ EDIFFG = -0.02
18
+ KSPACING = 0.5
19
+ IVDW = 12