ECO Driving force
adds an energy to each atom depending on the surrounding crystal orientation, in order to drive grain boundaries
This commit is contained in:
130
doc/src/fix_eco_force.rst
Normal file
130
doc/src/fix_eco_force.rst
Normal file
@ -0,0 +1,130 @@
|
||||
1 fix eco/force command
|
||||
|
||||
fix ID group-ID eco/force u0 eta rcut file
|
||||
• ID, group-ID are documented in fix command
|
||||
• u0 = energy added to each atom (energy units)
|
||||
• eta = cutoff value (usually 0.25)
|
||||
• rcut = cutoff radius for orientation parameter calculation • file = file that specifies orientation of each grain
|
||||
Examples: fix gb all eco/force 0.08 0.25 3.524 sigma5.ori
|
||||
|
||||
|
||||
|
||||
1.1 Description:
|
||||
|
||||
The fix applies a synthetic driving force to a grain boundary which can
|
||||
be used for the investigation of grain boundary motion. The affiliation
|
||||
of atoms to either of the two grains forming the grain boundary is
|
||||
determined from an orientation-dependent order parameter as described
|
||||
in (Ulomek). The potential energy of atoms is either increased by an amount
|
||||
of 0.5*u0 or -0.5*u0 according to the orientation of the surrounding
|
||||
crystal. This creates a potential energy gradient which pushes atoms near
|
||||
the grain boundary to orient according to the energetically favorable
|
||||
grain orientation. This fix is designed for applications in bicrystal system
|
||||
with one grain boundary and open ends, or two opposite grain boundaries in
|
||||
a periodic system. In either case, the entire system can experience a
|
||||
displacement during the simulation which needs to be accounted for in the
|
||||
evaluation of the grain boundary velocity. While the basic method is
|
||||
described in (Ulomek), the implementation follows the efficient
|
||||
implementation from (Schratt & Mohles). The synthetic potential energy added to an
|
||||
atom j is given by the following formulas
|
||||
|
||||
\begin{eqnarray}
|
||||
w(|\vec{r}_{jk}|)=w_{jk}=\left\{\begin{array}{lc}
|
||||
\frac{|\vec{r}_{jk}|^{4}}{r_{\mathrm{cut}}^{4}}-2\frac{|\vec{r}_{jk}|^{2}}{r_{\mathrm{cut}}^{2}}+1, & |\vec{r}_{jk}|<r_{\mathrm{cut}} \\
|
||||
0, & |\vec{r}_{jk}|\ge r_{\mathrm{cut}}
|
||||
\end{array}\right.
|
||||
\label{eq:envelope}
|
||||
\end{eqnarray}
|
||||
\begin{eqnarray}
|
||||
\chi_{j} & = & \frac{1}{N}\sum_{l=1}^{3}\left\lbrack\left\vert\psi_{l}^{\mathrm{I}}(\vec{r}_{j})\right\vert^{2}-\left\vert\psi_{l}^{\mathrm{II}}(\vec{r}_{j})\right\vert^{2}\right\rbrack
|
||||
\label{eq:force-long}
|
||||
\end{eqnarray}
|
||||
\begin{eqnarray}
|
||||
\psi_{l}^{\mathrm{X}}(\vec{r}_{j})=\sum_{k\in\mathit{\Gamma}_{j}}w_{jk}\exp\left(\mathrm{i}\vec{r}_{jk}\cdot\vec{q}_{l}^{\mathrm{X}}\right)
|
||||
\end{eqnarray}
|
||||
\begin{eqnarray}
|
||||
u(\chi_{j}) & = & \frac{u_{0}}{2}\left\{\begin{array}{lc}
|
||||
1, & \chi_{j}\ge\eta\\
|
||||
\sin\left(\frac{\pi\chi_{j}}{2\eta}\right), & -\eta<\chi_{j}<\eta\\
|
||||
-1, & \chi_{j}\le-\eta
|
||||
\end{array}\right.
|
||||
\label{eq:energy-mid}
|
||||
\end{eqnarray}
|
||||
|
||||
which are fully explained in (Ulomek) and (Schratt & Mohles).
|
||||
|
||||
The force on each atom is the negative gradient of the synthetic potential energy. It
|
||||
depends on the surrounding of this atom. An atom far from the grain boundary does not
|
||||
experience a synthetic force as its surrounding is that of an oriented single crystal
|
||||
and thermal fluctuations are masked by the parameter eta. Near the grain boundary
|
||||
however, the gradient is nonzero and synthetic force terms are computed.
|
||||
The orientation file specifies the perfect oriented crystal basis vectors for the
|
||||
two adjoining crystals. The first three lines for the energetically penalized and the
|
||||
last three lines for the energetically favored grain assuming u0 is positive. For
|
||||
negative u0 this is reversed. With the rcut parameter, the size of the region around
|
||||
each atom which is used in the order parameter computation is defined. It should at
|
||||
least include the nearest neighbor shell. For high temperatures or low angle
|
||||
grain boundaries, it might be beneficial to increase rcut in order to get a more
|
||||
precise identification of the atoms surrounding. However, computation time will
|
||||
increase as more atoms considered in the order parameter and force computation.
|
||||
It is also worth noting that the cutoff radius must not exceed the communication
|
||||
distance for ghost atoms in LAMMPS. Currently however, the method stores results
|
||||
for order parameter and force computations in statically allocated arrays to
|
||||
increase efficiency such that the user is limited to 24 nearest neighbors.
|
||||
This is more than enough in most applications. With file, the input file for
|
||||
the 6 oriented crystal basis vectors is specified. Each line of the input file
|
||||
contains the three components of a primitive lattice vector oriented according to
|
||||
the grain orientation in the simulation box. The first (last) three lines correspond
|
||||
to the primitive lattice vectors of the first (second) grain. An example for
|
||||
a Σ5⟨001⟩ misorientation is given at the end.
|
||||
|
||||
If no synthetic energy difference between the grains is created, u0=0, the
|
||||
force computation is omitted. In this case, the order parameter of the
|
||||
driving force can be used to track the grain boundary motion throughout the
|
||||
simulation.
|
||||
|
||||
|
||||
|
||||
1.2 Restart, fix_modify, output, run start/stop, minimize info:
|
||||
|
||||
No information about this fix is written to binary restart files. The
|
||||
fix_modify energy option is supported by this fix to add the potential energy of
|
||||
atominteractions with the grain boundary driving force to the system's poten-
|
||||
tial energy as part of thermodynamic output.
|
||||
The total sum of added synthetic potential energy is computed and can be accessed
|
||||
by various output options. The order parameter as well as the thermally masked
|
||||
output parameter are stored in per-atom arrays and can also be accessed by various
|
||||
output commands.
|
||||
No parameter of this fix
|
||||
can be used with the start/stop keywords of the run command. This fix is
|
||||
not invoked during energy minimization.
|
||||
|
||||
|
||||
|
||||
1.3 Restrictions:
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS was
|
||||
built with that package. See the Making LAMMPS section for more info.
|
||||
|
||||
|
||||
|
||||
1.4 Related commands:
|
||||
|
||||
fix_modify
|
||||
Default: none
|
||||
(Ulomek) Felix Ulomek et al. Modelling Simul. Mater. Sci. Eng. 23 (2015) 025007
|
||||
(Schratt & Mohles) Adrian A. Schratt and Volker Mohles. Comp. Mat. Sci. 182 (2020) 109774
|
||||
|
||||
For illustration purposes, here is an example file that specifies a $\Sigma5\langle001\rangle$ tilt grain boundary.
|
||||
This is for a lattice constant of 3.52 Angs.
|
||||
|
||||
|
||||
|
||||
1.5 File:
|
||||
1.671685 0.557228 1.76212
|
||||
0.557228 -1.671685 1.76212
|
||||
2.228913 -1.114456 0.000000
|
||||
0.557228 1.671685 1.76212
|
||||
1.671685 -0.557228 1.76212
|
||||
2.228913 1.114456 0.000000
|
||||
|
||||
Reference in New Issue
Block a user