Hi , Dear HOMMD-blue users, I am trying to use hoomd.group.rigid() to simulate my systems,
import sys
import os
import hoomd, hoomd.md as md
from hoomd import *
from hoomd import deprecated
context.initialize("");
deprecated.init.read_xml("1-rigid.xml");
#WCA
nl = hoomd.md.nlist.cell()
lj = hoomd.md.pair.lj(r_cut=2**(1.0/10), nlist=nl);
lj.pair_coeff.set('A', 'A', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('A', 'B', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('A', 'C', epsilon=1, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('A', 'D', epsilon=1, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('A', 'R', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('B', 'B', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('B', 'C', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('B', 'D', epsilon=0, sigma=0.75, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('B', 'R', epsilon=0, sigma=0.75, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('C', 'C', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('C', 'D', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('C', 'R', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('D', 'D', epsilon=1, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('D', 'R', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.pair_coeff.set('R', 'R', epsilon=0, sigma=1, r_cut=2**(1.0/10), r_on=2.0);
lj.set_params(mode="xplor")
harmonic=hoomd.md.bond.harmonic();
harmonic.bond_coeff.set('C-C',k=30,r0=1.0)
harmonic.bond_coeff.set('C-D',k=30,r0=1.0)
nl.reset_exclusions(exclusions = []);
rigid = hoomd.group.rigid_center()
nonrigid = hoomd.group.nonrigid()
all = hoomd.group.all()
hoomd.md.integrate.mode_standard(dt=0.01);
nvt = hoomd.md.integrate.langevin(group=nonrigid, kT=0.2, seed=42)
lg1 = hoomd.md.integrate.langevin(group=rigid, kT=2.0, seed=42)
lg1.set_gamma('A', gamma=0.5)
lg1.set_gamma('B', gamma=0.5)
lg1.set_gamma('R', gamma=0.5)
hoomd.md.update.zero_momentum()
zeroer= hoomd.md.update.zero_momentum(period=500)
hoomd.analyze.log(filename="thermo.log",
quantities=['potential_energy'],
period=100,
overwrite=True)
hoomd.dump.gsd("trajectory.gsd",
period=100,
group=all,
overwrite=True)
hoomd.run(10000)
As you can see from the gif, the rigid sphere is not moving, only a blue particle is moving. Hoomd regards the blue particle as the rigid_center, but the blue particle does not move with the rigid sphere as a whole.
I guess it may be due to the rigid_center settings, when I use the "read_xml" method to set the initial configuration, how should I use the "rigid = hoomd.group.rigid_center()"?