import freud
import hoomd
import matplotlib.pyplot as plt
import numpy as np
from hoomd import hpmc
hoomd.context.initialize("")
system = hoomd.init.create_lattice(
hoomd.lattice.sc(a=1), n=20)
mc = hpmc.integrate.sphere(seed=42, d=0.1, a=0.1)
mc.shape_param.set("A", diameter=0.5)
w6 = freud.order.Steinhardt(l=6, wl=True)
def calc_W6(timestep):
hoomd.util.quiet_status()
snap = system.take_snapshot()
hoomd.util.unquiet_status()
w6.compute(system=snap, neighbors={"num_neighbors": 12})
return np.mean(w6.particle_order)
# Equilibrate the system a bit before accumulating the RDF.
hoomd.analyze.callback(calc_W6, period=100)
logger = hoomd.analyze.log(
filename="output.log",
quantities=["w6"],
period=100,
header_prefix="#",
overwrite=True,
)
logger.register_callback("w6", calc_W6)
hoomd.run(1e7)