Box scaling factor

From TurboGAP
Jump to navigation Jump to search

box_scaling_factor determines the change in lattice vectors taking place throughout a molecular dynamics simulation. It needs to be used in combination with scale_box = .true.. The lattice vectors change according to the following equation:

[math]\displaystyle{ \textbf{v} (i_\text{step}) = \frac{i_\text{step}}{N_\text{steps}} [[1+t_{xx}, t_{xy}, t_{xz}], [t_{yx}, 1+t_{yy}, t_{yz}], [t_{zx}, t_{zy}, 1+t_{zz}]] \, \textbf{v}_0, }[/math]

where [math]\displaystyle{ i_\text{step} }[/math] is the current time step, [math]\displaystyle{ N_\text{steps} }[/math] is the total number of time steps, [math]\displaystyle{ \textbf{v}_0 }[/math] is a lattice vector at the beginning of the simulation, and the ts are the scaling factors. The symmetry of the transformation is determined by how many elements, 1, 3 or 9, the user provides:

  • 1 element, e.g., box_scaling_factor = 1.2, specifies an isotropic (homogeneous) transformation of the box, with [math]\displaystyle{ t_{xx} = t_{yy} = t_{zz} = 0.2 }[/math] in the example;
  • 3 elements, e.g., box_scaling_factor = 1.1 1.2 1.3, specifies an orthorhombic (diagonal) transformation of the box, with [math]\displaystyle{ t_{xx} = 0.1 }[/math], [math]\displaystyle{ t_{yy} = 0.2 }[/math] and [math]\displaystyle{ t_{zz} = 0.3 }[/math] in the example;
  • 9 elements, e.g., box_scaling_factor = 1.1 0.2 0.3 0.4 1.5 0.6 0.7 0.8 1.9, specifies a triclinic (general) transformation of the box, with [math]\displaystyle{ t_{xx} = 0.1 }[/math], [math]\displaystyle{ t_{xy} = 0.2 }[/math], [math]\displaystyle{ t_{xz} = 0.3 }[/math], [math]\displaystyle{ t_{yx} = 0.4 }[/math], [math]\displaystyle{ t_{yy} = 0.5 }[/math], [math]\displaystyle{ t_{yz} = 0.6 }[/math], [math]\displaystyle{ t_{zx} = 0.7 }[/math], [math]\displaystyle{ t_{zy} = 0.8 }[/math] and [math]\displaystyle{ t_{zz} = 0.9 }[/math] in the example;

Important considerations

  • For the diagonal components of the transformation matrix, the user defines [math]\displaystyle{ 1+t }[/math] rather than t.
  • The atomic positions are scaled together with the lattice vectors.
  • The off-diagonal factors ([math]\displaystyle{ t_{ij}, i \neq j }[/math]) can be positive or negative; the diagonal factors ([math]\displaystyle{ 1+t_{ii} }[/math]) should be positive, otherwise the volume of the box would collapse to zero during the simulation.

Summary

Summary for box_scaling_factor keyword
Required/optional Type Accepted values Default See also
Optional Real or real array of dimension 3 or real array of dimension 9 Any real scalar or real array of dimension 3 or 9 1. 0. 0. 0. 1. 0. 0. 0. 1. MD options, scale_box, barostat

Example

scale_box = .true.
box_scaling_factor = 1.2