I want a group of atoms to move linearly regardless of its interaction with other atoms.
When I use fix move linear, it still may rotate under impact of other atoms.
To prevent it, I have to use fix move transrot with a huge period.
How to set period to infinity? Should I just keep using a huge number?
Is there other way to prohibit rotation while setting fixed linear move ?
fix myfix mygroup setforce 0 0 0 # erase all forces applied on the atoms from mygroup
velocity mygroup set 0 1 0 # set the velocity of the atoms from mygroup
Please provide a reproducer input example for your claim. There is no reason why applying fix move linear should induce a rotation. Fix move moves atoms with complete disregard of the forces on them. So there must be an error in your input. Please check the log for warnings.
Don’t include the particle from g1 group in the fix nve/body group. With the setup you have now, this particle is first moved by fix move and then its trajectory is further modified by fix nve/body.
The simulation is executed correctly. If you want polyhedron 1 to be unaffected by its interaction with id 2, you need to remove their interactions with
group g1 id 1 # moving linear
group g2 id 2 # falling
fix 1 g2 nve/body
fix g1l g1 move linear 0 1 0
as @mkanski and @akohlmey suggested.
There are no warnings now, but the g1 plane is still rotating after collision.
[False. Works fine, see my post below]