The deform keyword

From GPUMD
Jump to navigation Jump to search

Purpose

This keyword is used to deform the simulation box, which can be used to do tensile tests.

Grammar

It requires 4 parameters:

   deform strain_rate deform_x deform_y deform_z

Here, strain rate specifies the speed of the increase of the box length, which is in units of A/step. For example, suppose the box length (in a given direction) in the beginning of a run is 100 A and this parameter is [math]10^{-5}[/math] A/step, then a run with [math]10^{6}[/math] steps will change the box length by 10%. This gives a strain rate of [math]10^{8}[/math] s[math]^{-1}[/math] if the time step is 1 fs. The second parameter deform_x can be 0 or 1, where 0 means do not deform the [math]x[/math] direction and 1 means deform the [math]y[/math] direction. The last two parameters have similar meanings.


Examples

Example 1

  • For uniaxial tensile test, one can first equilibrate the system and then deform the box:
   # The equilibration stage
   ensemble npt_ber 300 300 0.1 0 0 0 0.0005
   run 1000000
   # The production stage
   ensemble npt_ber 300 300 0.1 0 0 0 0.0005
   neighbor 1
   deform 0.00001 1 0 0
   run 1000000
  • Currently, one must use the NPT ensemble when using this keyword. That is, the code assumes that the pressure components in the directions which are not deformed will be controlled.
  • Also note that we have choose to update the neighbor list. When the system is deformed, the neighbor list might need to be updated.
  • In the equilibration stage, it is also recommended to use the NPT ensemble to obtain the zero strain state before applying the deformation.

Caveats

  • See the example above.

Related keywords

  • None