[lammps-users] rigid

Dear lammps users

I want to calculate the potential energies and forces between 2 rigid bodies built of LJ spheres in vacuum and solution. As the rigid particles are of arbitrary shape i.e. the interaction depends on their mutual orientations I want the particles to rotate while I am measuring the forces for fixed com seperations to receive an orientational averaged force. I used fix rigid for this purpose but as I saw in the manual and using xmovie the positions of the atoms in the rigid bodies are not kept fixed as I would claim. Did I something wrong (see inputscript). Is it only possible to calculate the forces using compute group/group without an time integrator and then rotate the bodies by hand i.e. by changing the datafile, or is there a less tedious way? Is there moreover the possibility to set an initial torque not equal to zero to the rigid bodies.

Thank you for your help

Best regards


velocity all create 300 12348765

velocity all zero linear

group cube1 id <> 1 2701

group cube2 id <> 2702 5402

fix 1 all rigid group 2 cube1 cube2 force * off off off

fix 2 all wall/reflect xlo EDGE xhi EDGE ylo EDGE yhi EDGE zlo EDGE zhi EDGE

compute 1 cube1 group/group cube2

compute 2 cube1 com

compute 3 cube2 com

neigh_modify exclude group cube1 cube1

neigh_modify exclude group cube2 cube2

thermo 10

thermo_style custom step etotal c_1 c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] c_2[3] c_3[1] c_3[2] c_3[3]

dump 4 all custom 10 dump id type x y z ix iy iz

run 10000

For something complex, I always start simple and
build up. Don't use neigh_modify exclude. Don't use
wall/reflect. Can you simply
run dynamics and have the 2 particles not translate, but
still rotate? Do they stay rigid? Once you have that
then turn on a diagnostic like compute group/group to
measure the interaction energy.