Adding reference section to doc pages, update misc error messages

This commit is contained in:
jtclemm
2023-07-17 11:52:06 -06:00
parent a80739c537
commit f4000efd8a
2 changed files with 14 additions and 6 deletions

View File

@ -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
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
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>`,
: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

View File

@ -116,6 +116,9 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char *
if (cut_style == RADIUS && (!atom->radius_flag))
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_freq = nevery;
nmax = -1;
@ -347,11 +350,6 @@ void FixNonaffineDisplacement::save_reference_state()
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)
neighbor->build_one(list);