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.
- ion_csp-2.1.5/.github/workflows/update_changelog.yml +36 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/.gitignore +1 -1
- ion_csp-2.1.5/CHANGELOG.md +177 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/PKG-INFO +4 -3
- {ion_csp-2.1.4 → ion_csp-2.1.5}/README.md +2 -2
- ion_csp-2.1.5/examples/example_2/combo_1/ACEGUL.gjf +52 -0
- ion_csp-2.1.5/examples/example_2/combo_1/AGIDOM.gjf +27 -0
- ion_csp-2.1.5/examples/example_2/combo_1/config.yaml +43 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/model/options/README.md +1 -1
- {ion_csp-2.1.4 → ion_csp-2.1.5}/pyproject.toml +1 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/requirements.txt +2 -1
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/__init__.py +2 -2
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/gen_opt.py +19 -15
- ion_csp-2.1.5/src/ion_CSP/model/model.pt +0 -0
- ion_csp-2.1.5/src/ion_CSP/model/options/README.md +5 -0
- ion_csp-2.1.5/src/ion_CSP/model/options/model.ckpt-4000000.pt +0 -0
- ion_csp-2.1.5/src/ion_CSP/param/INCAR_0 +16 -0
- ion_csp-2.1.5/src/ion_CSP/param/INCAR_1 +19 -0
- ion_csp-2.1.5/src/ion_CSP/param/INCAR_2 +19 -0
- ion_csp-2.1.5/src/ion_CSP/param/INCAR_3 +19 -0
- ion_csp-2.1.5/src/ion_CSP/param/POTCAR_C +2319 -0
- ion_csp-2.1.5/src/ion_CSP/param/POTCAR_H +1563 -0
- ion_csp-2.1.5/src/ion_CSP/param/POTCAR_N +2351 -0
- ion_csp-2.1.5/src/ion_CSP/param/POTCAR_O +2487 -0
- ion_csp-2.1.5/src/ion_CSP/param/g16_sub.sh +21 -0
- ion_csp-2.1.5/src/ion_CSP/param/sub_final.sh +91 -0
- ion_csp-2.1.5/src/ion_CSP/param/sub_ori.sh +74 -0
- ion_csp-2.1.5/src/ion_CSP/param/sub_supple.sh +56 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/task_manager.py +1 -1
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/PKG-INFO +4 -3
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/SOURCES.txt +20 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/requires.txt +1 -0
- ion_csp-2.1.5/src/run/update_changelog.py +68 -0
- ion_csp-2.1.4/CHANGELOG.md +0 -18
- {ion_csp-2.1.4 → ion_csp-2.1.5}/.dockerignore +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/.github/workflows/conda-env-build.yml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/.github/workflows/pypi-publish.yml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/.vscode/settings.json +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/CODE_OF_CONDUCT.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/CONTRIBUTING.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/Dockerfile +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/LICENSE +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/MANIFEST.in +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/SECURITY.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/config/complete_config.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/config/simple_config.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/config/usage.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/example_usage_CSP.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/example_usage_EE.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/index.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/docs/usage.md +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/environment.yml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_1/config.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_1/ions.csv +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/example_usage.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_local_machine.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_local_resources.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_remote_machine.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/examples/server/example_remote_resources.yaml +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/makefile +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/model/model.pt +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/model/options/model.ckpt-4000000.pt +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_0 +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_1 +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_2 +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/INCAR_3 +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_C +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_H +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_N +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/POTCAR_O +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/g16_sub.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_final.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_ori.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/param/sub_supple.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/CLI.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/CLI.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/main_CSP.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/scripts/main_EE.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/setup.cfg +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/setup.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/__init__.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/__main__.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/convert_SMILES.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/empirical_estimate.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/identify_molecules.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/log_and_time.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/mlp_opt.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/read_mlp_density.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/steps_opt_monitor.sh +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/upload_download.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP/vasp_processing.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/dependency_links.txt +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/entry_points.txt +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/ion_CSP.egg-info/top_level.txt +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/__init__.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/main_CSP.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/main_EE.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_convert_SMILES.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_empirical_estimate.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_gen_opt.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_read_mlp_density.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_upload_download.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/src/run/run_vasp_processing.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/__init__.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test1_task_manager1.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test_log_and_time.py +0 -0
- {ion_csp-2.1.4 → ion_csp-2.1.5}/tests/test_task_manager.py +0 -0
- {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 }}
|
@@ -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.
|
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.
|
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.
|
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.
|
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.
|
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
|
@@ -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,
|
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
|
-
|
37
|
-
|
38
|
-
ion_atomss.append(
|
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: {
|
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
|
-
#
|
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
|
Binary file
|
@@ -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
|