This commit is contained in:
2022-11-22 20:29:16 +01:00
parent 02b95c4c8c
commit 2fb37002cb

View File

@ -99,7 +99,6 @@ def main():
last_output_time = time.time()
# Prepare file
last_output_time = time.time()
with h5py.File(output_filename,'a') as f:
if not "mean-magn" in f:
dataset = f.create_dataset("magnetizations", (0,), maxshape=(None,), chunks=True)
@ -122,21 +121,20 @@ def main():
run_scalar_MH(phi_state,lamb,kappa,delta,measure_sweeps * num_sites)
magnetizations.append(np.mean(phi_state))
measurements_done += 1
if measurements == 0 or measurements_done == measurements or time.time() - last_output_time > args.o:
if measurements_done == measurements or time.time() - last_output_time > args.o:
# time to output data again
with h5py.File(output_filename,'a') as f:
# enlarge the data set
f["magnetizations"].resize(measurements, axis=0)
dataset = f["magnetizations"]
dataset.resize(measurements, axis=0)
# copy the data to the new space at the end of the dataset
f["magnetizations"][-len(magnetizations):] = magnetizations
f["magnetizations"].attrs["current_time"] = time.asctime()
dataset[-len(magnetizations):] = magnetizations
dataset.attrs["current_time"] = time.asctime()
magnetizations.clear()
if measurements_done == measurements:
break
else:
last_output_time = time.time()
# TODO: Store stoptime if any.
#dataset.attrs["stop time"] = time.asctime()
# TODO: Save if n is unset, m is set.
if __name__ == "__main__":