Skip to content

Commit 723ced5

Browse files
committed
fix obs.dat logging for ensemble
1 parent b9de88b commit 723ced5

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

abics/applications/latgas_abinitio_interface/default_observer.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ def __init__(self, comm, energy_calculators, Lreload=False):
224224
self.comm = comm
225225

226226
def logfunc(self, calc_state: MCAlgorithm):
227+
assert calc_state.config is not None
228+
structure: Structure = calc_state.config.structure_norel
227229
energy_internal = calc_state.model.internal_energy(calc_state.config)
228230
energy = calc_state.model.energy(calc_state.config)
229231

@@ -233,7 +235,7 @@ def logfunc(self, calc_state: MCAlgorithm):
233235
f.write(str(self.minE) + "\n")
234236
calc_state.config.structure.to(fmt="POSCAR", filename="minE.vasp")
235237

236-
energies = [energy_internal]
238+
result = [energy_internal, energy]
237239
npar = self.comm.Get_size()
238240
if npar > 1:
239241
assert npar == len(self.calculators)
@@ -254,10 +256,10 @@ def logfunc(self, calc_state: MCAlgorithm):
254256
)
255257
energies_tmp.append(energy)
256258
std = np.std(energies_tmp, ddof=1)
257-
energies.extend(energies_tmp)
258-
energies.append(std)
259+
result.extend(energies_tmp)
260+
result.append(std)
259261

260-
return np.asarray(energies)
262+
return np.asarray(result)
261263

262264

263265
class EnsembleParams:

abics/sampling/pamc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,8 @@ def run(
358358
obs = np.zeros([len(self.kTs), obs_len])
359359
nsample = 0
360360
output = open("obs.dat", "a")
361-
write_obs_header(output, self.mycalc, observer)
361+
if self.write_node:
362+
write_obs_header(output, self.mycalc, observer)
362363
numT = self.betas.size
363364
while self.Tindex < numT:
364365
if self.Tindex > 0:

abics/sampling/rxmc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,8 @@ def run(
329329
nsample = 0
330330
XCscheme = 0
331331
with open("obs.dat", "a") as output:
332-
write_obs_header(output, self.mycalc, observer)
332+
if self.write_node:
333+
write_obs_header(output, self.mycalc, observer)
333334
ntrials = self.mycalc.ntrials
334335
naccepted = self.mycalc.naccepted
335336
for i in range(1, nsteps + 1):

0 commit comments

Comments
 (0)