rsspolymlp 0.4.0__tar.gz → 0.4.2__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 (80) hide show
  1. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/LICENSE +1 -1
  2. {rsspolymlp-0.4.0/src/rsspolymlp.egg-info → rsspolymlp-0.4.2}/PKG-INFO +42 -41
  3. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/README.md +41 -40
  4. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/pyproject.toml +1 -1
  5. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/ghost_minima.py +5 -5
  6. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/phase_analysis.py +1 -1
  7. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/rss_summarize.py +325 -176
  8. rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/assignment_algo.py +112 -0
  9. rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/gen_struct_rep.py +325 -0
  10. rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/identify_uniqstr.py +193 -0
  11. rsspolymlp-0.4.0/src/rsspolymlp/analysis/struct_matcher/invert_and_swap.py → rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/redrep_lattice.py +84 -0
  12. rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/redrep_position.py +312 -0
  13. rsspolymlp-0.4.2/src/rsspolymlp/analysis/struct_matcher/struct_match.py +275 -0
  14. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/cli_rsspolymlp.py +2 -2
  15. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/cli_rsspolymlp_utils.py +26 -19
  16. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/rsspolymlp.py +5 -4
  17. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/rsspolymlp_utils.py +94 -72
  18. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/rss/eliminate_duplicates.py +210 -198
  19. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/rss/load_logfile.py +4 -1
  20. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/rss/optimization_mlp.py +5 -0
  21. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/rss/random_struct.py +32 -7
  22. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/pymatgen_utils.py +32 -5
  23. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2/src/rsspolymlp.egg-info}/PKG-INFO +42 -41
  24. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp.egg-info/SOURCES.txt +5 -3
  25. rsspolymlp-0.4.0/src/rsspolymlp/analysis/struct_matcher/reduced_position.py +0 -433
  26. rsspolymlp-0.4.0/src/rsspolymlp/analysis/struct_matcher/struct_match.py +0 -326
  27. rsspolymlp-0.4.0/src/rsspolymlp/analysis/unique_struct.py +0 -478
  28. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/setup.cfg +0 -0
  29. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/__init__.py +0 -0
  30. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/__init__.py +0 -0
  31. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/eos.py +0 -0
  32. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/struct_matcher/__init__.py +0 -0
  33. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/analysis/struct_matcher/chiral_spg.py +0 -0
  34. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/__init__.py +0 -0
  35. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/cli_rsspolymlp_devkit.py +0 -0
  36. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/cli_rsspolymlp_plot.py +0 -0
  37. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/rsspolymlp_devkit.py +0 -0
  38. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/api/rsspolymlp_plot.py +0 -0
  39. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/__init__.py +0 -0
  40. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/atomic_energy.py +0 -0
  41. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/composition.py +0 -0
  42. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/convert_dict.py +0 -0
  43. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/interface_vasp.py +0 -0
  44. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/common/property.py +0 -0
  45. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/dataset/compress_vasprun.py +0 -0
  46. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/dataset/gen_mlp_dataset.py +0 -0
  47. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/dataset/split_dataset.py +0 -0
  48. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/estimate_cost.py +0 -0
  49. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/binary/gen_single_model.py +0 -0
  50. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/elemental/gen_hybrid_model.py +0 -0
  51. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/elemental/gen_single_model.py +0 -0
  52. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/n_feature.py +0 -0
  53. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/pypolymlp_gridsearch.py +0 -0
  54. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/model_selection/reduce_grid.py +0 -0
  55. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/pareto_opt_mlp.py +0 -0
  56. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/mlp_dev/polymlp_dev.py +0 -0
  57. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/rss/__init__.py +0 -0
  58. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/__init__.py +0 -0
  59. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/lammps_utils.py +0 -0
  60. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/__init__.py +0 -0
  61. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/custom_plt.py +0 -0
  62. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/examples/__init__.py +0 -0
  63. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/examples/example.py +0 -0
  64. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/examples/template.py +0 -0
  65. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/matplot_util/make_plot.py +0 -0
  66. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/opt_sscha/opt_geometry_sscha.py +0 -0
  67. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/opt_sscha/opt_position_sscha.py +0 -0
  68. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/opt_sscha/run_opt_sscha.py +0 -0
  69. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/opt_sscha/sscha_property.py +0 -0
  70. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/spglib_utils.py +0 -0
  71. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/vasp_util/__init__.py +0 -0
  72. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/vasp_util/api.py +0 -0
  73. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/vasp_util/gen_incar.py +0 -0
  74. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/vasp_util/gen_script.py +0 -0
  75. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp/utils/vasp_util/write_poscar.py +0 -0
  76. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp.egg-info/dependency_links.txt +0 -0
  77. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp.egg-info/entry_points.txt +0 -0
  78. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp.egg-info/requires.txt +0 -0
  79. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/src/rsspolymlp.egg-info/top_level.txt +0 -0
  80. {rsspolymlp-0.4.0 → rsspolymlp-0.4.2}/tests/test_cli_help.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Hayato Wakai
3
+ Copyright (c) 2026 Hayato Wakai
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rsspolymlp
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: A framework for random structure search using polynomial MLPs
5
5
  Author-email: Hayato Wakai <wakai@cms.mtl.kyoto-u.ac.jp>
6
6
  Maintainer-email: Hayato Wakai <wakai@cms.mtl.kyoto-u.ac.jp>
@@ -29,29 +29,27 @@ Requires-Dist: matplotlib; extra == "tools"
29
29
  Requires-Dist: seaborn; extra == "tools"
30
30
  Dynamic: license-file
31
31
 
32
- # A framework for random structure search (RSS) using polynomial MLPs
32
+ # Framework for random structure search using polynomial machine learning potentials
33
33
 
34
- ## Citation of rsspolymlp
34
+ ## How to use rsspolymlp
35
35
 
36
- If you use `rsspolymlp` in your study, please cite the following articles.
36
+ - [Workflow of RSS with polynomial MLPs](docs/rsspolymlp.md)
37
+ - Initial structure generation
38
+ - Global RSS with polynomial MLPs
39
+ - Unique structure identification and RSS result summarization
40
+ - Phase stability analysis
41
+ - [Development kit for polynomial MLPs](docs/rsspolymlp_dev.md)
42
+ - MLP dataset generation
43
+ - DFT dataset division
44
+ - Polynomial MLP development
45
+ - Pareto-optimal MLP selection
46
+ - Python API
47
+ - [RSS workflow](docs/api_rsspolymlp.md)
48
+ - [VASP calculation utilities](src/rsspolymlp/utils/vasp_util/readme.md)
49
+ - Single-point calculation
50
+ - Local geometry optimization
51
+ - [Matplotlib utilities](src/rsspolymlp/utils/matplot_util/readme.md)
37
52
 
38
- “Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials”, [Phys. Rev. Materials 10, 093801 (2026)](https://doi.org/10.1103/k9sg-v7hl)
39
- ```
40
- @article{Phys.Rev.Mater.10.093801,
41
- title = {Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials},
42
- author = {Wakai, Hayato and Ishiwata, Shintaro and Seko, Atsuto},
43
- journal = {Phys. Rev. Mater.},
44
- volume = {10},
45
- issue = {9},
46
- pages = {093801},
47
- numpages = {28},
48
- year = {2026},
49
- month = {Sep},
50
- publisher = {American Physical Society},
51
- doi = {10.1103/k9sg-v7hl},
52
- url = {https://link.aps.org/doi/10.1103/k9sg-v7hl}
53
- }
54
- ```
55
53
 
56
54
  ## Installation
57
55
 
@@ -65,8 +63,8 @@ If you use `rsspolymlp` in your study, please cite the following articles.
65
63
  - symfc
66
64
 
67
65
  [Optional]
68
- - matplotlib (if plotting RSS results)
69
- - seaborn (if plotting RSS results)
66
+ - matplotlib, seaborn
67
+ - pymatgen
70
68
 
71
69
  ### How to install
72
70
  - Install from conda-forge
@@ -89,22 +87,25 @@ conda install -c conda-forge scikit-learn joblib pypolymlp spglib symfc
89
87
  pip install rsspolymlp
90
88
  ```
91
89
 
92
- ## How to use rsspolymlp
93
90
 
94
- - [Workflow of RSS with polynomial MLPs](docs/rsspolymlp.md)
95
- - Initial structure generation
96
- - Global RSS with polynomial MLPs
97
- - Unique structure identification and RSS result summarization
98
- - Ghost minimum structure elimination
99
- - Phase stability analysis
100
- - [Development kit for polynomial MLPs](docs/rsspolymlp_dev.md)
101
- - MLP dataset generation
102
- - DFT dataset division
103
- - Polynomial MLP development
104
- - Pareto-optimal MLP selection
105
- - Python API
106
- - [RSS workflow](docs/api_rsspolymlp.md)
107
- - [VASP calculation utilities](src/rsspolymlp/utils/vasp_util/readme.md)
108
- - Single-point calculation
109
- - Local geometry optimization
110
- - [Matplotlib utilities](src/rsspolymlp/utils/matplot_util/readme.md)
91
+ ## Citation of rsspolymlp
92
+
93
+ If you use `rsspolymlp` in your study, please cite the following articles.
94
+
95
+ “Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials”, [Phys. Rev. Materials 10, 093801 (2026)](https://doi.org/10.1103/k9sg-v7hl)
96
+ ```
97
+ @article{Phys.Rev.Mater.10.093801,
98
+ title = {Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials},
99
+ author = {Wakai, Hayato and Ishiwata, Shintaro and Seko, Atsuto},
100
+ journal = {Phys. Rev. Mater.},
101
+ volume = {10},
102
+ issue = {9},
103
+ pages = {093801},
104
+ numpages = {28},
105
+ year = {2026},
106
+ month = {Sep},
107
+ publisher = {American Physical Society},
108
+ doi = {10.1103/k9sg-v7hl},
109
+ url = {https://link.aps.org/doi/10.1103/k9sg-v7hl}
110
+ }
111
+ ```
@@ -1,26 +1,24 @@
1
- # A framework for random structure search (RSS) using polynomial MLPs
1
+ # Framework for random structure search using polynomial machine learning potentials
2
2
 
3
- ## Citation of rsspolymlp
3
+ ## How to use rsspolymlp
4
4
 
5
- If you use `rsspolymlp` in your study, please cite the following articles.
5
+ - [Workflow of RSS with polynomial MLPs](docs/rsspolymlp.md)
6
+ - Initial structure generation
7
+ - Global RSS with polynomial MLPs
8
+ - Unique structure identification and RSS result summarization
9
+ - Phase stability analysis
10
+ - [Development kit for polynomial MLPs](docs/rsspolymlp_dev.md)
11
+ - MLP dataset generation
12
+ - DFT dataset division
13
+ - Polynomial MLP development
14
+ - Pareto-optimal MLP selection
15
+ - Python API
16
+ - [RSS workflow](docs/api_rsspolymlp.md)
17
+ - [VASP calculation utilities](src/rsspolymlp/utils/vasp_util/readme.md)
18
+ - Single-point calculation
19
+ - Local geometry optimization
20
+ - [Matplotlib utilities](src/rsspolymlp/utils/matplot_util/readme.md)
6
21
 
7
- “Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials”, [Phys. Rev. Materials 10, 093801 (2026)](https://doi.org/10.1103/k9sg-v7hl)
8
- ```
9
- @article{Phys.Rev.Mater.10.093801,
10
- title = {Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials},
11
- author = {Wakai, Hayato and Ishiwata, Shintaro and Seko, Atsuto},
12
- journal = {Phys. Rev. Mater.},
13
- volume = {10},
14
- issue = {9},
15
- pages = {093801},
16
- numpages = {28},
17
- year = {2026},
18
- month = {Sep},
19
- publisher = {American Physical Society},
20
- doi = {10.1103/k9sg-v7hl},
21
- url = {https://link.aps.org/doi/10.1103/k9sg-v7hl}
22
- }
23
- ```
24
22
 
25
23
  ## Installation
26
24
 
@@ -34,8 +32,8 @@ If you use `rsspolymlp` in your study, please cite the following articles.
34
32
  - symfc
35
33
 
36
34
  [Optional]
37
- - matplotlib (if plotting RSS results)
38
- - seaborn (if plotting RSS results)
35
+ - matplotlib, seaborn
36
+ - pymatgen
39
37
 
40
38
  ### How to install
41
39
  - Install from conda-forge
@@ -58,22 +56,25 @@ conda install -c conda-forge scikit-learn joblib pypolymlp spglib symfc
58
56
  pip install rsspolymlp
59
57
  ```
60
58
 
61
- ## How to use rsspolymlp
62
59
 
63
- - [Workflow of RSS with polynomial MLPs](docs/rsspolymlp.md)
64
- - Initial structure generation
65
- - Global RSS with polynomial MLPs
66
- - Unique structure identification and RSS result summarization
67
- - Ghost minimum structure elimination
68
- - Phase stability analysis
69
- - [Development kit for polynomial MLPs](docs/rsspolymlp_dev.md)
70
- - MLP dataset generation
71
- - DFT dataset division
72
- - Polynomial MLP development
73
- - Pareto-optimal MLP selection
74
- - Python API
75
- - [RSS workflow](docs/api_rsspolymlp.md)
76
- - [VASP calculation utilities](src/rsspolymlp/utils/vasp_util/readme.md)
77
- - Single-point calculation
78
- - Local geometry optimization
79
- - [Matplotlib utilities](src/rsspolymlp/utils/matplot_util/readme.md)
60
+ ## Citation of rsspolymlp
61
+
62
+ If you use `rsspolymlp` in your study, please cite the following articles.
63
+
64
+ “Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials”, [Phys. Rev. Materials 10, 093801 (2026)](https://doi.org/10.1103/k9sg-v7hl)
65
+ ```
66
+ @article{Phys.Rev.Mater.10.093801,
67
+ title = {Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials},
68
+ author = {Wakai, Hayato and Ishiwata, Shintaro and Seko, Atsuto},
69
+ journal = {Phys. Rev. Mater.},
70
+ volume = {10},
71
+ issue = {9},
72
+ pages = {093801},
73
+ numpages = {28},
74
+ year = {2026},
75
+ month = {Sep},
76
+ publisher = {American Physical Society},
77
+ doi = {10.1103/k9sg-v7hl},
78
+ url = {https://link.aps.org/doi/10.1103/k9sg-v7hl}
79
+ }
80
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rsspolymlp"
7
- version = "0.4.0"
7
+ version = "0.4.2"
8
8
  description = "A framework for random structure search using polynomial MLPs"
9
9
  license = "MIT"
10
10
  authors = [
@@ -117,7 +117,7 @@ def get_ghost_minima_dists(dir_path):
117
117
 
118
118
  def ghost_minima_candidates(result_paths):
119
119
  # Prepare output directory: remove existing files if already exists
120
- out_dir = "ghost_minima/ghost_minima_candidates"
120
+ out_dir = "ghost_minima/ghost_minima_cands"
121
121
  os.makedirs(out_dir, exist_ok=True)
122
122
  for filename in os.listdir(out_dir):
123
123
  if "POSCAR" in filename:
@@ -135,14 +135,14 @@ def ghost_minima_candidates(result_paths):
135
135
  logname = os.path.basename(res_path).split(".json")[0]
136
136
  for res in rss_results:
137
137
  if res.get("is_ghost_minima"):
138
- dest = f"ghost_minima/ghost_minima_candidates/POSCAR_{logname}_No{res['struct_no']}"
138
+ dest = f"ghost_minima/ghost_minima_cands/POSCAR_{logname}_No{res['struct_tag']}"
139
139
  shutil.copy(res["struct_path"], dest)
140
140
  _res = res
141
141
  _res.pop("structure", None)
142
- _res["ghost_minima_poscar"] = f"POSCAR_{logname}_No{res['struct_no']}"
142
+ _res["ghost_minima_poscar"] = f"POSCAR_{logname}_No{res['struct_tag']}"
143
143
  ghost_minima_all.append(_res)
144
144
 
145
- with open("ghost_minima/ghost_minima_candidates.dat", "w") as f:
145
+ with open("ghost_minima/ghost_minima_cands.dat", "w") as f:
146
146
  for res in ghost_minima_all:
147
147
  print(res, file=f)
148
148
  print(f"Detected {len(ghost_minima_all)} potential ghost_minima")
@@ -151,7 +151,7 @@ def ghost_minima_candidates(result_paths):
151
151
  def detect_actual_ghost_minima(dft_path):
152
152
  # Load ghost_minima candidates
153
153
  ghost_minima_all = []
154
- with open("ghost_minima/ghost_minima_candidates.dat") as f:
154
+ with open("ghost_minima/ghost_minima_cands.dat") as f:
155
155
  for line in f:
156
156
  ghost_minima_all.append(ast.literal_eval(line.strip()))
157
157
 
@@ -293,7 +293,7 @@ class ConvexHullAnalyzer:
293
293
  [r["is_ghost_minima"] for r in rss_results]
294
294
  ),
295
295
  "struct_tag": np.array(
296
- [f"POSCAR_{logname}_No{r['struct_no']}" for r in rss_results]
296
+ [f"POSCAR_{logname}_No{r['struct_tag']}" for r in rss_results]
297
297
  ),
298
298
  }
299
299