Skip to content

Commit ddd6732

Browse files
committed
correct pair_coeff for hybrid style
1 parent 53e8961 commit ddd6732

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

dpti/hti_liq.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
def make_iter_name(iter_index):
2828
return "task_hti." + ("%04d" % iter_index)
2929

30-
def parse_lj_sigma_epsilon(ret, sparam):
30+
def parse_lj_sigma_epsilon(ret, sparam, hybrid=False):
3131
element_num = sparam.get("element_num", 1)
3232
sigma_key_index = filter(
3333
lambda t: t[0] <= t[1],
@@ -36,22 +36,28 @@ def parse_lj_sigma_epsilon(ret, sparam):
3636
activation = sparam["activation"]
3737
epsilon = sparam.get("epsilon", None)
3838
epsilon_0_0 = sparam.get("epsilon_0_0", None)
39+
if hybrid:
40+
pair_coeff_str = "lj/cut/soft "
41+
else:
42+
pair_coeff_str = ""
3943
if epsilon is not None:
4044
assert epsilon_0_0 is None, "epsilon and epsilon_0_0 cannot be set at the same time"
4145
ret += f"variable EPSILON equal {epsilon:f}\n"
4246
for i, j in sigma_key_index:
43-
ret += "pair_coeff {} {} ${{EPSILON}} {:f} {:f}\n".format(
47+
ret += "pair_coeff {} {} {p:s}${{EPSILON}} {:f} {:f}\n".format(
4448
i + 1,
4549
j + 1,
50+
pair_coeff_str,
4651
sparam["sigma_" + str(i) + "_" + str(j)],
4752
activation,
4853
)
4954
else:
5055
assert epsilon_0_0 is not None, "epsilon or epsilon_0_0 must be set"
5156
for i, j in sigma_key_index:
52-
ret += "pair_coeff {} {} {:f} {:f} {:f}\n".format(
57+
ret += "pair_coeff {} {} {:s}{:f} {:f} {:f}\n".format(
5358
i + 1,
5459
j + 1,
60+
pair_coeff_str,
5561
sparam["epsilon_" + str(i) + "_" + str(j)],
5662
sparam["sigma_" + str(i) + "_" + str(j)],
5763
activation,
@@ -64,7 +70,7 @@ def _ff_soft_on(lamb, sparam):
6470
rcut = sparam["rcut"]
6571
ret = ""
6672
ret += f"pair_style lj/cut/soft {nn:f} {alpha_lj:f} {rcut:f}\n"
67-
ret = parse_lj_sigma_epsilon(ret, sparam)
73+
ret = parse_lj_sigma_epsilon(ret, sparam, hybrid=False)
6874

6975
ret += "fix tot_pot all adapt/fep 0 pair lj/cut/soft epsilon * * v_LAMBDA scale yes\n"
7076
ret += "compute lj_pe all pair lj/cut/soft\n"
@@ -86,7 +92,7 @@ def _ff_deep_on(lamb, sparam, model, if_meam=False, meam_model=None):
8692
ret += f"pair_style hybrid/overlay deepmd {model} lj/cut/soft {nn:f} {alpha_lj:f} {rcut:f}\n"
8793
ret += "pair_coeff * * deepmd\n"
8894

89-
ret = parse_lj_sigma_epsilon(ret, sparam)
95+
ret = parse_lj_sigma_epsilon(ret, sparam, hybrid=True)
9096

9197
if if_meam:
9298
ret += "fix tot_pot all adapt/fep 0 pair meam scale * * v_LAMBDA\n"
@@ -114,7 +120,7 @@ def _ff_soft_off(lamb, sparam, model, if_meam=False, meam_model=None):
114120
ret += f"pair_style hybrid/overlay deepmd {model} lj/cut/soft {nn:f} {alpha_lj:f} {rcut:f}\n"
115121
ret += "pair_coeff * * deepmd\n"
116122

117-
ret = parse_lj_sigma_epsilon(ret, sparam)
123+
ret = parse_lj_sigma_epsilon(ret, sparam, hybrid=True)
118124

119125
ret += "fix tot_pot all adapt/fep 0 pair lj/cut/soft epsilon * * v_INV_LAMBDA scale yes\n"
120126
ret += "compute lj_pe all pair lj/cut/soft\n"

0 commit comments

Comments
 (0)