more tweaks

This commit is contained in:
Steve Plimpton
2024-04-08 16:25:17 -06:00
parent e40a1527d3
commit f1c2a22e2d
5 changed files with 36 additions and 39 deletions

View File

@ -80,7 +80,7 @@ Syntax
value = numeric value to compare to, or LAST value = numeric value to compare to, or LAST
these 3 args can be replaced by the word "none" to turn off thresholding these 3 args can be replaced by the word "none" to turn off thresholding
*time* arg = *yes* or *no* *time* arg = *yes* or *no*
*triclinic/general* arg = none *triclinic/general* arg = *yes* or *no*
*units* arg = *yes* or *no* *units* arg = *yes* or *no*
*unwrap* arg = *yes* or *no* *unwrap* arg = *yes* or *no*
@ -815,7 +815,7 @@ threshold criterion is met. Otherwise it is not met.
.. note:: .. note::
For style *custom*, the *triclinic/general* keyword alters dump For style *custom*, the *triclinic/general* keyword can alter dump
output for general triclinic simulation boxes and their atoms. See output for general triclinic simulation boxes and their atoms. See
the :doc:`dump <dump>` command for details of how this changes the the :doc:`dump <dump>` command for details of how this changes the
format of dump file snapshots. The thresh keyword may access format of dump file snapshots. The thresh keyword may access
@ -850,23 +850,25 @@ The default setting is *no*\ .
---------- ----------
The *triclinic/general* keyword only applies to the dump *atom* and The *triclinic/general* keyword only applies to the dump *atom* and
*custom* styles. It can only be used if the simulation box was *custom* styles. It can only be used with a value of *yes* if the
created as a general triclinic box. See the :doc:`Howto_triclinic simulation box was created as a general triclinic box. See the
<Howto_triclinic>` doc page for a detailed explanation of orthogonal, :doc:`Howto_triclinic <Howto_triclinic>` doc page for a detailed
restricted triclinic, and general triclinic simulation boxes. explanation of orthogonal, restricted triclinic, and general triclinic
simulation boxes.
If this keyword is used, the box information at the beginning of each If this keyword is used with a value of *yes*, the box information at
snapshot will include information about the 3 arbitrary edge vectors the beginning of each snapshot will include information about the 3
**A**, **B**, **C** that define the general triclinic box as well as arbitrary edge vectors **A**, **B**, **C** that define the general
their origin. The format is described on the :doc:`dump <dump>` doc triclinic box as well as their origin. The format is described on the
page. :doc:`dump <dump>` doc page.
The coordinates of each atom will be output as values in (or near) the The coordinates of each atom will likewise be output as values in (or
general triclinic box. Likewise, per-atom vector quantities such as near) the general triclinic box. Likewise, per-atom vector quantities
velocity, omega, dipole moment, etc will have orientations consistent such as velocity, omega, dipole moment, etc will have orientations
with the general triclinic box, meaning they will be rotated relative consistent with the general triclinic box, meaning they will be
to the standard xyz coordinate axes. See the :doc:`dump <dump>` doc rotated relative to the standard xyz coordinate axes. See the
page for a full list of which dump attributes this affects. :doc:`dump <dump>` doc page for a full list of which dump attributes
this affects.
---------- ----------

View File

@ -32,7 +32,7 @@ Syntax
*or* a thermo keyword or reference to compute, fix, property or variable. *or* a thermo keyword or reference to compute, fix, property or variable.
*temp* value = compute ID that calculates a temperature *temp* value = compute ID that calculates a temperature
*press* value = compute ID that calculates a pressure *press* value = compute ID that calculates a pressure
*triclinic/general* arg = none *triclinic/general* arg = *yes* or *no*
Examples Examples
@ -242,16 +242,18 @@ command, thermo output uses a default compute for pressure with ID =
keyword, then the new pressure compute specified by the *press* keyword, then the new pressure compute specified by the *press*
keyword will be unaffected by the *temp* setting. keyword will be unaffected by the *temp* setting.
The *triclinic/general* keyword can only be used if the simulation box The *triclinic/general* keyword can only be used with a value of *yes*
was created as a general triclinic box. See the :doc:`Howto_triclinic if the simulation box was created as a general triclinic box. See the
<Howto_triclinic>` doc page for a detailed explanation of orthogonal, :doc:`Howto_triclinic <Howto_triclinic>` doc page for a detailed
restricted triclinic, and general triclinic simulation boxes. explanation of orthogonal, restricted triclinic, and general triclinic
simulation boxes.
If this keyword is used, the output of the simulation box edge vectors If this keyword is *yes*, the output of the simulation box edge
and the pressure tensor components for the system are affected. These vectors and the pressure tensor components for the system are
are specified by the *avec,bvec,cvec* and *pxx,pyy,pzz,pxy,pxz,pyz* affected. These are specified by the *avec,bvec,cvec* and
keywords of the :doc:`thermo_style <thermo_style>` command. See the *pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style
:doc:`thermo_style <thermo_style>` doc page for details. <thermo_style>` command. See the :doc:`thermo_style <thermo_style>`
doc page for details.
Restrictions Restrictions
"""""""""""" """"""""""""
@ -266,8 +268,9 @@ Default
""""""" """""""
The option defaults are lost = error, warn = 100, norm = yes for unit The option defaults are lost = error, warn = 100, norm = yes for unit
style of *lj*, norm = no for unit style of *real* and *metal*, style of *lj*, norm = no for unit style of *real* and *metal*, flush =
flush = no, and temp/press = compute IDs defined by thermo_style. no, temp/press = compute IDs defined by thermo_style, and
triclinic/general = no.
The defaults for the line and format options depend on the thermo style. The defaults for the line and format options depend on the thermo style.
For styles "one" and "custom", the line and format defaults are "one", For styles "one" and "custom", the line and format defaults are "one",

View File

@ -115,7 +115,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
template: examples for using atom_style template and comparing to atom style molecular template: examples for using atom_style template and comparing to atom style molecular
tersoff: regression test input for Tersoff variants tersoff: regression test input for Tersoff variants
threebody: regression test input for a variety of threebody potentials threebody: regression test input for a variety of threebody potentials
triclinic: general and restricted triclinic examples triclinic: general triclinic simulation box examples
ttm: two-temeperature model examples ttm: two-temeperature model examples
vashishta: models using the Vashishta potential vashishta: models using the Vashishta potential
voronoi: Voronoi tesselation via compute voronoi/atom command voronoi: Voronoi tesselation via compute voronoi/atom command

View File

@ -1762,14 +1762,6 @@ int DumpCustom::modify_param(int narg, char **arg)
return 2; return 2;
} }
if (strcmp(arg[0],"triclinic/general") == 0) {
triclinic_general = 1;
if (triclinic_general && !domain->triclinic_general)
error->all(FLERR,"Dump_modify triclinic/general cannot be used "
"if simulation box is not general triclinic");
return 1;
}
if (strcmp(arg[0],"triclinic/general") == 0) { if (strcmp(arg[0],"triclinic/general") == 0) {
if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (narg < 2) error->all(FLERR,"Illegal dump_modify command");
triclinic_general = utils::logical(FLERR,arg[1],false,lmp); triclinic_general = utils::logical(FLERR,arg[1],false,lmp);

View File

@ -338,7 +338,7 @@ void WriteData::header()
domain->bvec[0],domain->bvec[1],domain->bvec[2], domain->bvec[0],domain->bvec[1],domain->bvec[2],
domain->cvec[0],domain->cvec[1],domain->cvec[2]); domain->cvec[0],domain->cvec[1],domain->cvec[2]);
fmt::print(fp,"{} {} {} abc origin\n", fmt::print(fp,"{} {} {} abc origin\n",
domain->boxlo[0],domain->boxlo[1],domain->boxhi[2]); domain->boxlo[0],domain->boxlo[1],domain->boxlo[2]);
} }
} }