deform
Syntax
deform boolean_def def_number
{ij boolean_cg boolean_at def_rate stress_l stress_u flip_frequency}
time time_start time_always_flip time_end

boolean_def
,boolean_cg
,boolean_at
= t or ft is true f is false

def_number
= nonnegative integer (<= 9) 
ij
= xx or yy or zz or xy or yz or yz or zy or xz or zx 
def_rate
= real number 
stress_l
,stress_u
= positive real number 
flip_frequency
= positive integer 
time_start
,time_always_flip
,time_end
= nonnegative integer
Examples
deform t 1 {zx t t 0.05 0.6 0.7 10} time 500 1000 2500
deform t 2 {xx t f 0.01 1. 1.2 20} {yz f t 0.02 0.8 0.9 30} time 400 600 1900
Description
This command sets up the straincontrolled or stresscontrolled homogeneous deformation of the simulation cell. Note that the curly brackets {
and }
in the syntax/examples are to separate different deformation modes, the number of which is def_number
; all brackets should not be included in preparing cac.in
.
The deformation is applied only if boolean_def
= t. The coarsegrained and atomistic domains are deformed only if boolean_cg
and boolean_at
are t, respectively.
def_number
sets the number of superimposed deformation modes.
ij
decides each deformation mode, i.e., how the strain is applied. Following the standard indexes \epsilon_{ij} in continuum mechanics, i
and j
are the face on which and the direction along which the strain is applied. When i
and j
are the same, a uniaxial strain is applied; otherwise, a shear strain is applied.
def_rate
is the strain applied at each step, in units of time_step
.
stress_l
and stress_u
are the lower and upper bounds of the stress tensor component (designated by ij
) of the simulation cell, respectively, in GPa. In CAC simulations, all stress components are usually small at the beginning. Subject to the strain, most stress tensor components increase in magnitude until one of them is higher than the corresponding stress_u
, at which point the strain rate tensor changes sign, i.e., the deformation is reversed but each ij
remains unchanged. Subject to the newly reversed strain, most stress tensor components decrease until one of them is lower than the corresponding stress_l
, in which case the strain rate tensor changes sign again, i.e., the deformation is applied as the initial setting. Whether the stress component is out of bounds is monitored not at every step, but at every flip_frequency
step.
The deformation begins when the simulation step equals time_start
and stops when it exceeds time_end
.
When (i) the simulation step is larger than time_always_flip
and (ii) the simulation step does not exceed time_end
and (iii) the strain rate tensor did not change sign previously, the strain rate tensor changes sign at every step, regardless of the stress bounds defined by stress_l
and stress_u
. This is used, e.g., to keep a quasiconstant strain while the nodes and atoms adjust their positions in dynamic or quasistatic equilibrium. To disable this option, the user may set time_always_flip
to be larger than time_end
.
Related commands
Groups defined by the group command may be homogeneously deformed along with the simulation cell, depending on the value of boolean_def
set in the fix command.
Related files
deform_init.f90
and deform_box.f90
Default
deform f 1 xx f f 0. 0. 0. 1 time 0 0 0