Hi,

Axel you are right. Theta is already random because of the dynamics with solvent. So, if I just calculate theta in each step and add the forces: F0 cos(theta), F0 sin(theta), to each particle in the rigid body, it will give the rigid body an additional kick along the propagation direction.

Now the question is how to calculate theta in each step.

For rigid bodies I think LAMMPS does not calculate it directly. So, if I find out two particles, one at the head (2) and the other at the tail (1) and the line joining them passing through the centre of mass of the rigid body, I can define a variable like

theta = atan[(y2-y1)/(x2-x1)]

This will give me the propagation direction.

Once theta is calculated, I will be able to add the forces.

Please suggest me if I am thinking it right.

Thanks and regards,

CMB

Hi,

I am simulating an elliptical shape rigid body particles in a sinusoidal

cavity in 2D. It interacts with the background dpd solvent. In addition to

that I want to add a force on the rigid body particle in each step which

will randomize it’s propagation direction. The force should be like:

Fx = F0 cos(theta)

Fy = F0 sin(theta)

dtheta/dt = random,

theta is the angle between the propagation direction and channel axis (x

axis say) and it varies randomly.

what is the point of this?

your dpd thermostat will already add randomization to the constituent

particles of your rigid bodies, which will include residual random

rotation forces.

Please suggest me if there is any way to do that with existing lamps codes.

i don’t know any way to do this explicitly without writing some C++

code. please note that some of the rigid fixes offer an internal

langevin thermostat that operates directly on the rigid bodies.

axel.