Adding reference section to doc pages, update misc error messages
This commit is contained in:
@ -70,7 +70,9 @@ displacement. A deformation gradient tensor is then calculated as
|
|||||||
D^2_\mathrm{min} = \sum_{\mathrm{neighbors}} \left| \vec{r} - F \vec{r}_0 \right|^2
|
D^2_\mathrm{min} = \sum_{\mathrm{neighbors}} \left| \vec{r} - F \vec{r}_0 \right|^2
|
||||||
|
|
||||||
and a strain tensor is calculated :math:`E = F F^{T} - I` where :math:`I`
|
and a strain tensor is calculated :math:`E = F F^{T} - I` where :math:`I`
|
||||||
is the identity tensor.
|
is the identity tensor. This calculation is only performed on timesteps that
|
||||||
|
are a multiple of *nevery* (including timestep zero). Data accessed before
|
||||||
|
this occurs will simply be zeroed.
|
||||||
|
|
||||||
The *integrated* style simply integrates the velocity of particles
|
The *integrated* style simply integrates the velocity of particles
|
||||||
every timestep to calculate a displacement. This style only works if
|
every timestep to calculate a displacement. This style only works if
|
||||||
@ -78,6 +80,14 @@ used in conjunction with another fix that deforms the box and displaces
|
|||||||
atom positions such as :doc:`the remap x option of fix deform <fix_deform>`,
|
atom positions such as :doc:`the remap x option of fix deform <fix_deform>`,
|
||||||
:doc:`fix press/berendsen <fix_press_berendsen>`, or :doc:`fix nh <fix_nh>`.
|
:doc:`fix press/berendsen <fix_press_berendsen>`, or :doc:`fix nh <fix_nh>`.
|
||||||
|
|
||||||
|
Both of these methods require defining a reference state. With the *fixed* reference
|
||||||
|
style, the user picks a specific timestep *nstep* from which particle positions are saved.
|
||||||
|
If peratom data is accessed from this compute prior to this timestep, it will simply be
|
||||||
|
zeroed. The *update* reference style implies the reference state will be updated every
|
||||||
|
*nstep* timesteps. The *offset* reference only applies to the *d2min* metric and will
|
||||||
|
update the reference state *nstep* timesteps before a multiple of *nevery* timesteps.
|
||||||
|
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
|
|||||||
@ -116,6 +116,9 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char *
|
|||||||
if (cut_style == RADIUS && (!atom->radius_flag))
|
if (cut_style == RADIUS && (!atom->radius_flag))
|
||||||
error->all(FLERR, "Fix nonaffine/displacement radius style requires atom attribute radius");
|
error->all(FLERR, "Fix nonaffine/displacement radius style requires atom attribute radius");
|
||||||
|
|
||||||
|
if (nad_style == INTEGRATED && reference_style == OFFSET)
|
||||||
|
error->all(FLERR, "Fix nonaffine/displacement cannot use the integrated style with an offset reference state");
|
||||||
|
|
||||||
peratom_flag = 1;
|
peratom_flag = 1;
|
||||||
peratom_freq = nevery;
|
peratom_freq = nevery;
|
||||||
nmax = -1;
|
nmax = -1;
|
||||||
@ -347,11 +350,6 @@ void FixNonaffineDisplacement::save_reference_state()
|
|||||||
|
|
||||||
void FixNonaffineDisplacement::calculate_D2Min()
|
void FixNonaffineDisplacement::calculate_D2Min()
|
||||||
{
|
{
|
||||||
if (!reference_saved) {
|
|
||||||
error->warning(FLERR, "Calculating D2Min without a saved reference state");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// invoke half neighbor list (will copy or build if necessary)
|
// invoke half neighbor list (will copy or build if necessary)
|
||||||
neighbor->build_one(list);
|
neighbor->build_one(list);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user