0
$\begingroup$

I am trying to figure out how to deal coupling. I am trying to model a polymer chain. I have to deal with the angle between adjacent angles, dihedral angles, and vibration. I am able to compute all three separately: I create an acceleration matrix by computing the forces. The acceleration matrix has rows=dimension and columns=particles. Each vector in the matrix represents a monomer in real space. Then, I multiply the acceleration matrix with the time step squared and add it to the initial positions. This gives me how the monomers evolve. However, I am not sure how I would go about in coupling all these three. Since most programs execute code sequentially, how would I go around to this? Is there a general approach? I am thinking of two approaches: calculating an effective acceleration that includes all acceleartion along with their coupling and correcting the acceleration after obtaining all accelerations. Are there other approaches? Any advice or references would be appreciated.

$\endgroup$
  • $\begingroup$ Have you computed mode coupling in a simpler system? For example, a system of masses and spring $\endgroup$ – nicoguaro Apr 2 '16 at 18:50
1
$\begingroup$

A famous and precise algorithm for updating positions and speed in molecular dynamics are Verlet algorithm and it's variations (velocity and leapfrog). You can see the Verlet algorithm as a Newton-like integrator and velocity or leapfrog as Runge-Kutta versions of it.

You'll find the maths, which are really simple in any molecular simulation textbook you'll see it's quite near what you're doing (here is a short version http://www.fisica.uniud.it/~ercolessi/md/md/node21.html).

Their is no problem regarding the calculation of your acceleration vector summing all forces in your atoms as long as your time step is around ten times shorter than the shorter period of your system (roughly). Else you will miss parts of the dynamics or it will be totally incoherent due to drifts of positions.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ I am using the verlet algorithm. The accelerations are the second order term. However, they are all separate. The vibration doesn't affect the rotation and viceversa. I am trying to find how to make it so that the motion is not independent. $\endgroup$ – CoffeeIsLife Apr 2 '16 at 8:47
  • $\begingroup$ In classical Molecular Dynamics, I don't know any other dependencies other than just summing the forces on each atom to get the acceleration. However it may depends on the force field you use as some are quite sophisticated. In any case, my comment on the amplitude of the time step is the most important point I would underline in order to avoid the part of the dynamics due to the highest frequencies. Edit: I assume you use classical harmonic potential for angle dependent potential and stretching and a sum of cosine for the torsions. Is this so? $\endgroup$ – G.Clavier Apr 2 '16 at 12:04
  • $\begingroup$ Yes, I am doing that. $\endgroup$ – CoffeeIsLife Apr 2 '16 at 12:12
  • 1
    $\begingroup$ Then I see no problem in summing all the forces for each monomer at every time step and only then updating all the positions. Else don't understand the core of your question. $\endgroup$ – G.Clavier Apr 2 '16 at 13:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.