Skip to content

Commit a42a30f

Browse files
committed
Merge branch 'master' of https://github.com/MaterSim/PyXtal
2 parents b9fd715 + d2ba54b commit a42a30f

1 file changed

Lines changed: 11 additions & 12 deletions

File tree

examples/example_09_QRS_conf.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def get_visited_energies(qrs):
9191
return energies
9292

9393

94-
def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_dir="qrs_plots", time_cost_s=None, coverage=None, n_conformers=None, energy_unit="kcal/mol"):
94+
def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_dir="qrs_plots", time_cost_s=None, coverage=None, n_conformers=None):
9595
"""Save a plot of visited-structure ID vs energy for one QRS run."""
9696
if not energies:
9797
print(f"No energies collected for {code}; skipping plot.")
@@ -101,7 +101,7 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
101101
ids = list(range(1, len(energies) + 1))
102102

103103
fig, ax = plt.subplots(figsize=(7, 4.5))
104-
ax.scatter(ids, energies, s=10, alpha=0.8, label="Visited")
104+
ax.scatter(ids, energies, s=20, alpha=0.8, label="Visited")
105105
ax.plot(ids, energies, linewidth=0.8, alpha=0.6)
106106
if match_ids and match_energies:
107107
ax.scatter(
@@ -116,12 +116,12 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
116116
label="Match",
117117
)
118118
ax.set_xlabel("Visited Structure ID")
119-
ax.set_ylabel(f"Energy ({energy_unit})")
119+
ax.set_ylabel("Energy (kcal/mol)")
120120
title_parts = [f"{code}: "]
121121
if n_conformers is not None:
122122
title_parts.append(f"conf: {n_conformers}")
123123
if time_cost_s is not None:
124-
title_parts.append(f"time: {time_cost_s:.2f} s")
124+
title_parts.append(f"time: {time_cost_s:.1f} s")
125125
if coverage is not None:
126126
title_parts.append(f"coverage: {coverage}")
127127
if len(title_parts) > 1:
@@ -138,7 +138,7 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
138138
ax.set_ylim(ymin - margin, ymax + margin)
139139
else:
140140
y_max = min(ymin + 30, ymax)
141-
ax.set_ylim(ymin - 0.25, y_max)
141+
ax.set_ylim(ymin - 1, y_max)
142142
fig.tight_layout()
143143

144144
fig_path = os.path.join(out_dir, f"{code}.png")
@@ -173,7 +173,8 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
173173
for code in db.get_all_codes():
174174
#if code not in ['ACSALA']: continue
175175
#if code not in ['FUNZOE']: continue
176-
if code not in ['XAFQON']: continue
176+
if code in ['ACEMID02']: continue
177+
#if code not in ['XAFPAY', 'OBEQIX', 'UJIRIO02']: continue
177178
row = db.get_row(code=code)
178179
ref_xtal = db.get_pyxtal(code=code)
179180
if ref_xtal.has_special_site():
@@ -287,12 +288,11 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
287288
composition = [int(a) for a in ref_xtal.get_zprime()],
288289
molecules=molecules,
289290
sites=sites,
290-
N_gen=100,
291-
N_pop=48,
292-
N_cpu=2,#4,
291+
N_gen=200,
292+
N_pop=96,
293+
N_cpu=48,
293294
cif="all.cif",
294-
skip_mlp=False,#True,
295-
mlp='MACEOFF',
295+
skip_mlp=True,
296296
verbose=False,
297297
delta_length=1.0,
298298
delta_angle=15.0,
@@ -322,7 +322,6 @@ def plot_id_vs_energy(code, energies, match_ids=None, match_energies=None, out_d
322322
time_cost_s=time_cost_s,
323323
coverage=coverage,
324324
n_conformers=n_pregen_total,
325-
energy_unit="eV/atom" if not qrs.skip_mlp else "kcal/mol",
326325
)
327326

328327
with open(csv_path, "a", newline="") as fcsv:

0 commit comments

Comments
 (0)