Frenkel/Smit: Exercise 10 - MD NVE Code, PBC

Click For Summary
SUMMARY

The discussion focuses on the implementation of a molecular dynamics (MD) code utilizing the position Verlet algorithm and velocity rescaling for initialization under periodic boundary conditions. A specific line in the integration routine, which updates the variable Mxx, is questioned for its necessity in calculating the diffusion coefficient. The participants suggest that Mxx may serve as a common origin for particle positions, aiding in the analysis of drift. The conversation emphasizes the importance of understanding the role of Mxx in the context of periodic boundary conditions.

PREREQUISITES
  • Understanding of molecular dynamics simulations
  • Familiarity with the position Verlet algorithm
  • Knowledge of periodic boundary conditions in simulations
  • Proficiency in Fortran programming language
NEXT STEPS
  • Research the implementation of the position Verlet algorithm in MD codes
  • Study the role of periodic boundary conditions in molecular dynamics
  • Learn about calculating diffusion coefficients in simulations
  • Explore common blocks in Fortran and their applications in MD codes
USEFUL FOR

Researchers and developers working on molecular dynamics simulations, particularly those interested in the implementation of algorithms and the handling of periodic boundary conditions.

picat
Messages
1
Reaction score
0

Homework Statement


I am working on a MD code (http://www.acmm.nl/molsim/frenkel_smit/Exercise_10/index.html) which uses the position Verlet algorithm to integrate the equations of motion and a velocity rescaling algorithm for initialization in periodic boundary conditions.

I wondered why they use a specific step in the integration routine (integrate.f)

Mxx(I) = Mxx(I) + Xxx(I) - Rxx(I)
Myy(I) = Myy(I) + Yyy(I) - Ryy(I)
Mzz(I) = Mzz(I) + Zzz(I) - Rzz(I)

to define particles which are not put back in the box (Mxx). Xxx is the current position and Rxx is the old position.

Mxx is not used in any other way in the propagation itself.

2. The attempt at a solution

Is this step needed to calculate the diffusion coefficient in periodic boundary conditions, i.e. to have some kind of common origin? I cannot imagine what else the usage of this step could be. In the initialization Mxx is set to the current position and the differce (Xxx(I) - Rxx(I)) might give a measure for the drift.
 
Physics news on Phys.org
Hello picat, :welcome:

You want us to follow your crumb trail ? Post the code if you think it's relevant.
Otherwise: if this is fortran, Mxx could also be in a common block and be used elsewhere.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K