From b0f09063e0ee5dfdc72dba28a877b4a1c1b442d4 Mon Sep 17 00:00:00 2001 From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa> Date: Thu, 20 Oct 2011 15:01:56 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@7149 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/atom_style.html | 32 ++++++--- doc/atom_style.txt | 34 +++++---- doc/compute_erotate_asphere.html | 32 ++++++--- doc/compute_erotate_asphere.txt | 32 ++++++--- doc/compute_property_atom.html | 19 ++++- doc/compute_property_atom.txt | 20 ++++-- doc/fix.html | 3 + doc/fix.txt | 3 + doc/fix_rigid.html | 29 ++++---- doc/fix_rigid.txt | 29 ++++---- doc/fix_srd.html | 44 ++++++------ doc/fix_srd.txt | 44 ++++++------ doc/read_data.html | 99 +++++++++++++++++++++++--- doc/read_data.txt | 91 +++++++++++++++++++++--- doc/set.html | 115 ++++++++++++++++++++++-------- doc/set.txt | 118 ++++++++++++++++++++++--------- 16 files changed, 539 insertions(+), 205 deletions(-) diff --git a/doc/atom_style.html b/doc/atom_style.html index 8356e44dfc..8b16f36569 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -15,7 +15,7 @@ </P> <PRE>atom_style style args </PRE> -<UL><LI>style = <I>angle</I> or <I>atomic</I> or <I>bond</I> or <I>charge</I> or <I>dipole</I> or <I>electron</I> or <I>ellipsoid</I> or <I>full</I> or <I>meso</I> or <I>molecular</I> or <I>peri</I> or <I>sphere</I> or <I>hybrid</I> +<UL><LI>style = <I>angle</I> or <I>atomic</I> or <I>bond</I> or <I>charge</I> or <I>dipole</I> or <I>electron</I> or <I>ellipsoid</I> or <I>full</I> or <I>line</I> or <I>meso</I> or <I>molecular</I> or <I>peri</I> or <I>sphere</I> or <I>tri</I> or <I>hybrid</I> </UL> <PRE> args = none for any style except <I>hybrid</I> <I>hybrid</I> args = list of one or more sub-styles @@ -61,10 +61,12 @@ quantities. <TR><TD ><I>electron</I> </TD><TD > charge and spin and eradius </TD><TD > electronic force field </TD></TR> <TR><TD ><I>ellipsoid</I> </TD><TD > shape, quaternion for particle orientation, angular momentum </TD><TD > extended aspherical particles </TD></TR> <TR><TD ><I>full</I> </TD><TD > molecular + charge </TD><TD > bio-molecules </TD></TR> +<TR><TD ><I>line</I> </TD><TD > end points, angular velocity </TD><TD > rigid bodies </TD></TR> <TR><TD ><I>meso</I> </TD><TD > rho, e, cv </TD><TD > SPH particles </TD></TR> <TR><TD ><I>molecular</I> </TD><TD > bonds, angles, dihedrals, impropers </TD><TD > uncharged molecules </TD></TR> <TR><TD ><I>peri</I> </TD><TD > mass, volume </TD><TD > mesocopic Peridynamic models </TD></TR> <TR><TD ><I>sphere</I> </TD><TD > diameter, mass, angular velocity </TD><TD > granular models </TD></TR> +<TR><TD ><I>tri</I> </TD><TD > corner points, angular momentum </TD><TD > rigid bodies </TD></TR> <TR><TD ><I>wavepacket</I> </TD><TD > charge, spin, eradius, etag, cs_re, cs_im </TD><TD > AWPMD </TD></TR></TABLE></DIV> @@ -73,8 +75,8 @@ the <A HREF = "mass.html">mass</A> command, except for the finite-size particle styles discussed below. They assign mass on a per-atom basis. </P> <P>All of the styles define point particles, except the <I>sphere</I>, -<I>ellipsoid</I>, <I>electron</I>, <I>peri</I>, and <I>wavepacket</I> styles, which define -finite-size particles. +<I>ellipsoid</I>, <I>electron</I>, <I>peri</I>, <I>wavepacket</I>, <I>line</I>, and <I>tri</I> +styles, which define finite-size particles. </P> <P>For the <I>sphere</I> style, the particles are spheres and each stores a per-particle diameter and mass. If the diameter > 0.0, the particle @@ -104,6 +106,14 @@ cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must have identical <I>etag</I> values. </P> +<P>For the <I>line</I> style, the particles are idealized line segments and +each stores a per-particle mass and length and orientation (i.e. the +end points of the line segment). +</P> +<P>For the <I>tri</I> style, the particles are planar triangles and each +stores a per-particle mass and size and orientation (i.e. the corner +points of the triangle). +</P> <HR> <P>Typically, simulations require only a single (non-hybrid) atom style. @@ -130,14 +140,14 @@ section</A>. </P> <P>The <I>angle</I>, <I>bond</I>, <I>full</I>, and <I>molecular</I> styles are part of the MOLECULAR package. The <I>dipole</I> style is part of the "dipole" -package. The <I>ellipsoid</I> style is part of the "asphere" package. The -<I>peri</I> style is part of the PERI package for Peridynamics. The -<I>electron</I> style is part of the USER-EFF package for <A HREF = "pair_eff.html">electronic force -fields</A>. The <I>meso</I> style is part of the USER-SPH -package for smoothed particle hydrodyanmics (SPH). See <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">this PDF -guide</A> to using SPH in LAMMPS. The -<I>wavepacket</I> style is part of the USER-AWPMD package for the -<A HREF = "pair_awpmd.html">antisymmetrized wave packet MD method</A>. They are +package. The <I>ellipsoid</I>, <I>line</I>, and <I>tri</I> styles are part of the +"asphere" package. The <I>peri</I> style is part of the PERI package for +Peridynamics. The <I>electron</I> style is part of the USER-EFF package +for <A HREF = "pair_eff.html">electronic force fields</A>. The <I>meso</I> style is part +of the USER-SPH package for smoothed particle hydrodyanmics (SPH). +See <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">this PDF guide</A> to using SPH in +LAMMPS. The <I>wavepacket</I> style is part of the USER-AWPMD package for +the <A HREF = "pair_awpmd.html">antisymmetrized wave packet MD method</A>. They are only enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making LAMMPS</A> section for more info. </P> diff --git a/doc/atom_style.txt b/doc/atom_style.txt index 8925291bc4..5f85786a7a 100644 --- a/doc/atom_style.txt +++ b/doc/atom_style.txt @@ -13,8 +13,8 @@ atom_style command :h3 atom_style style args :pre style = {angle} or {atomic} or {bond} or {charge} or {dipole} or \ - {electron} or {ellipsoid} or {full} or {meso} or {molecular} or \ - {peri} or {sphere} or {hybrid} :ul + {electron} or {ellipsoid} or {full} or {line} or {meso} or \ + {molecular} or {peri} or {sphere} or {tri} or {hybrid} :ul args = none for any style except {hybrid} {hybrid} args = list of one or more sub-styles :pre @@ -58,10 +58,12 @@ quantities. {electron} | charge and spin and eradius | electronic force field | {ellipsoid} | shape, quaternion for particle orientation, angular momentum | extended aspherical particles | {full} | molecular + charge | bio-molecules | +{line} | end points, angular velocity | rigid bodies | {meso} | rho, e, cv | SPH particles | {molecular} | bonds, angles, dihedrals, impropers | uncharged molecules | {peri} | mass, volume | mesocopic Peridynamic models | {sphere} | diameter, mass, angular velocity | granular models | +{tri} | corner points, angular momentum | rigid bodies | {wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|) All of the styles assign mass to particles on a per-type basis, using @@ -69,8 +71,8 @@ the "mass"_mass.html command, except for the finite-size particle styles discussed below. They assign mass on a per-atom basis. All of the styles define point particles, except the {sphere}, -{ellipsoid}, {electron}, {peri}, and {wavepacket} styles, which define -finite-size particles. +{ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, and {tri} +styles, which define finite-size particles. For the {sphere} style, the particles are spheres and each stores a per-particle diameter and mass. If the diameter > 0.0, the particle @@ -100,6 +102,14 @@ cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must have identical {etag} values. +For the {line} style, the particles are idealized line segments and +each stores a per-particle mass and length and orientation (i.e. the +end points of the line segment). + +For the {tri} style, the particles are planar triangles and each +stores a per-particle mass and size and orientation (i.e. the corner +points of the triangle). + :line Typically, simulations require only a single (non-hybrid) atom style. @@ -126,14 +136,14 @@ This command cannot be used after the simulation box is defined by a The {angle}, {bond}, {full}, and {molecular} styles are part of the MOLECULAR package. The {dipole} style is part of the "dipole" -package. The {ellipsoid} style is part of the "asphere" package. The -{peri} style is part of the PERI package for Peridynamics. The -{electron} style is part of the USER-EFF package for "electronic force -fields"_pair_eff.html. The {meso} style is part of the USER-SPH -package for smoothed particle hydrodyanmics (SPH). See "this PDF -guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS. The -{wavepacket} style is part of the USER-AWPMD package for the -"antisymmetrized wave packet MD method"_pair_awpmd.html. They are +package. The {ellipsoid}, {line}, and {tri} styles are part of the +"asphere" package. The {peri} style is part of the PERI package for +Peridynamics. The {electron} style is part of the USER-EFF package +for "electronic force fields"_pair_eff.html. The {meso} style is part +of the USER-SPH package for smoothed particle hydrodyanmics (SPH). +See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in +LAMMPS. The {wavepacket} style is part of the USER-AWPMD package for +the "antisymmetrized wave packet MD method"_pair_awpmd.html. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. diff --git a/doc/compute_erotate_asphere.html b/doc/compute_erotate_asphere.html index 642fb57767..161aef27c2 100644 --- a/doc/compute_erotate_asphere.html +++ b/doc/compute_erotate_asphere.html @@ -25,15 +25,19 @@ <P><B>Description:</B> </P> <P>Define a computation that calculates the rotational kinetic energy of -a group of aspherical particles. +a group of aspherical particles. The aspherical particles can be +ellipsoids, or line segments, or triangles. See the +<A HREF = "atom_style.html">atom_style</A> and <A HREF = "read_data.html">read_data</A> commands +for descriptions of these options. </P> -<P>The rotational kinetic energy is computed as 1/2 I w^2, where I is the -inertia tensor for the aspherical particle and w is its angular -velocity, which is computed from its angular momentum. +<P>For all 3 types of particles, the rotational kinetic energy is +computed as 1/2 I w^2, where I is the inertia tensor for the +aspherical particle and w is its angular velocity, which is computed +from its angular momentum if needed. </P> -<P>IMPORTANT NOTE: For <A HREF = "dimension.html">2d models</A>, particles are treated -as ellipsoids, not ellipses, meaning their moments of inertia will be -the same as in 3d. +<P>IMPORTANT NOTE: For <A HREF = "dimension.html">2d models</A>, ellipsoidal particles +are treated as ellipsoids, not ellipses, meaning their moments of +inertia will be the same as in 3d. </P> <P><B>Output info:</B> </P> @@ -47,9 +51,17 @@ scalar value will be in energy <A HREF = "units.html">units</A>. </P> <P><B>Restrictions:</B> </P> -<P>This compute requires that atoms store a shape and quaternion -orientation and angular momentum as defined by the <A HREF = "atom_style.html">atom_style -ellipsoid</A> command. +<P>This compute requires that ellipsoidal particles atoms store a shape +and quaternion orientation and angular momentum as defined by the +<A HREF = "atom_style.html">atom_style ellipsoid</A> command. +</P> +<P>This compute requires that line segment particles atoms store a length +and orientation and angular velocity as defined by the <A HREF = "atom_style.html">atom_style +line</A> command. +</P> +<P>This compute requires that triangular particles atoms store a size and +shape and quaternion orientation and angular momentum as defined by +the <A HREF = "atom_style.html">atom_style tri</A> command. </P> <P>All particles in the group must be finite-size. They cannot be point particles. diff --git a/doc/compute_erotate_asphere.txt b/doc/compute_erotate_asphere.txt index 607d9d4425..39aded0ed7 100644 --- a/doc/compute_erotate_asphere.txt +++ b/doc/compute_erotate_asphere.txt @@ -22,15 +22,19 @@ compute 1 all erotate/asphere :pre [Description:] Define a computation that calculates the rotational kinetic energy of -a group of aspherical particles. +a group of aspherical particles. The aspherical particles can be +ellipsoids, or line segments, or triangles. See the +"atom_style"_atom_style.html and "read_data"_read_data.html commands +for descriptions of these options. -The rotational kinetic energy is computed as 1/2 I w^2, where I is the -inertia tensor for the aspherical particle and w is its angular -velocity, which is computed from its angular momentum. +For all 3 types of particles, the rotational kinetic energy is +computed as 1/2 I w^2, where I is the inertia tensor for the +aspherical particle and w is its angular velocity, which is computed +from its angular momentum if needed. -IMPORTANT NOTE: For "2d models"_dimension.html, particles are treated -as ellipsoids, not ellipses, meaning their moments of inertia will be -the same as in 3d. +IMPORTANT NOTE: For "2d models"_dimension.html, ellipsoidal particles +are treated as ellipsoids, not ellipses, meaning their moments of +inertia will be the same as in 3d. [Output info:] @@ -44,9 +48,17 @@ scalar value will be in energy "units"_units.html. [Restrictions:] -This compute requires that atoms store a shape and quaternion -orientation and angular momentum as defined by the "atom_style -ellipsoid"_atom_style.html command. +This compute requires that ellipsoidal particles atoms store a shape +and quaternion orientation and angular momentum as defined by the +"atom_style ellipsoid"_atom_style.html command. + +This compute requires that line segment particles atoms store a length +and orientation and angular velocity as defined by the "atom_style +line"_atom_style.html command. + +This compute requires that triangular particles atoms store a size and +shape and quaternion orientation and angular momentum as defined by +the "atom_style tri"_atom_style.html command. All particles in the group must be finite-size. They cannot be point particles. diff --git a/doc/compute_property_atom.html b/doc/compute_property_atom.html index aec547b978..3adf2535dc 100644 --- a/doc/compute_property_atom.html +++ b/doc/compute_property_atom.html @@ -29,7 +29,11 @@ angmomx, angmomy, angmomz, shapex,shapey, shapez, quatw, quati, quatj, quatk, tqx, tqy, tqz, - spin, eradius, ervel, erforce + spin, eradius, ervel, erforce + end1x, end1y, end1z, end2x, end2y, end2z, + corner1x, corner1y, corner1z, + corner2x, corner2y, corner2z, + corner3x, corner3y, corner3z </PRE> <PRE> id = atom ID mol = molecule ID @@ -47,13 +51,15 @@ radius,diameter = radius,diameter of spherical particle omegax,omegay,omegaz = angular velocity of extended particle angmomx,angmomy,angmomz = angular momentum of extended particle + shapex,shapey,shapez = 3 diameters of aspherical particle + quatw,quati,quatj,quatk = quaternion components for aspherical particles tqx,tqy,tqz = torque on extended particles spin = electron spin eradius = electron radius ervel = electron radial velocity erforce = electron radial force - shapex,shapey,shapez = 3 diameters of aspherical particle - quatw,quati,quatj,quatk = quaternion components for aspherical particles + end12x, end12y, end12z = end points of line segment + coner123x, corner123y, corner123z = corner points of triangle </PRE> </UL> @@ -94,6 +100,13 @@ and <I>quatk</I> are also defined for ellipsoidal particles and store the See the <A HREF = "set.html">set</A> command for an explanation of the quaternion vector. </P> +<P><I>End1x</I>, <I>end1y</I>, <I>end1z</I>, <I>end2x</I>, <I>end2y</I>, <I>end2z</I>, are defined for +line segment particles and define the end points of each line segment. +</P> +<P><I>Corner1x</I>, <I>corner1y</I>, <I>corner1z</I>, <I>corner2x</I>, <I>corner2y</I>, +<I>corner2z</I>, <I>corner3x</I>, <I>corner3y</I>, <I>corner3z</I>, are defined for +triangular particles and define the corner points of each triangle. +</P> <P><B>Output info:</B> </P> <P>This compute calculates a per-atom vector or per-atom array depending diff --git a/doc/compute_property_atom.txt b/doc/compute_property_atom.txt index f2a088be34..500ca25df4 100644 --- a/doc/compute_property_atom.txt +++ b/doc/compute_property_atom.txt @@ -23,8 +23,11 @@ input = one or more atom attributes :l angmomx, angmomy, angmomz, shapex,shapey, shapez, quatw, quati, quatj, quatk, tqx, tqy, tqz, - spin, eradius, ervel, erforce :pre - + spin, eradius, ervel, erforce + end1x, end1y, end1z, end2x, end2y, end2z, + corner1x, corner1y, corner1z, + corner2x, corner2y, corner2z, + corner3x, corner3y, corner3z :pre id = atom ID mol = molecule ID type = atom type @@ -41,13 +44,15 @@ input = one or more atom attributes :l radius,diameter = radius,diameter of spherical particle omegax,omegay,omegaz = angular velocity of extended particle angmomx,angmomy,angmomz = angular momentum of extended particle + shapex,shapey,shapez = 3 diameters of aspherical particle + quatw,quati,quatj,quatk = quaternion components for aspherical particles tqx,tqy,tqz = torque on extended particles spin = electron spin eradius = electron radius ervel = electron radial velocity erforce = electron radial force - shapex,shapey,shapez = 3 diameters of aspherical particle - quatw,quati,quatj,quatk = quaternion components for aspherical particles :pre + end12x, end12y, end12z = end points of line segment + coner123x, corner123y, corner123z = corner points of triangle :pre :ule [Examples:] @@ -87,6 +92,13 @@ and {quatk} are also defined for ellipsoidal particles and store the See the "set"_set.html command for an explanation of the quaternion vector. +{End1x}, {end1y}, {end1z}, {end2x}, {end2y}, {end2z}, are defined for +line segment particles and define the end points of each line segment. + +{Corner1x}, {corner1y}, {corner1z}, {corner2x}, {corner2y}, +{corner2z}, {corner3x}, {corner3y}, {corner3z}, are defined for +triangular particles and define the corner points of each triangle. + [Output info:] This compute calculates a per-atom vector or per-atom array depending diff --git a/doc/fix.html b/doc/fix.html index e73695d95e..c005536590 100644 --- a/doc/fix.html +++ b/doc/fix.html @@ -184,6 +184,7 @@ list of fix styles available in LAMMPS: <LI><A HREF = "fix_gcmc.html">gcmc</A> - grand canonical insertions/deletions <LI><A HREF = "fix_heat.html">heat</A> - add/subtract momentum-conserving heat <LI><A HREF = "fix_indent.html">indent</A> - impose force due to an indenter +<LI><A HREF = "fix_integrateU.html">integrateU</A> - Stokesian Dynamics evolution <LI><A HREF = "fix_langevin.html">langevin</A> - Langevin temperature control <LI><A HREF = "fix_lineforce.html">lineforce</A> - constrain atoms to move in a line <LI><A HREF = "fix_momentum.html">momentum</A> - zero the linear and/or angular momentum of a group of atoms @@ -200,8 +201,10 @@ list of fix styles available in LAMMPS: <LI><A HREF = "fix_nve.html">nve</A> - constant NVE time integration <LI><A HREF = "fix_nve_asphere.html">nve/asphere</A> - NVT for aspherical particles <LI><A HREF = "fix_nve_limit.html">nve/limit</A> - NVE with limited step length +<LI><A HREF = "fix_nve_line.html">nve/line</A> - NVE for line segments <LI><A HREF = "fix_nve_noforce.html">nve/noforce</A> - NVE without forces (v only) <LI><A HREF = "fix_nve_sphere.html">nve/sphere</A> - NVT for spherical particles +<LI><A HREF = "fix_nve_tri.html">nve/tri</A> - NVE for triangles <LI><A HREF = "fix_nh.html">nvt</A> - constant NVT time integration via Nose/Hoover <LI><A HREF = "fix_nvt_asphere.html">nvt/asphere</A> - NVT for aspherical particles <LI><A HREF = "fix_nvt_sllod.html">nvt/sllod</A> - NVT for NEMD with SLLOD equations diff --git a/doc/fix.txt b/doc/fix.txt index a31f5bf0b2..6f59881200 100644 --- a/doc/fix.txt +++ b/doc/fix.txt @@ -179,6 +179,7 @@ list of fix styles available in LAMMPS: "gcmc"_fix_gcmc.html - grand canonical insertions/deletions "heat"_fix_heat.html - add/subtract momentum-conserving heat "indent"_fix_indent.html - impose force due to an indenter +"integrateU"_fix_integrateU.html - Stokesian Dynamics evolution "langevin"_fix_langevin.html - Langevin temperature control "lineforce"_fix_lineforce.html - constrain atoms to move in a line "momentum"_fix_momentum.html - zero the linear and/or angular momentum of a group of atoms @@ -195,8 +196,10 @@ list of fix styles available in LAMMPS: "nve"_fix_nve.html - constant NVE time integration "nve/asphere"_fix_nve_asphere.html - NVT for aspherical particles "nve/limit"_fix_nve_limit.html - NVE with limited step length +"nve/line"_fix_nve_line.html - NVE for line segments "nve/noforce"_fix_nve_noforce.html - NVE without forces (v only) "nve/sphere"_fix_nve_sphere.html - NVT for spherical particles +"nve/tri"_fix_nve_tri.html - NVE for triangles "nvt"_fix_nh.html - constant NVT time integration via Nose/Hoover "nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles "nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 6d92361151..c15ed3ecfe 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -78,12 +78,13 @@ portions of a large biomolecule such as a protein. <P>Example of small rigid bodies are patchy nanoparticles, such as those modeled in <A HREF = "#Zhang">this paper</A> by Sharon Glotzer's group, clumps of granular particles, lipid molecules consiting of one or more point -dipoles connected to other spheroids or ellipsoids, and coarse-grain -models of nano or colloidal particles consisting of a small number of -constituent particles. Note that the <A HREF = "fix_shake.html">fix shake</A> -command can also be used to rigidify small molecules of 2, 3, or 4 -atoms, e.g. water molecules. That fix treats the constituent atoms as -point masses. +dipoles connected to other spheroids or ellipsoids, irregular +particles built from line segments (2d) or triangles (3d), and +coarse-grain models of nano or colloidal particles consisting of a +small number of constituent particles. Note that the <A HREF = "fix_shake.html">fix +shake</A> command can also be used to rigidify small +molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats +the constituent atoms as point masses. </P> <P>These fixes also update the positions and velocities of the atoms in each rigid body via time integration. The <I>rigid</I> and <I>rigid/nve</I> @@ -118,14 +119,14 @@ setforce</A> command), and integrating them as usual <HR> <P>The constituent particles within a rigid body can be point particles -(the default in LAMMPS) or finite-size particles, such as spheres and -ellipsoids. See the <A HREF = "atom_style.html">atom_style sphere and ellipsoid</A> -commands for more details on these kinds of particles. Finite-size -particles contribute differently to the moment of inertia of a rigid -body than do point particles. Finite-size particles can also -experience torque (e.g. due to <A HREF = "pair_gran.html">frictional granular -interactions</A>) and have an orientation. These -contributions are accounted for by these fixes. +(the default in LAMMPS) or finite-size particles, such as spheres or +ellipsoids or line segments or triangles. See the <A HREF = "atom_style.html">atom_style sphere +and ellipsoid and line and tri</A> commands for more +details on these kinds of particles. Finite-size particles contribute +differently to the moment of inertia of a rigid body than do point +particles. Finite-size particles can also experience torque (e.g. due +to <A HREF = "pair_gran.html">frictional granular interactions</A>) and have an +orientation. These contributions are accounted for by these fixes. </P> <P>Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index a6e50b2c07..3d49aedd6d 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -67,12 +67,13 @@ portions of a large biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those modeled in "this paper"_#Zhang by Sharon Glotzer's group, clumps of granular particles, lipid molecules consiting of one or more point -dipoles connected to other spheroids or ellipsoids, and coarse-grain -models of nano or colloidal particles consisting of a small number of -constituent particles. Note that the "fix shake"_fix_shake.html -command can also be used to rigidify small molecules of 2, 3, or 4 -atoms, e.g. water molecules. That fix treats the constituent atoms as -point masses. +dipoles connected to other spheroids or ellipsoids, irregular +particles built from line segments (2d) or triangles (3d), and +coarse-grain models of nano or colloidal particles consisting of a +small number of constituent particles. Note that the "fix +shake"_fix_shake.html command can also be used to rigidify small +molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats +the constituent atoms as point masses. These fixes also update the positions and velocities of the atoms in each rigid body via time integration. The {rigid} and {rigid/nve} @@ -107,14 +108,14 @@ setforce"_fix_setforce.html command), and integrating them as usual :line The constituent particles within a rigid body can be point particles -(the default in LAMMPS) or finite-size particles, such as spheres and -ellipsoids. See the "atom_style sphere and ellipsoid"_atom_style.html -commands for more details on these kinds of particles. Finite-size -particles contribute differently to the moment of inertia of a rigid -body than do point particles. Finite-size particles can also -experience torque (e.g. due to "frictional granular -interactions"_pair_gran.html) and have an orientation. These -contributions are accounted for by these fixes. +(the default in LAMMPS) or finite-size particles, such as spheres or +ellipsoids or line segments or triangles. See the "atom_style sphere +and ellipsoid and line and tri"_atom_style.html commands for more +details on these kinds of particles. Finite-size particles contribute +differently to the moment of inertia of a rigid body than do point +particles. Finite-size particles can also experience torque (e.g. due +to "frictional granular interactions"_pair_gran.html) and have an +orientation. These contributions are accounted for by these fixes. Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational diff --git a/doc/fix_srd.html b/doc/fix_srd.html index df029d06fd..8746be8e54 100644 --- a/doc/fix_srd.html +++ b/doc/fix_srd.html @@ -38,10 +38,7 @@ <I>cubic</I> values = style tolerance style = <I>error</I> or <I>warn</I> tolerance = fractional difference allowed (0 <= tol <= 1) - <I>shift</I> values = style seed - style = <I>no</I> or <I>yes</I> or <I>possible</I> - seed = random # seed (positive integer) - <I>stream</I> value = <I>yes</I> or <I>no</I> = whether or not streaming velocity is added for shear deformation + <I>tstat</I> value = <I>yes</I> or <I>no</I> = thermostat SRD particles or not </PRE> </UL> @@ -58,13 +55,14 @@ particles that serve as a background solvent when interacting with big in <A HREF = "#Hecht">(Hecht)</A>. The key idea behind using SRD particles as a cheap coarse-grained solvent is that SRD particles do not interact with each other, but only with the solute particles, which in LAMMPS -can be spheroids, ellipsoids, or rigid bodies containing multiples -spherioids and ellipsoids. The collision and rotation properties of -the model imbue the SRD particles with fluid-like properties, -including an effective viscosity. Thus simulations with large solute -particles can be run more quickly, to measure solute propoerties like -diffusivity and viscosity in a background fluid. The usual LAMMPS -fixes for such simulations, such as <A HREF = "fix_deform.html">fix deform</A>, <A HREF = "fix_viscosity.html">fix +can be spheroids, ellipsoids, or line segments, or triangles, or rigid +bodies containing multiple spherioids or ellipsoids or line segments +or triangles. The collision and rotation properties of the model +imbue the SRD particles with fluid-like properties, including an +effective viscosity. Thus simulations with large solute particles can +be run more quickly, to measure solute propoerties like diffusivity +and viscosity in a background fluid. The usual LAMMPS fixes for such +simulations, such as <A HREF = "fix_deform.html">fix deform</A>, <A HREF = "fix_viscosity.html">fix viscosity</A>, and <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A>, can be used in conjunction with the SRD model. </P> @@ -272,15 +270,19 @@ must still be specified. <P>Note that shifting of SRD coordinates requires extra communication, hence it should not normally be enabled unless required. </P> -<P>The <I>stream</I> keyword should be used when SRD particles are used with -the <A HREF = "fix_deform.html">fix deform</A> command to perform a simulation -undergoing shear, e.g. to measure a viscosity. If the <I>stream</I> style -is set to <I>yes</I>, then the mean velocity of each bin of SRD particles -is set to the streaming velocity of the deforming box, each time SRD -velocities are reset, every N timesteps. If the <I>stream</I> style is set -to <I>no</I>, then the mean velocity is unchanged, which may mean that it -takes a long time for the SRD fluid to come to equilibrium with a -velocity profile that matches the simulation box deformation. +<P>The <I>tstat</I> keyword will thermostat the SRD particles to the specified +<I>Tsrd</I>. This is done every N timesteps, during the velocity rotation +operation, by rescaling the thermal velocity of particles in each SRD +bin to the desired temperature. If there is a streaming velocity +associated with the system, e.g. due to use of the <A HREF = "fix_deform.html">fix +deform</A> command to perform a simulation undergoing +shear, then that is also accounted for. The mean velocity of each bin +of SRD particles is set to the position-dependent streaming velocity, +based on the coordinates of the center of the SRD bin. Note that for +streaming simulations, if no thermostatting is performed (the +default), then it may take a long time for the SRD fluid to come to +equilibrium with a velocity profile that matches the simulation box +deformation. </P> <HR> @@ -358,7 +360,7 @@ for more info on packages. </P> <P>The option defaults are lamda inferred from Tsrd, collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, -search = hgrid, cubic = error 0.01, shift = no, stream = yes. +search = hgrid, cubic = error 0.01, shift = no, tstat = no. </P> <HR> diff --git a/doc/fix_srd.txt b/doc/fix_srd.txt index a45c21392e..07dd49b861 100644 --- a/doc/fix_srd.txt +++ b/doc/fix_srd.txt @@ -33,10 +33,7 @@ keyword = {lamda} or {collision} or {overlap} or {inside} or {exact} or {radius} {cubic} values = style tolerance style = {error} or {warn} tolerance = fractional difference allowed (0 <= tol <= 1) - {shift} values = style seed - style = {no} or {yes} or {possible} - seed = random # seed (positive integer) - {stream} value = {yes} or {no} = whether or not streaming velocity is added for shear deformation :pre + {tstat} value = {yes} or {no} = thermostat SRD particles or not :pre :ule [Examples:] @@ -52,13 +49,14 @@ particles that serve as a background solvent when interacting with big in "(Hecht)"_#Hecht. The key idea behind using SRD particles as a cheap coarse-grained solvent is that SRD particles do not interact with each other, but only with the solute particles, which in LAMMPS -can be spheroids, ellipsoids, or rigid bodies containing multiples -spherioids and ellipsoids. The collision and rotation properties of -the model imbue the SRD particles with fluid-like properties, -including an effective viscosity. Thus simulations with large solute -particles can be run more quickly, to measure solute propoerties like -diffusivity and viscosity in a background fluid. The usual LAMMPS -fixes for such simulations, such as "fix deform"_fix_deform.html, "fix +can be spheroids, ellipsoids, or line segments, or triangles, or rigid +bodies containing multiple spherioids or ellipsoids or line segments +or triangles. The collision and rotation properties of the model +imbue the SRD particles with fluid-like properties, including an +effective viscosity. Thus simulations with large solute particles can +be run more quickly, to measure solute propoerties like diffusivity +and viscosity in a background fluid. The usual LAMMPS fixes for such +simulations, such as "fix deform"_fix_deform.html, "fix viscosity"_fix_viscosity.html, and "fix nvt/sllod"_fix_nvt_sllod.html, can be used in conjunction with the SRD model. @@ -266,15 +264,19 @@ must still be specified. Note that shifting of SRD coordinates requires extra communication, hence it should not normally be enabled unless required. -The {stream} keyword should be used when SRD particles are used with -the "fix deform"_fix_deform.html command to perform a simulation -undergoing shear, e.g. to measure a viscosity. If the {stream} style -is set to {yes}, then the mean velocity of each bin of SRD particles -is set to the streaming velocity of the deforming box, each time SRD -velocities are reset, every N timesteps. If the {stream} style is set -to {no}, then the mean velocity is unchanged, which may mean that it -takes a long time for the SRD fluid to come to equilibrium with a -velocity profile that matches the simulation box deformation. +The {tstat} keyword will thermostat the SRD particles to the specified +{Tsrd}. This is done every N timesteps, during the velocity rotation +operation, by rescaling the thermal velocity of particles in each SRD +bin to the desired temperature. If there is a streaming velocity +associated with the system, e.g. due to use of the "fix +deform"_fix_deform.html command to perform a simulation undergoing +shear, then that is also accounted for. The mean velocity of each bin +of SRD particles is set to the position-dependent streaming velocity, +based on the coordinates of the center of the SRD bin. Note that for +streaming simulations, if no thermostatting is performed (the +default), then it may take a long time for the SRD fluid to come to +equilibrium with a velocity profile that matches the simulation box +deformation. :line @@ -352,7 +354,7 @@ for more info on packages. The option defaults are lamda inferred from Tsrd, collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, -search = hgrid, cubic = error 0.01, shift = no, stream = yes. +search = hgrid, cubic = error 0.01, shift = no, tstat = no. :line diff --git a/doc/read_data.html b/doc/read_data.html index 2eced78fe0..fcf68f4680 100644 --- a/doc/read_data.html +++ b/doc/read_data.html @@ -80,6 +80,8 @@ is different than the default. <LI><I>improper types</I> = # of improper types in system <LI><I>extra bond per atom</I> = leave space for this many new bonds per atom <LI><I>ellipsoids</I> = # of ellipsoids in system +<LI><I>lines</I> = # of line segments in system +<LI><I>triangles</I> = # of triangles in system <LI><I>xlo xhi</I> = simulation box boundaries in x dimension <LI><I>ylo yhi</I> = simulation box boundaries in y dimension <LI><I>zlo zhi</I> = simulation box boundaries in z dimension @@ -156,16 +158,19 @@ added to the system when a simulation runs, e.g. by using the <A HREF = "fix_bon bond/create</A> command. This will pre-allocate space in LAMMPS data structures for storing the new bonds. </P> -<P>The "ellipsoids<A HREF = "atom_style.html"> setting is only used with atom_style -ellipsoid</A> and specifies how many of the atoms are -finite-size ellipsoids; the remainder are point particles. See the -discussion of ellipsoidflag and the <I>Ellipsoids</I> section below. +<P>The "ellipsoids" and "lines" and "triangles" settings are only used +with <A HREF = "atom_style.html">atom_style ellipsoid or line or tri</A> and +specifies how many of the atoms are finite-size ellipsoids or lines or +triangles; the remainder are point particles. See the discussion of +ellipsoidflag and the <I>Ellipsoids</I> section below. See the discussion +of lineflag and the <I>Lines</I> section below. See the discussion of +triangleflag and the <I>Triangles</I> section below. </P> <HR> <P>These are the section keywords for the body of the file. </P> -<UL><LI><I>Atoms, Velocities, Ellipsoids, Masses</I> = atom-property sections +<UL><LI><I>Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles</I> = atom-property sections <LI><I>Bonds, Angles, Dihedrals, Impropers</I> = molecular topology sections <LI><I>Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs</I> = force field sections <LI><I>BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, BondBond13 Coeffs, AngleAngle Coeffs</I> = class 2 force field sections @@ -290,10 +295,12 @@ of analysis. <TR><TD >electron</TD><TD > atom-ID atom-type q spin eradius x y z</TD></TR> <TR><TD >ellipsoid</TD><TD > atom-ID atom-type ellipsoidflag density x y z</TD></TR> <TR><TD >full</TD><TD > atom-ID molecule-ID atom-type q x y z</TD></TR> +<TR><TD >line</TD><TD > atom-ID molecule-ID atom-type lineflag density x y z</TD></TR> <TR><TD >meso</TD><TD > atom-ID atom-type rho e cv x y z</TD></TR> <TR><TD >molecular</TD><TD > atom-ID molecule-ID atom-type x y z</TD></TR> <TR><TD >peri</TD><TD > atom-ID atom-type volume density x y z</TD></TR> <TR><TD >sphere</TD><TD > atom-ID atom-type diameter density x y z</TD></TR> +<TR><TD >tri</TD><TD > atom-ID molecule-ID atom-type triangleflag density x y z</TD></TR> <TR><TD >wavepacket</TD><TD > atom-ID atom-type charge spin eradius etag cs_re cs_im x y z</TD></TR> <TR><TD >hybrid</TD><TD > atom-ID atom-type x y z sub-style1 sub-style2 ... </TD></TR></TABLE></DIV> @@ -306,7 +313,9 @@ of analysis. <LI>q = charge on atom (charge units) <LI>diameter = diameter of spherical atom (distance units) <LI>ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles -<LI>density = density of atom (mass/distance^3 units) +<LI>lineflag = 1 for line segment particles, 0 for point particles +<LI>triangleflag = 1 for triangular particles, 0 for point particles +<LI>density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) <LI>volume = volume of atom (distance^3 units) <LI>x,y,z = coordinates of atom <LI>mux,muy,muz = components of dipole moment of atom (dipole units) @@ -342,9 +351,13 @@ keep track of molecule assignments. <P>The diameter specifies the size of a finite-size spherical particle. It can be set to 0.0, which means that atom is a point particle. </P> -<P>The ellipsoidflag determines whether the particle is a finite-size -ellipsoid of finite size, or a point particle. Additional attributes -must be defined for each ellipsoid in the <I>Ellipsoids</I> section. +<P>The ellipsoidflag, lineflag, and triangleflag determine whether the +particle is a finite-size ellipsoid or line or triangle of finite +size, or a point particle. Additional attributes must be defined for +each ellipsoid in the <I>Ellipsoids</I> section. Additional attributes +must be defined for each line in the <I>Lines</I> section. Additional +attributes must be defined for each triangle in the <I>Triangles</I> +section. </P> <P>Some pair styles and fixes and computes that operate on finite-size particles allow for a mixture of finite-size and point particles. See @@ -352,8 +365,10 @@ the doc pages of individual commands for details. </P> <P>The density is used in conjunction with the particle volume for finite-size particles to set the mass of the particle as mass = -density * volume. If the volume is 0.0, meaning a point particle, -then the density value is used as the mass. +density * volume. In this context, volume can be a 3d quantity (for +spheres or ellipsoids), a 2d quantity (for triangles), or a 1d +quantity (for line segments). If the volume is 0.0, meaning a point +particle, then the density value is used as the mass. </P> <P>For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the @@ -627,6 +642,37 @@ values in this section must be integers (1, not 1.0). </P> <HR> +<P><I>Lines</I> section: +</P> +<UL><LI>one line per line segment + +<LI>line syntax: atom-ID x1 y1 x2 y2 + +<LI> atom-ID = ID of atom which is a line segment + x1,y1 = 1st end point + x2,y2 = 2nd end point +example: + +<PRE> 12 1.0 0.0 2.0 0.0 +</PRE> + +</UL> +<P>The <I>Lines</I> section must appear if <A HREF = "atom_style.html">atom_style line</A> +is used and any atoms are listed in the <I>Atoms</I> section with a +lineflag = 1. The number of lines should be specified in the header +section via the "lines" keyword. +</P> +<P>The 2 end points are the end points of the line segment. The ordering +of the 2 points should be such that using a right-hand rule to cross +the line segment with a unit vector in the +z direction, gives an +"outward" normal vector perpendicular to the line segment. +I.e. normal = (c2-c1) x (0,0,1). This orientation may be important +for defining some interactions. +</P> +<P>The <I>Lines</I> section must appear after the <I>Atoms</I> section. +</P> +<HR> + <P><I>Masses</I> section: </P> <UL><LI>one line per atom type @@ -685,6 +731,37 @@ script. </P> <HR> +<P><I>Triangles</I> section: +</P> +<UL><LI>one line per triangle + +<LI>line syntax: atom-ID x1 y1 x2 y2 + +<LI> atom-ID = ID of atom which is a line segment + x1,y1,z1 = 1st corner point + x2,y2,z2 = 2nd corner point + x3,y3,z3 = 3rd corner point +example: + +<PRE> 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 +</PRE> + +</UL> +<P>The <I>Triangles</I> section must appear if <A HREF = "atom_style.html">atom_style +tri</A> is used and any atoms are listed in the <I>Atoms</I> +section with a triangleflag = 1. The number of lines should be +specified in the header section via the "triangles" keyword. +</P> +<P>The 3 corner points are the corner points of the triangle. The +ordering of the 3 points should be such that using a right-hand rule +to go from point1 to point2 to point3 gives an "outward" normal vector +to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This +orientation may be important for defining some interactions. +</P> +<P>The <I>Triangles</I> section must appear after the <I>Atoms</I> section. +</P> +<HR> + <P><I>Velocities</I> section: </P> <UL><LI>one line per atom diff --git a/doc/read_data.txt b/doc/read_data.txt index d023d5de6e..b9fcccd0f6 100644 --- a/doc/read_data.txt +++ b/doc/read_data.txt @@ -77,6 +77,8 @@ is different than the default. {improper types} = # of improper types in system {extra bond per atom} = leave space for this many new bonds per atom {ellipsoids} = # of ellipsoids in system +{lines} = # of line segments in system +{triangles} = # of triangles in system {xlo xhi} = simulation box boundaries in x dimension {ylo yhi} = simulation box boundaries in y dimension {zlo zhi} = simulation box boundaries in z dimension @@ -153,16 +155,19 @@ added to the system when a simulation runs, e.g. by using the "fix bond/create"_fix_bond_create.html command. This will pre-allocate space in LAMMPS data structures for storing the new bonds. -The "ellipsoids" setting is only used with atom_style -ellipsoid"_atom_style.html and specifies how many of the atoms are -finite-size ellipsoids; the remainder are point particles. See the -discussion of ellipsoidflag and the {Ellipsoids} section below. +The "ellipsoids" and "lines" and "triangles" settings are only used +with "atom_style ellipsoid or line or tri"_atom_style.html and +specifies how many of the atoms are finite-size ellipsoids or lines or +triangles; the remainder are point particles. See the discussion of +ellipsoidflag and the {Ellipsoids} section below. See the discussion +of lineflag and the {Lines} section below. See the discussion of +triangleflag and the {Triangles} section below. :line These are the section keywords for the body of the file. -{Atoms, Velocities, Ellipsoids, Masses} = atom-property sections +{Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles} = atom-property sections {Bonds, Angles, Dihedrals, Impropers} = molecular topology sections {Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, \ Improper Coeffs} = force field sections @@ -270,10 +275,12 @@ dipole: atom-ID atom-type q x y z mux muy muz electron: atom-ID atom-type q spin eradius x y z ellipsoid: atom-ID atom-type ellipsoidflag density x y z full: atom-ID molecule-ID atom-type q x y z +line: atom-ID molecule-ID atom-type lineflag density x y z meso: atom-ID atom-type rho e cv x y z molecular: atom-ID molecule-ID atom-type x y z peri: atom-ID atom-type volume density x y z sphere: atom-ID atom-type diameter density x y z +tri: atom-ID molecule-ID atom-type triangleflag density x y z wavepacket: atom-ID atom-type charge spin eradius etag cs_re cs_im x y z hybrid: atom-ID atom-type x y z sub-style1 sub-style2 ... :tb(s=:) @@ -285,7 +292,9 @@ atom-type = type of atom (1-Ntype) q = charge on atom (charge units) diameter = diameter of spherical atom (distance units) ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles -density = density of atom (mass/distance^3 units) +lineflag = 1 for line segment particles, 0 for point particles +triangleflag = 1 for triangular particles, 0 for point particles +density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) volume = volume of atom (distance^3 units) x,y,z = coordinates of atom mux,muy,muz = components of dipole moment of atom (dipole units) @@ -321,9 +330,13 @@ keep track of molecule assignments. The diameter specifies the size of a finite-size spherical particle. It can be set to 0.0, which means that atom is a point particle. -The ellipsoidflag determines whether the particle is a finite-size -ellipsoid of finite size, or a point particle. Additional attributes -must be defined for each ellipsoid in the {Ellipsoids} section. +The ellipsoidflag, lineflag, and triangleflag determine whether the +particle is a finite-size ellipsoid or line or triangle of finite +size, or a point particle. Additional attributes must be defined for +each ellipsoid in the {Ellipsoids} section. Additional attributes +must be defined for each line in the {Lines} section. Additional +attributes must be defined for each triangle in the {Triangles} +section. Some pair styles and fixes and computes that operate on finite-size particles allow for a mixture of finite-size and point particles. See @@ -331,8 +344,10 @@ the doc pages of individual commands for details. The density is used in conjunction with the particle volume for finite-size particles to set the mass of the particle as mass = -density * volume. If the volume is 0.0, meaning a point particle, -then the density value is used as the mass. +density * volume. In this context, volume can be a 3d quantity (for +spheres or ellipsoids), a 2d quantity (for triangles), or a 1d +quantity (for line segments). If the volume is 0.0, meaning a point +particle, then the density value is used as the mass. For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the @@ -560,6 +575,33 @@ values in this section must be integers (1, not 1.0). :line +{Lines} section: + +one line per line segment :ulb,l +line syntax: atom-ID x1 y1 x2 y2 :l + atom-ID = ID of atom which is a line segment + x1,y1 = 1st end point + x2,y2 = 2nd end point +example: :l + 12 1.0 0.0 2.0 0.0 :pre +:ule + +The {Lines} section must appear if "atom_style line"_atom_style.html +is used and any atoms are listed in the {Atoms} section with a +lineflag = 1. The number of lines should be specified in the header +section via the "lines" keyword. + +The 2 end points are the end points of the line segment. The ordering +of the 2 points should be such that using a right-hand rule to cross +the line segment with a unit vector in the +z direction, gives an +"outward" normal vector perpendicular to the line segment. +I.e. normal = (c2-c1) x (0,0,1). This orientation may be important +for defining some interactions. + +The {Lines} section must appear after the {Atoms} section. + +:line + {Masses} section: one line per atom type :ulb,l @@ -605,6 +647,33 @@ script. :line +{Triangles} section: + +one line per triangle :ulb,l +line syntax: atom-ID x1 y1 x2 y2 :l + atom-ID = ID of atom which is a line segment + x1,y1,z1 = 1st corner point + x2,y2,z2 = 2nd corner point + x3,y3,z3 = 3rd corner point +example: :l + 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 :pre +:ule + +The {Triangles} section must appear if "atom_style +tri"_atom_style.html is used and any atoms are listed in the {Atoms} +section with a triangleflag = 1. The number of lines should be +specified in the header section via the "triangles" keyword. + +The 3 corner points are the corner points of the triangle. The +ordering of the 3 points should be such that using a right-hand rule +to go from point1 to point2 to point3 gives an "outward" normal vector +to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This +orientation may be important for defining some interactions. + +The {Triangles} section must appear after the {Atoms} section. + +:line + {Velocities} section: one line per atom diff --git a/doc/set.html b/doc/set.html index a1feb65a31..06be9fb51c 100644 --- a/doc/set.html +++ b/doc/set.html @@ -21,7 +21,7 @@ <LI>one or more keyword/value pairs may be appended -<LI>keyword = <I>type</I> or <I>type/fraction</I> or <I>mol</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>charge</I> or <I>dipole</I> or <I>dipole/random</I> or <I>quat</I> or <I>quat/random</I> or <I>diameter</I> or <I>shape</I> or <I>mass</I> or <I>density</I> or <I>volume</I> or <I>image</I> or +<LI>keyword = <I>type</I> or <I>type/fraction</I> or <I>mol</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>charge</I> or <I>dipole</I> or <I>dipole/random</I> or <I>quat</I> or <I>quat/random</I> or <I>diameter</I> or <I>shape</I> or <I>length</I> or <I>tri</I> or <I>theta</I> or <I>angmom</I> or <I>mass</I> or <I>density</I> or <I>volume</I> or <I>image</I> or <I>bond</I> or <I>angle</I> or <I>dihedral</I> or <I>improper</I> or <I>meso_e</I> or <I>meso_cv</I> or <I>meso_rho</I> @@ -40,14 +40,22 @@ Dlen = magnitude of dipole moment (dipole units) <I>quat</I> values = a b c theta a,b,c = unit vector to rotate particle around via right-hand rule - theta = rotation angle in degrees + theta = rotation angle (degrees) <I>quat/random</I> value = seed seed = random # seed (positive integer) for quaternion orientations <I>diameter</I> value = diameter of spherical particle (distance units) <I>shape</I> value = Sx Sy Sz Sx,Sy,Sz = 3 diameters of ellipsoid (distance units) + <I>length</I> value = len + len = length of line segment (distance units) + <I>tri</I> value = side + side = side length of equilateral triangle (distance units) + <I>theta</I> value = angle (degrees) + angle = orientation of line segment with respect to x-axis + <I>angmom</I> values = Lx Ly Lz + Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units) <I>mass</I> value = per-atom mass (mass units) - <I>density</I> value = particle density for sphere or ellipsoid (mass/distance^3 units) + <I>density</I> value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) <I>volume</I> value = particle volume for Peridynamic particle (distance^3 units) <I>image</I> nx ny nz nx,ny,nz = which periodic image of the simulation box the atom is in @@ -143,26 +151,31 @@ the orientation of a particular atom is the same, regardless of how many processors are being used. </P> <P>Keyword <I>quat</I> uses the specified values to create a quaternion -(4-vector) that represents the orientation of the selected atoms. -Note that particles defined by <A HREF = "atom_style.html">atom_style ellipsoid</A> -have 3 shape parameters. The 3 values must be non-zero for each -particle set by this command. They are used to specify the aspect -ratios of an ellipsoidal particle, which is oriented by default with -its x-axis along the simulation box's x-axis, and similarly for y and -z. If this body is rotated (via the right-hand rule) by an angle -theta around a unit rotation vector (a,b,c), then the quaternion that -represents its new orientation is given by (cos(theta/2), -a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). The theta and a,b,c -values are the arguments to the <I>quat</I> keyword. LAMMPS normalizes the -quaternion in case (a,b,c) was not specified as a unit vector. For 2d -systems, the a,b,c values are ignored, since a rotation vector of -(0,0,1) is the only valid choice. +(4-vector) that represents the orientation of the selected atoms. The +particles must be ellipsoids as defined by the <A HREF = "atom_style.html">atom_style +ellipsoid</A> command or triangles as defined by the +<A HREF = "atom_style.html">atom_style tri</A> command. Note that particles defined +by <A HREF = "atom_style.html">atom_style ellipsoid</A> have 3 shape parameters. +The 3 values must be non-zero for each particle set by this command. +They are used to specify the aspect ratios of an ellipsoidal particle, +which is oriented by default with its x-axis along the simulation +box's x-axis, and similarly for y and z. If this body is rotated (via +the right-hand rule) by an angle theta around a unit rotation vector +(a,b,c), then the quaternion that represents its new orientation is +given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), +c*sin(theta/2)). The theta and a,b,c values are the arguments to the +<I>quat</I> keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +not specified as a unit vector. For 2d systems, the a,b,c values are +ignored, since a rotation vector of (0,0,1) is the only valid choice. </P> <P>Keyword <I>quat/random</I> randomizes the orientation of the quaternion of -the selected atoms. Random numbers are used in such a way that the -orientation of a particular atom is the same, regardless of how many -processors are being used. For 2d systems, only orientations in the -xy plane are generated. As with keyword <I>quat</I>, the 3 shape values +the selected atoms. The particles must be ellipsoids as defined by +the <A HREF = "atom_style.html">atom_style ellipsoid</A> command or triangles as +defined by the <A HREF = "atom_style.html">atom_style tri</A> command. Random +numbers are used in such a way that the orientation of a particular +atom is the same, regardless of how many processors are being used. +For 2d systems, only orientations in the xy plane are generated. As +with keyword <I>quat</I>, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. </P> <P>Keyword <I>diameter</I> sets the size of the selected atoms. The particles @@ -174,7 +187,7 @@ defined with a density, e.g. via the <A HREF = "read_data.html">read_data</A> command. </P> <P>Keyword <I>shape</I> sets the size and shape of the selected atoms. The -particles must be aspherical ellipsoids as defined by the <A HREF = "atom_style.html">atom_style +particles must be ellipsoids as defined by the <A HREF = "atom_style.html">atom_style ellipsoid</A> command. The <I>Sx</I>, <I>Sy</I>, <I>Sz</I> settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. @@ -183,20 +196,60 @@ treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the <A HREF = "read_data.html">read_data</A> command. </P> +<P>Keyword <I>length</I> sets the length of selected atoms. The particles +must be line segments as defined by the <A HREF = "atom_style.html">atom_style +line</A> command. If the specified value is non-zero the +line segment is (re)set to a length = the specified value, centered +around the particle position, with an orientation along the x-axis. +If the specified value is 0.0, the particle will become a point +particle. Note that this command does not adjust the particle mass, +even if it was defined with a density, e.g. via the +<A HREF = "read_data.html">read_data</A> command. +</P> +<P>Keyword <I>tri</I> sets the size of selected atoms. The particles must be +triangles as defined by the <A HREF = "atom_style.html">atom_style tri</A> command. +If the specified value is non-zero the triangle is (re)set to be an +equilateral triangle in the xy plane with side length = the specified +value, with a centroid at the particle position, with its base +parallel to the x axis, and the y-axis running from the center of the +base to the top point of the triangle. If the specified value is 0.0, +the particle will become a point particle. Note that this command +does not adjust the particle mass, even if it was defined with a +density, e.g. via the <A HREF = "read_data.html">read_data</A> command. +</P> +<P>Keyword <I>theta</I> sets the orientation of selected atoms. The particles +must be line segments as defined by the <A HREF = "atom_style.html">atom_style +line</A> command. The specified value is used to set the +orientation angle of the line segments with respect to the x axis. +</P> +<P>Keyword <I>angmom</I> sets the angular momentum of selected atoms. The +particles must be ellipsoids as defined by the <A HREF = "atom_style.html">atom_style +ellipsoid</A> command or triangles as defined by the +<A HREF = "atom_style.html">atom_style tri</A> command. The angular momentum vector +of the particles is set to the 3 specified components. +</P> <P>Keyword <I>mass</I> sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the <A HREF = "atom_style.html">atom_style</A> command. See the "mass" command for how to set mass values on a per-type basis. </P> -<P>Keyword <I>density</I> sets the mass of all selected particles. The -particles must have a per-atom mass attribute, as defined by the -<A HREF = "atom_style.html">atom_style</A> command. See the "mass" command for how -to set mass values on a per-type basis. If the atom has a radius -attribute (see <A HREF = "atom_style.html">atom_style sphere</A>) and its radius is -non-zero, its mass is set from the density and particle volume. The -same is true if the atom has a shape attribute (see <A HREF = "atom_style.html">atom_style -ellipsoid</A>) and its 3 shape parameters are non-zero. -Otherwise the mass is set to the density value directly. +<P>Keyword <I>density</I> also sets the mass of all selected particles, but in +a different way. The particles must have a per-atom mass attribute, +as defined by the <A HREF = "atom_style.html">atom_style</A> command. If the atom +has a radius attribute (see <A HREF = "atom_style.html">atom_style sphere</A>) and +its radius is non-zero, its mass is set from the density and particle +volume. If the atom has a shape attribute (see <A HREF = "atom_style.html">atom_style +ellipsoid</A>) and its 3 shape parameters are non-zero, +then its mass is set from the density and particle volume. If the +atom has a length attribute (see <A HREF = "atom_style.html">atom_style line</A>) +and its length is non-zero, then its mass is set from the density and +line segment length (the input density is assumed to be in +mass/distance units). If the atom has an area attribute (see +<A HREF = "atom_style.html">atom_style tri</A>) and its area is non-zero, then its +mass is set from the density and triangle area (the input density is +assumed to be in mass/distance^2 units). If none of these cases are +valid, then the mass is set to the density value directly (the input +density is assumed to be in mass units). </P> <P>Keyword <I>volume</I> sets the volume of all selected particles. Currently, only the <A HREF = "atom_style.html">atom_style peri</A> command defines diff --git a/doc/set.txt b/doc/set.txt index 8f37b29f1b..0c352d0958 100644 --- a/doc/set.txt +++ b/doc/set.txt @@ -17,8 +17,9 @@ ID = atom ID range or type range or mol ID range or group ID or region ID :l one or more keyword/value pairs may be appended :l keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ {charge} or {dipole} or {dipole/random} or {quat} or \ - {quat/random} or {diameter} or {shape} or {mass} or \ - {density} or {volume} or {image} or + {quat/random} or {diameter} or {shape} or \ + {length} or {tri} or {theta} or {angmom} or \ + {mass} or {density} or {volume} or {image} or {bond} or {angle} or {dihedral} or {improper} or {meso_e} or {meso_cv} or {meso_rho} :l {type} value = atom type @@ -36,14 +37,22 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ Dlen = magnitude of dipole moment (dipole units) {quat} values = a b c theta a,b,c = unit vector to rotate particle around via right-hand rule - theta = rotation angle in degrees + theta = rotation angle (degrees) {quat/random} value = seed seed = random # seed (positive integer) for quaternion orientations {diameter} value = diameter of spherical particle (distance units) {shape} value = Sx Sy Sz Sx,Sy,Sz = 3 diameters of ellipsoid (distance units) + {length} value = len + len = length of line segment (distance units) + {tri} value = side + side = side length of equilateral triangle (distance units) + {theta} value = angle (degrees) + angle = orientation of line segment with respect to x-axis + {angmom} values = Lx Ly Lz + Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units) {mass} value = per-atom mass (mass units) - {density} value = particle density for sphere or ellipsoid (mass/distance^3 units) + {density} value = particle density for sphere or ellipsoid (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) {volume} value = particle volume for Peridynamic particle (distance^3 units) {image} nx ny nz nx,ny,nz = which periodic image of the simulation box the atom is in @@ -138,26 +147,31 @@ the orientation of a particular atom is the same, regardless of how many processors are being used. Keyword {quat} uses the specified values to create a quaternion -(4-vector) that represents the orientation of the selected atoms. -Note that particles defined by "atom_style ellipsoid"_atom_style.html -have 3 shape parameters. The 3 values must be non-zero for each -particle set by this command. They are used to specify the aspect -ratios of an ellipsoidal particle, which is oriented by default with -its x-axis along the simulation box's x-axis, and similarly for y and -z. If this body is rotated (via the right-hand rule) by an angle -theta around a unit rotation vector (a,b,c), then the quaternion that -represents its new orientation is given by (cos(theta/2), -a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). The theta and a,b,c -values are the arguments to the {quat} keyword. LAMMPS normalizes the -quaternion in case (a,b,c) was not specified as a unit vector. For 2d -systems, the a,b,c values are ignored, since a rotation vector of -(0,0,1) is the only valid choice. +(4-vector) that represents the orientation of the selected atoms. The +particles must be ellipsoids as defined by the "atom_style +ellipsoid"_atom_style.html command or triangles as defined by the +"atom_style tri"_atom_style.html command. Note that particles defined +by "atom_style ellipsoid"_atom_style.html have 3 shape parameters. +The 3 values must be non-zero for each particle set by this command. +They are used to specify the aspect ratios of an ellipsoidal particle, +which is oriented by default with its x-axis along the simulation +box's x-axis, and similarly for y and z. If this body is rotated (via +the right-hand rule) by an angle theta around a unit rotation vector +(a,b,c), then the quaternion that represents its new orientation is +given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), +c*sin(theta/2)). The theta and a,b,c values are the arguments to the +{quat} keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +not specified as a unit vector. For 2d systems, the a,b,c values are +ignored, since a rotation vector of (0,0,1) is the only valid choice. Keyword {quat/random} randomizes the orientation of the quaternion of -the selected atoms. Random numbers are used in such a way that the -orientation of a particular atom is the same, regardless of how many -processors are being used. For 2d systems, only orientations in the -xy plane are generated. As with keyword {quat}, the 3 shape values +the selected atoms. The particles must be ellipsoids as defined by +the "atom_style ellipsoid"_atom_style.html command or triangles as +defined by the "atom_style tri"_atom_style.html command. Random +numbers are used in such a way that the orientation of a particular +atom is the same, regardless of how many processors are being used. +For 2d systems, only orientations in the xy plane are generated. As +with keyword {quat}, for ellipsoidal particles, the 3 shape values must be non-zero for each particle set by this command. Keyword {diameter} sets the size of the selected atoms. The particles @@ -169,7 +183,7 @@ defined with a density, e.g. via the "read_data"_read_data.html command. Keyword {shape} sets the size and shape of the selected atoms. The -particles must be aspherical ellipsoids as defined by the "atom_style +particles must be ellipsoids as defined by the "atom_style ellipsoid"_atom_style.html command. The {Sx}, {Sy}, {Sz} settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. @@ -178,20 +192,60 @@ treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the "read_data"_read_data.html command. +Keyword {length} sets the length of selected atoms. The particles +must be line segments as defined by the "atom_style +line"_atom_style.html command. If the specified value is non-zero the +line segment is (re)set to a length = the specified value, centered +around the particle position, with an orientation along the x-axis. +If the specified value is 0.0, the particle will become a point +particle. Note that this command does not adjust the particle mass, +even if it was defined with a density, e.g. via the +"read_data"_read_data.html command. + +Keyword {tri} sets the size of selected atoms. The particles must be +triangles as defined by the "atom_style tri"_atom_style.html command. +If the specified value is non-zero the triangle is (re)set to be an +equilateral triangle in the xy plane with side length = the specified +value, with a centroid at the particle position, with its base +parallel to the x axis, and the y-axis running from the center of the +base to the top point of the triangle. If the specified value is 0.0, +the particle will become a point particle. Note that this command +does not adjust the particle mass, even if it was defined with a +density, e.g. via the "read_data"_read_data.html command. + +Keyword {theta} sets the orientation of selected atoms. The particles +must be line segments as defined by the "atom_style +line"_atom_style.html command. The specified value is used to set the +orientation angle of the line segments with respect to the x axis. + +Keyword {angmom} sets the angular momentum of selected atoms. The +particles must be ellipsoids as defined by the "atom_style +ellipsoid"_atom_style.html command or triangles as defined by the +"atom_style tri"_atom_style.html command. The angular momentum vector +of the particles is set to the 3 specified components. + Keyword {mass} sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the "atom_style"_atom_style.html command. See the "mass" command for how to set mass values on a per-type basis. -Keyword {density} sets the mass of all selected particles. The -particles must have a per-atom mass attribute, as defined by the -"atom_style"_atom_style.html command. See the "mass" command for how -to set mass values on a per-type basis. If the atom has a radius -attribute (see "atom_style sphere"_atom_style.html) and its radius is -non-zero, its mass is set from the density and particle volume. The -same is true if the atom has a shape attribute (see "atom_style -ellipsoid"_atom_style.html) and its 3 shape parameters are non-zero. -Otherwise the mass is set to the density value directly. +Keyword {density} also sets the mass of all selected particles, but in +a different way. The particles must have a per-atom mass attribute, +as defined by the "atom_style"_atom_style.html command. If the atom +has a radius attribute (see "atom_style sphere"_atom_style.html) and +its radius is non-zero, its mass is set from the density and particle +volume. If the atom has a shape attribute (see "atom_style +ellipsoid"_atom_style.html) and its 3 shape parameters are non-zero, +then its mass is set from the density and particle volume. If the +atom has a length attribute (see "atom_style line"_atom_style.html) +and its length is non-zero, then its mass is set from the density and +line segment length (the input density is assumed to be in +mass/distance units). If the atom has an area attribute (see +"atom_style tri"_atom_style.html) and its area is non-zero, then its +mass is set from the density and triangle area (the input density is +assumed to be in mass/distance^2 units). If none of these cases are +valid, then the mass is set to the density value directly (the input +density is assumed to be in mass units). Keyword {volume} sets the volume of all selected particles. Currently, only the "atom_style peri"_atom_style.html command defines -- GitLab