diff --git a/doc/Eqs/pair_colloid_cc.jpg b/doc/Eqs/pair_colloid_cc.jpg new file mode 100644 index 0000000000..8a8a63543a Binary files /dev/null and b/doc/Eqs/pair_colloid_cc.jpg differ diff --git a/doc/Eqs/pair_colloid_cc.tex b/doc/Eqs/pair_colloid_cc.tex new file mode 100644 index 0000000000..b993db0722 --- /dev/null +++ b/doc/Eqs/pair_colloid_cc.tex @@ -0,0 +1,31 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray} +U_A &=& - \frac{A}{6} \left[ + \frac{2 a_1 a_2}{r^2-\left(a_1+a_2\right)^2} + + \frac{2 a_1 a_2}{r^2 - \left(a_1 - a_2\right)^2} + + \mathrm{ln} + \left( + \frac{r^2-\left(a_1+a_2\right)^2}{r^2-\left(a_1-a_2\right)^2} + \right) +\right] \nonumber \\ +\nonumber \\ +U_R &=& \frac{A}{37800} \frac{\sigma^6}{r} +\left[ \frac{}{} \right. \nonumber \\ + &&\qquad \frac{r^2-7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)} + {\left(r-a_1-a_2\right)^7} \nonumber \\ + &&\qquad +\frac{r^2+7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)} + {\left(r+a_1+a_2\right)^7} \nonumber \\ + &&\qquad -\frac{r^2+7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)} + {\left(r+a_1-a_2\right)^7} \nonumber \\ + &&\qquad \left. -\frac{r^2-7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)} + {\left(r-a_1+a_2\right)^7} +\right] \nonumber \\ +\nonumber \\ +U &=& U_A + U_R, \qquad r < r_c \nonumber +\end{eqnarray} + +\end{document} + diff --git a/doc/Eqs/pair_colloid_cs.jpg b/doc/Eqs/pair_colloid_cs.jpg new file mode 100644 index 0000000000..98435c02bd Binary files /dev/null and b/doc/Eqs/pair_colloid_cs.jpg differ diff --git a/doc/Eqs/pair_colloid_cs.tex b/doc/Eqs/pair_colloid_cs.tex new file mode 100644 index 0000000000..ac1acd0ca6 --- /dev/null +++ b/doc/Eqs/pair_colloid_cs.tex @@ -0,0 +1,12 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray} + U &=& \frac{2 ~ a^3 ~ \sigma^3 ~ A}{9 \left( a^2 - r^2 \right)^3} + \left[ 1 - \frac{\left(5 ~ a^6+45~a^4~r^2+63~a^2~r^4+15~r^6\right) \sigma^6} + {15 \left(a-r\right)^6 \left( a+r \right)^6} \right], ~~ r < r_c \nonumber +\end{eqnarray} + +\end{document} + diff --git a/doc/Eqs/pair_colloid_ss.jpg b/doc/Eqs/pair_colloid_ss.jpg new file mode 100644 index 0000000000..289db77570 Binary files /dev/null and b/doc/Eqs/pair_colloid_ss.jpg differ diff --git a/doc/Eqs/pair_colloid_ss.tex b/doc/Eqs/pair_colloid_ss.tex new file mode 100644 index 0000000000..f6d63d0a11 --- /dev/null +++ b/doc/Eqs/pair_colloid_ss.tex @@ -0,0 +1,10 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray} + U &=& \frac{A}{36} \left[ \left( \frac{\sigma}{r} \right)^{12} - \left( \frac{ \sigma}{r} \right)^6 \right], ~~ r < r_c \nonumber +\end{eqnarray} + +\end{document} + diff --git a/doc/Eqs/pair_dipole.jpg b/doc/Eqs/pair_dipole.jpg new file mode 100644 index 0000000000..cb2036ce88 Binary files /dev/null and b/doc/Eqs/pair_dipole.jpg differ diff --git a/doc/Eqs/pair_dipole.tex b/doc/Eqs/pair_dipole.tex new file mode 100644 index 0000000000..bc0ae82f80 --- /dev/null +++ b/doc/Eqs/pair_dipole.tex @@ -0,0 +1,38 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} +E_{LJ} & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ +E_{qq} & = & \frac{q_i q_j}{r} \\ +E_{qp} & = & \frac{q}{r^3} (p \bullet \vec{r}) \\ +E_{pp} & = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r}) +\end{eqnarray*} + +\begin{eqnarray*} +F_{qq} & = & \frac{q_i q_j}{r^3} \vec{r} \\ +F_{qp} & = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} + (\vec{p} \bullet \vec{r}) \vec{r} \\ +F_{pp} & = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} - + \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r}) \vec{r} + + \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + + (\vec{p_i} \bullet \vec{r}) \vec{p_j} \right] +\end{eqnarray*} + +\begin{eqnarray*} +T_{pq} = T_{ij} & = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\ +T_{qp} = T_{ji} & = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\ +T_{pp} = T_{ij} & = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + + \frac{3}{r^5} (\vec{p_j} \bullet \vec{r}) + (\vec{p_i} \times \vec{r}) \\ +T_{pp} = T_{ji} & = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) \\ +\end{eqnarray*} + +\end{document} + + diff --git a/doc/compute_temp_deform.html b/doc/compute_temp_deform.html new file mode 100644 index 0000000000..68d942e466 --- /dev/null +++ b/doc/compute_temp_deform.html @@ -0,0 +1,88 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

compute temp/deform command +

+

Syntax: +

+
compute ID group-ID temp/deform 
+
+ +

Examples: +

+
compute myTemp all temp/deform myDeform 
+
+

Description: +

+

Define a computation that calculates the temperature of a group of +atoms, after subtracting out a streaming velocity induced by the +simulation box changing size and/or shape, for example in a +non-equilibrium MD (NEMD) simulation. The size/shape change is +induced by use of the fix deform command. A compute +of this style is created by the fix nvt/sllod +command to compute the thermal temperature of atoms for thermostatting +purposes. A compute of this style can also be used by any command +that computes a temperature, e.g. thermo_modify, +fix temp/rescale, fix npt, etc. +

+

The deformation fix changes the box size and/or shape over time, so +each point in the simulation box can be thought of as having a +"streaming" velocity. For example, if the box is being sheared in x, +relative to y, then points at the bottom of the box (low y) have a +small x velocity, while points at the top of the box (hi y) have a +large x velocity. This position-dependent streaming velocity is +subtracted from each atom's actual velocity to yield a thermal +velocity which is used to compute the temperature. +

+

IMPORTANT NOTE: Fix deform has an option for +remapping either atom coordinates or velocities to the changing +simulation box. To use this compute, the fix should NOT remap atom +positions, but rather should let atoms respond to the changing box by +adjusting their own velocities (or let fix deform remap the atom +velocities). If the fix does remap atom positions, their velocity is +not changed, and thus they do not have the streaming velocity assumed +by this compute. LAMMPS will warn you if this setting is not +consistent. +

+

The temperature is calculated by the formula KE = dim/2 N k T, where +KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), +dim = 2 or 3 = dimensionality of the simulation, N = number of atoms +in the group, k = Boltzmann constant, and T = temperature. Note that +v in the kinetic energy formula is the atom's thermal velocity. +

+

A 6-component kinetic energy tensor is also calculated by this compute +for use in the computation of a pressure tensor. The formula for the +components of the tensor is the same as the above formula, except that +v^2 is replaced by vx * vy for the xy component, etc. +

+

The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the dynamic option of the +compute_modify command if this is not the case. +

+

This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as fix shake and +fix rigid. This means the temperature of groups of +atoms that include these constraints will be computed correctly. If +needed, the subtracted degrees-of-freedom can be altered using the +extra option of the compute_modify command. +

+

Restrictions: none +

+

Related commands: +

+

compute temp/ramp, fix +deform, fix nvt/sllod +

+

Default: none +

+ diff --git a/doc/compute_temp_deform.txt b/doc/compute_temp_deform.txt new file mode 100644 index 0000000000..06cfdc6b88 --- /dev/null +++ b/doc/compute_temp_deform.txt @@ -0,0 +1,83 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute temp/deform command :h3 + +[Syntax:] + +compute ID group-ID temp/deform :pre + +ID, group-ID are documented in "compute"_compute.html command +temp/deform = style name of this compute command :ul + +[Examples:] + +compute myTemp all temp/deform myDeform :pre + +[Description:] + +Define a computation that calculates the temperature of a group of +atoms, after subtracting out a streaming velocity induced by the +simulation box changing size and/or shape, for example in a +non-equilibrium MD (NEMD) simulation. The size/shape change is +induced by use of the "fix deform"_fix_deform.html command. A compute +of this style is created by the "fix nvt/sllod"_fix_nvt_sllod.html +command to compute the thermal temperature of atoms for thermostatting +purposes. A compute of this style can also be used by any command +that computes a temperature, e.g. "thermo_modify"_thermo_modify.html, +"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc. + +The deformation fix changes the box size and/or shape over time, so +each point in the simulation box can be thought of as having a +"streaming" velocity. For example, if the box is being sheared in x, +relative to y, then points at the bottom of the box (low y) have a +small x velocity, while points at the top of the box (hi y) have a +large x velocity. This position-dependent streaming velocity is +subtracted from each atom's actual velocity to yield a thermal +velocity which is used to compute the temperature. + +IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for +remapping either atom coordinates or velocities to the changing +simulation box. To use this compute, the fix should NOT remap atom +positions, but rather should let atoms respond to the changing box by +adjusting their own velocities (or let fix deform remap the atom +velocities). If the fix does remap atom positions, their velocity is +not changed, and thus they do not have the streaming velocity assumed +by this compute. LAMMPS will warn you if this setting is not +consistent. + +The temperature is calculated by the formula KE = dim/2 N k T, where +KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), +dim = 2 or 3 = dimensionality of the simulation, N = number of atoms +in the group, k = Boltzmann constant, and T = temperature. Note that +v in the kinetic energy formula is the atom's thermal velocity. + +A 6-component kinetic energy tensor is also calculated by this compute +for use in the computation of a pressure tensor. The formula for the +components of the tensor is the same as the above formula, except that +v^2 is replaced by vx * vy for the xy component, etc. + +The number of atoms contributing to the temperature is assumed to be +constant for the duration of the run; use the {dynamic} option of the +"compute_modify"_compute_modify.html command if this is not the case. + +This compute subtracts out degrees-of-freedom due to fixes that +constrain molecular motion, such as "fix shake"_fix_shake.html and +"fix rigid"_fix_rigid.html. This means the temperature of groups of +atoms that include these constraints will be computed correctly. If +needed, the subtracted degrees-of-freedom can be altered using the +{extra} option of the "compute_modify"_compute_modify.html command. + +[Restrictions:] none + +[Related commands:] + +"compute temp/ramp"_compute_temp_ramp.html, "fix +deform"_fix_deform.html, "fix nvt/sllod"_fix_nvt_sllod.html + +[Default:] none diff --git a/doc/compute_temp_dipole.html b/doc/compute_temp_dipole.html new file mode 100644 index 0000000000..bbdc93dba6 --- /dev/null +++ b/doc/compute_temp_dipole.html @@ -0,0 +1,46 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

compute temp/dipole command +

+

Syntax: +

+
compute ID group-ID temp/dipole 
+
+ +

Examples: +

+
compute 1 all temp/dipole
+compute myTemp mobile temp/dipole 
+
+

Description: +

+

Define a computation that calculates the temperature of a group of +particles that include a point dipole. The computation is similar to +compute_temp, however, additional degrees of +freedom are inlclude to account for the rotational state of the +particles. The associated kinetic energy includes a rotational term +KE_rotational = 1/2 I w^2, where I is the moment of inertia and w is +the angular velocity. +

+

Restrictions: +

+

Can only be used if LAMMPS was built with the "dipole" package. +

+

Related commands: +

+

compute temp +

+

Default: none +

+ diff --git a/doc/compute_temp_dipole.txt b/doc/compute_temp_dipole.txt new file mode 100755 index 0000000000..28d23d6968 --- /dev/null +++ b/doc/compute_temp_dipole.txt @@ -0,0 +1,41 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute temp/dipole command :h3 + +[Syntax:] + +compute ID group-ID temp/dipole :pre + +ID, group-ID are documented in "compute"_compute.html command +temp/dipole = style name of this compute command :ul + +[Examples:] + +compute 1 all temp/dipole +compute myTemp mobile temp/dipole :pre + +[Description:] + +Define a computation that calculates the temperature of a group of +particles that include a point dipole. The computation is similar to +"compute_temp"_compute_temp.html, however, additional degrees of +freedom are inlclude to account for the rotational state of the +particles. The associated kinetic energy includes a rotational term +KE_rotational = 1/2 I w^2, where I is the moment of inertia and w is +the angular velocity. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "dipole" package. + +[Related commands:] + +"compute temp"_compute_temp.html + +[Default:] none diff --git a/doc/fix_deform.html b/doc/fix_deform.html new file mode 100644 index 0000000000..e4c57bba2c --- /dev/null +++ b/doc/fix_deform.html @@ -0,0 +1,310 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

fix deform command +

+

Syntax: +

+
fix ID group-ID deform N parameter args ... keyword value ... 
+
+ +

Examples: +

+
fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box
+fix 1 all deform x rate 0.1 y volume z volume
+fix 1 all deform xy rate 0.001 remap v
+fix 1 all deform y delta 0.5 xz vel 1.0 
+
+

Description: +

+

Change the volume and/or shape of the simulation box during a dynamics +run. Orthogonal simulation boxes have 3 adjustable parameters +(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 +adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be +adjusted independently and simultaneously by this command. This fix +can be used to perform non-equilibrium MD (NEMD) simulations of a +continuously strained system. See the fix +nvt/sllod and compute +temp/deform commands for more details. +

+

Any parameter varied by this command must refer to a periodic +dimension - see the boundary command. For parameters +"xy", "xz", and "yz" this means both affected dimensions must be +periodic, e.g. x and y for "xy". Dimensions not varied by this +command can be periodic or non-periodic. Unspecified dimensions can +also be controlled by a fix npt or fix +nph command. +

+

The size and shape of the initial simulation box at the beginning of a +run are specified by the create_box or +read_data or read_restart command +used to setup the simulation, or they are the values from the end of +the previous run. The create_box, read +data, and read_restart commands +also specify whether the simulation box is orthogonal or triclinic and +explain the meaning of the xy,xz,yz tilt factors. If fix deform +changes the xy,xz,yz tilt factors, then the simulation box must be +triclinic, even if its initial tilt factors are 0.0. +

+

As described below, the desired simulation box size and shape at the +end of the run are determined by the parameters of the fix deform +command. Every Nth timestep during the run, the simulation box is +expanded, contracted, or tilted to ramped values between the initial +and final values. The run command documents how to make +the ramping take place across multiple runs. +

+
+ +

For the x, y, and z parameters, this is the meaning of their +styles and values. +

+

The final, delta, scale, and vel styles all change the +specified dimension of the box via "constant displacement" which is +effectively a "constant engineering strain rate". This means the box +dimension changes linearly with time from its initial to final value. +

+

For style final, the final lo and hi box boundaries of a dimension +are specified. The values can be in lattice or box distance units. +See the discsussion of the units keyword below. +

+

For style delta, plus or minus changes in the lo/hi box boundaries +of a dimension are specified. The values can be in lattice or box +distance units. See the discsussion of the units keyword below. +

+

For style scale, a multiplicative factor to apply to the box length +of a dimension is specified. For example, if the initial box length +is 10, and the factor is 1.1, then the final box length will be 11. A +factor less than 1.0 means compression. +

+

For style vel, a velocity at which the box length changes is +specified in units of distance/time. This is effectively an +"engineering strain rate", where rate = V/L0 and L0 is the initial box +length. The distance can be in lattice or box distance units. See +the discussion of the units keyword below. For example, if the +initial box length is 100 Angstroms, and V is 10 Angstroms/psec, +then after 10 psec, the box length will have doubled. After 20 psec, +it will have tripled. +

+

The rate style changes a dimension of the box at a "true constant +strain rate". Note that this is not an "engineering strain rate", as +the other styles are. Rather, for a "true" rate, the rate of change +is constant, which means the box dimension changes non-linearly with +time from its initial to final value. The units of the specified +strain rate are 1/time. See the units command for the +time units associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Thus if the rate R is 0.01 and +time units are picoseconds, this means the box length will increase by +1% every picosecond. R = 1 or 2 means the box length will double or +triple every picosecond. R = -0.1 means the box length will shrink by +10% every picosecond. Note that for a "true" rate the change is +continuous, so running with R = 1 for 10 picoseconds does not expand +the box length by a factor of 10, but by a factor of 1024 since it +doubles every picosecond. +

+

Note that to change the volume (or cross-sectional area) of the +simulation box at a constant rate, you can change multiple dimensions +via rate. E.g. to double the box volume every picosecond, you could +set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = +1.26, since if each box dimension grows by 26%, the box volume +doubles. +

+

The volume style changes the specified dimension in such a way that +the box volume remains constant while other box dimensions are changed +explicitly via the styles discussed above. For example, "x scale 1.1 +y scale 1.1 z volume" will shrink the z box length as the x,y box +lengths increase, to keep the volume constant (product of x,y,z +lengths). If "x scale 1.1 z volume" is specified and parameter y is +unspecified, then the z box length will shrink as x increases to keep +the product of x,z lengths constant. If "x scale 1.1 y volume z +volume" is specified, then both the y,z box lengths will shrink as x +increases to keep the volume constant (product of x,y,z lengths). In +this case, the y,z box lengths shrink so as to keep their relative +aspect ratio constant. +

+

For solids or liquids, note that when one dimension of the box is +expanded via fix deform (i.e. tensile strain), it may be physically +undesirable to hold the other 2 box lengths constant (unspecified by +fix deform) since that implies a density change. Using the volume +style for those 2 dimensions to keep the box volume constant may make +more physical sense, but may also not be correct for materials and +potentials whose Poisson ratio is not 0.5. An alternative is to use +fix npt aniso with zero applied pressure on those 2 +dimensions, so that they respond to the tensile strain dynamically. +

+

For the scale, vel, rate, and volume styles, the box length is +expanded or compressed around its mid point. +

+
+ +

For the xy, xz, and yz parameters, this is the meaning of their +styles and values. Note that changing the tilt factors of a triclinic +box does not change its volume. +

+

For style final, the final tilt factor is specified. The value +can be in lattice or box distance units. See the discussion of the +units keyword below. +

+

For style delta, a plus or minus change in the tilt factor is +specified. The value can be in lattice or box distance units. See +the discsussion of the units keyword below. +

+

For style vel, a velocity at which the tilt factor changes is +specified in units of distance/time. This is effectively an +"engineering shear strain rate", where rate = V/L0 and L0 is the +initial box length perpendicular to the direction of shear. The +distance can be in lattice or box distance units. See the discsussion +of the units keyword below. For example, if the initial tilt factor +is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the +tilt factor will be 15 Angstroms. After 2 psec, it will be 25 +Angstroms. +

+

The rate style changes a tilt factor at a "true constant shear +strain rate". Note that this is not an "engineering shear strain +rate", as the other styles are. Rather, for a "true" rate, the rate +of change is constant, which means the tilt factor changes +non-linearly with time from its initial to final value. The units of +shear strain rate are 1/time. See the units command for +the time units associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Thus if the rate R is 0.01 and +time units are picoseconds, this means the tilt factor will increase +by 1% every picosecond. R = 1 or 2 means the tilt factor will double +or triple every picosecond. R = -0.1 means the tilt factor will +shrink by 10% every picosecond. Note that the change is continuous, +so running with R = 1 for 10 picoseconds does not change the tilt +factor by a factor of 10, but by a factor of 1024 since it doubles +every picosecond. Also note, that the initial tilt factor must be +non-zero to use the rate option. +

+

Note that shear strain is defined as the tilt factor divided by the +perpendicular box length. The rate style controls the tilt factor, +but assumes the perpendicular box length remains constant. If this is +not the case (e.g. it changes due to another fix deform parameter), +then this effect on the shear strain is ignored. +

+

All of these styles change the xy, xz, yz tilt factors during a +simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes +are always bounded by half the distance of the parallel box length. +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor must be between -5 and 5. Similarly, both xz and +yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is +not a limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt = ..., -15, -5, 5, 15, 25, +... are all equivalent. +

+

To obey this constraint and allow for large shear deformations to be +applied via the xy, xz, or yz parameters, the folloiwng +algorithm is used. If prd is the associated parallel box length (10 +in the example above), then if the tilt factor exceeds the accepted +range of -5 to 5 during the simulation, then the box is re-shaped to +the other limit (an equivalent box) and the simulation continues. +Thus for this example, if the initial xy tilt factor was 0.0 and "xy +final 100.0" was specified, then during the simulation the xy tilt +factor would increase from 0.0 to 5.0, the box would be re-shaped so +that the tilt factor becomes -5.0, the tilt factor would increase from +-5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping +would occur 10 times and the final tilt factor at the end of the +simulation would be 0.0. During each re-shaping event, atoms are +remapped into the new box in the appropriate manner. +

+
+ +

Each time the box size or shape is changed, the remap keyword +determines whether atom positions are re-mapped to the new box. If +remap is set to x (the default), atoms in the fix group are +re-mapped; otherwise they are not. If remap is set to v, then any +atom in the fix group that crosses a periodic boundary will have a +delta added to its velocity equal to the difference in velocities +between the lo and hi boundaries. Note that this velocity difference +can include tilt components, e.g. a delta in the x velocity when an +atom crosses the y periodic boundary. If remap is set to none, +then neither of these remappings take place. +

+

IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are +performed using this fix, the option "remap v" should normally be +used. This is because fix nvt/sllod adjusts the +atom positions and velocities to provide a velocity profile that +matches the changing box size/shape. Thus atom coordinates should NOT +be remapped by fix deform, but velocities SHOULD be when atoms cross +periodic boundaries, since when atoms cross periodic boundaries since +that is consistent with maintaining the velocity profile created by +fix nvt/sllod. LAMMPS will warn you if this settings is not +consistent. +

+

The units keyword determines the meaning of the distance units used +to define various arguments. A box value selects standard distance +units as defined by the units command, e.g. Angstroms for +units = real or metal. A lattice value means the distance units are +in lattice spacings. The lattice command must have +been previously used to define the lattice spacing. Note that the +units choice also affects the vel style parameters since it is +defined in terms of distance/time. +

+
+ +

Restrictions: +

+

Any box dimension varied by this fix must be periodic. +

+

Related commands: none +

+

Default: +

+

The option defaults are remap = x and units = lattice. +

+ diff --git a/doc/fix_deform.txt b/doc/fix_deform.txt new file mode 100644 index 0000000000..bbf84141b3 --- /dev/null +++ b/doc/fix_deform.txt @@ -0,0 +1,298 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix deform command :h3 + +[Syntax:] + +fix ID group-ID deform N parameter args ... keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +deform = style name of this fix command :l +N = perform box deformation every this many timesteps :l +one or more parameter/arg pairs may be appended :l +parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} + {x}, {y}, {z} args = style value(s) + style = {final} or {delta} or {scale} or {vel} or {rate} or {volume} + {final} values = lo hi + lo hi = box boundaries at end of run (distance units) + {delta} values = dlo dhi + dlo dhi = change in box boundaries at end of run (distance units) + {scale} values = factor + factor = multiplicative factor for change in box length at end of run + {vel} value = V + V = change box length at this velocity (distance/time units), + effectively an engineering strain rate + {rate} value = R + R = true strain rate (1/time units) + {volume} value = none = adjust this dim to preserve volume of system + {xy}, {xz}, {yz} args = style value + style = {final} or {delta} or {vel} or {rate} + {final} value = tilt + tilt = tilt factor at end of run (distance units) + {delta} value = dtilt + dtilt = change in tilt factor at end of run (distance units) + {vel} value = V + V = change tilt factor at this velocity (distance/time units), + effectively an engineering shear strain rate + {rate} value = R + R = true shear strain rate (1/time units) :pre + +zero or more keyword/value pairs may be appended to the args :l +keyword = {remap} or {units} :l + {remap} value = {x} or {v} or {none} + x = remap coords of atoms in group into deforming box + v = remap velocities of all atoms when they cross periodic boundaries + none = no remapping of x or v + {units} value = {lattice} or {box} + lattice = distances are defined in lattice units + box = distances are defined in simulation box units :pre +:ule + +[Examples:] + +fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box +fix 1 all deform x rate 0.1 y volume z volume +fix 1 all deform xy rate 0.001 remap v +fix 1 all deform y delta 0.5 xz vel 1.0 :pre + +[Description:] + +Change the volume and/or shape of the simulation box during a dynamics +run. Orthogonal simulation boxes have 3 adjustable parameters +(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 +adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be +adjusted independently and simultaneously by this command. This fix +can be used to perform non-equilibrium MD (NEMD) simulations of a +continuously strained system. See the "fix +nvt/sllod"_fix_nvt_sllod.html and "compute +temp/deform"_compute_temp_deform.html commands for more details. + +Any parameter varied by this command must refer to a periodic +dimension - see the "boundary"_boundary.html command. For parameters +"xy", "xz", and "yz" this means both affected dimensions must be +periodic, e.g. x and y for "xy". Dimensions not varied by this +command can be periodic or non-periodic. Unspecified dimensions can +also be controlled by a "fix npt"_fix_npt.html or "fix +nph"_fix_nph.html command. + +The size and shape of the initial simulation box at the beginning of a +run are specified by the "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html command +used to setup the simulation, or they are the values from the end of +the previous run. The "create_box"_create_box.html, "read +data"_read_data.html, and "read_restart"_read_restart.html commands +also specify whether the simulation box is orthogonal or triclinic and +explain the meaning of the xy,xz,yz tilt factors. If fix deform +changes the xy,xz,yz tilt factors, then the simulation box must be +triclinic, even if its initial tilt factors are 0.0. + +As described below, the desired simulation box size and shape at the +end of the run are determined by the parameters of the fix deform +command. Every Nth timestep during the run, the simulation box is +expanded, contracted, or tilted to ramped values between the initial +and final values. The "run"_run.html command documents how to make +the ramping take place across multiple runs. + +:line + +For the {x}, {y}, and {z} parameters, this is the meaning of their +styles and values. + +The {final}, {delta}, {scale}, and {vel} styles all change the +specified dimension of the box via "constant displacement" which is +effectively a "constant engineering strain rate". This means the box +dimension changes linearly with time from its initial to final value. + +For style {final}, the final lo and hi box boundaries of a dimension +are specified. The values can be in lattice or box distance units. +See the discsussion of the units keyword below. + +For style {delta}, plus or minus changes in the lo/hi box boundaries +of a dimension are specified. The values can be in lattice or box +distance units. See the discsussion of the units keyword below. + +For style {scale}, a multiplicative factor to apply to the box length +of a dimension is specified. For example, if the initial box length +is 10, and the factor is 1.1, then the final box length will be 11. A +factor less than 1.0 means compression. + +For style {vel}, a velocity at which the box length changes is +specified in units of distance/time. This is effectively an +"engineering strain rate", where rate = V/L0 and L0 is the initial box +length. The distance can be in lattice or box distance units. See +the discussion of the units keyword below. For example, if the +initial box length is 100 Angstroms, and V is 10 Angstroms/psec, +then after 10 psec, the box length will have doubled. After 20 psec, +it will have tripled. + +The {rate} style changes a dimension of the box at a "true constant +strain rate". Note that this is not an "engineering strain rate", as +the other styles are. Rather, for a "true" rate, the rate of change +is constant, which means the box dimension changes non-linearly with +time from its initial to final value. The units of the specified +strain rate are 1/time. See the "units"_units.html command for the +time units associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and +time units are picoseconds, this means the box length will increase by +1% every picosecond. R = 1 or 2 means the box length will double or +triple every picosecond. R = -0.1 means the box length will shrink by +10% every picosecond. Note that for a "true" rate the change is +continuous, so running with R = 1 for 10 picoseconds does not expand +the box length by a factor of 10, but by a factor of 1024 since it +doubles every picosecond. + +Note that to change the volume (or cross-sectional area) of the +simulation box at a constant rate, you can change multiple dimensions +via {rate}. E.g. to double the box volume every picosecond, you could +set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = +1.26, since if each box dimension grows by 26%, the box volume +doubles. + +The {volume} style changes the specified dimension in such a way that +the box volume remains constant while other box dimensions are changed +explicitly via the styles discussed above. For example, "x scale 1.1 +y scale 1.1 z volume" will shrink the z box length as the x,y box +lengths increase, to keep the volume constant (product of x,y,z +lengths). If "x scale 1.1 z volume" is specified and parameter {y} is +unspecified, then the z box length will shrink as x increases to keep +the product of x,z lengths constant. If "x scale 1.1 y volume z +volume" is specified, then both the y,z box lengths will shrink as x +increases to keep the volume constant (product of x,y,z lengths). In +this case, the y,z box lengths shrink so as to keep their relative +aspect ratio constant. + +For solids or liquids, note that when one dimension of the box is +expanded via fix deform (i.e. tensile strain), it may be physically +undesirable to hold the other 2 box lengths constant (unspecified by +fix deform) since that implies a density change. Using the {volume} +style for those 2 dimensions to keep the box volume constant may make +more physical sense, but may also not be correct for materials and +potentials whose Poisson ratio is not 0.5. An alternative is to use +"fix npt aniso"_fix_npt.html with zero applied pressure on those 2 +dimensions, so that they respond to the tensile strain dynamically. + +For the {scale}, {vel}, {rate}, and {volume} styles, the box length is +expanded or compressed around its mid point. + +:line + +For the {xy}, {xz}, and {yz} parameters, this is the meaning of their +styles and values. Note that changing the tilt factors of a triclinic +box does not change its volume. + +For style {final}, the final tilt factor is specified. The value +can be in lattice or box distance units. See the discussion of the +units keyword below. + +For style {delta}, a plus or minus change in the tilt factor is +specified. The value can be in lattice or box distance units. See +the discsussion of the units keyword below. + +For style {vel}, a velocity at which the tilt factor changes is +specified in units of distance/time. This is effectively an +"engineering shear strain rate", where rate = V/L0 and L0 is the +initial box length perpendicular to the direction of shear. The +distance can be in lattice or box distance units. See the discsussion +of the units keyword below. For example, if the initial tilt factor +is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the +tilt factor will be 15 Angstroms. After 2 psec, it will be 25 +Angstroms. + +The {rate} style changes a tilt factor at a "true constant shear +strain rate". Note that this is not an "engineering shear strain +rate", as the other styles are. Rather, for a "true" rate, the rate +of change is constant, which means the tilt factor changes +non-linearly with time from its initial to final value. The units of +shear strain rate are 1/time. See the "units"_units.html command for +the time units associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and +time units are picoseconds, this means the tilt factor will increase +by 1% every picosecond. R = 1 or 2 means the tilt factor will double +or triple every picosecond. R = -0.1 means the tilt factor will +shrink by 10% every picosecond. Note that the change is continuous, +so running with R = 1 for 10 picoseconds does not change the tilt +factor by a factor of 10, but by a factor of 1024 since it doubles +every picosecond. Also note, that the initial tilt factor must be +non-zero to use the {rate} option. + +Note that shear strain is defined as the tilt factor divided by the +perpendicular box length. The {rate} style controls the tilt factor, +but assumes the perpendicular box length remains constant. If this is +not the case (e.g. it changes due to another fix deform parameter), +then this effect on the shear strain is ignored. + +All of these styles change the xy, xz, yz tilt factors during a +simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes +are always bounded by half the distance of the parallel box length. +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor must be between -5 and 5. Similarly, both xz and +yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is +not a limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt = ..., -15, -5, 5, 15, 25, +... are all equivalent. + +To obey this constraint and allow for large shear deformations to be +applied via the {xy}, {xz}, or {yz} parameters, the folloiwng +algorithm is used. If {prd} is the associated parallel box length (10 +in the example above), then if the tilt factor exceeds the accepted +range of -5 to 5 during the simulation, then the box is re-shaped to +the other limit (an equivalent box) and the simulation continues. +Thus for this example, if the initial xy tilt factor was 0.0 and "xy +final 100.0" was specified, then during the simulation the xy tilt +factor would increase from 0.0 to 5.0, the box would be re-shaped so +that the tilt factor becomes -5.0, the tilt factor would increase from +-5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping +would occur 10 times and the final tilt factor at the end of the +simulation would be 0.0. During each re-shaping event, atoms are +remapped into the new box in the appropriate manner. + +:line + +Each time the box size or shape is changed, the {remap} keyword +determines whether atom positions are re-mapped to the new box. If +{remap} is set to {x} (the default), atoms in the fix group are +re-mapped; otherwise they are not. If {remap} is set to {v}, then any +atom in the fix group that crosses a periodic boundary will have a +delta added to its velocity equal to the difference in velocities +between the lo and hi boundaries. Note that this velocity difference +can include tilt components, e.g. a delta in the x velocity when an +atom crosses the y periodic boundary. If {remap} is set to {none}, +then neither of these remappings take place. + +IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are +performed using this fix, the option "remap v" should normally be +used. This is because "fix nvt/sllod"_fix_nvt_sllod.html adjusts the +atom positions and velocities to provide a velocity profile that +matches the changing box size/shape. Thus atom coordinates should NOT +be remapped by fix deform, but velocities SHOULD be when atoms cross +periodic boundaries, since when atoms cross periodic boundaries since +that is consistent with maintaining the velocity profile created by +fix nvt/sllod. LAMMPS will warn you if this settings is not +consistent. + +The {units} keyword determines the meaning of the distance units used +to define various arguments. A {box} value selects standard distance +units as defined by the "units"_units.html command, e.g. Angstroms for +units = real or metal. A {lattice} value means the distance units are +in lattice spacings. The "lattice"_lattice.html command must have +been previously used to define the lattice spacing. Note that the +units choice also affects the {vel} style parameters since it is +defined in terms of distance/time. + +:line + +[Restrictions:] + +Any box dimension varied by this fix must be periodic. + +[Related commands:] none + +[Default:] + +The option defaults are remap = x and units = lattice. diff --git a/doc/fix_npt_asphere.html b/doc/fix_npt_asphere.html new file mode 100644 index 0000000000..8f0c15cb76 --- /dev/null +++ b/doc/fix_npt_asphere.html @@ -0,0 +1,185 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

fix npt/asphere command +

+

Syntax: +

+
fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... 
+
+ +

Examples: +

+
fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
+fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
+fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
+fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial 
+
+

Description: +

+

Perform constant NPT integration to update positions, velocities, +and angular velocity each timestep for aspherical or ellipsoidal +particles in the group using a Nose/Hoover temperature +thermostat and Nose/Hoover pressure barostat. P is pressure; T is +temperature. This creates a system trajectory consistent with the +isothermal-isobaric ensemble. +

+

The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. The Tdamp +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the units command). +

+

The particles in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. +

+

Regardless of what particles are in the fix group, a global pressure is +computed for all particles. Similarly, when the size of the simulation +box is changed, all particles are re-scaled to new positions, unless the +keyword dilate is specified with a value of partial, in which case +only the particles in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of particles in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. +

+
+ +

The pressure can be controlled in one of several styles, as specified +by the p-style argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The run command documents how to make the +ramping take place across multiple runs. +

+

Style xyz means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. +

+

Styles xy or yz or xz means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. +

+

For style aniso, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. +

+

For any of the styles except xyz, any of the independent pressure +components (e.g. z in xy, or any dimension in aniso) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. +

+

In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat and thermostat is applied. The optional drag keyword will +damp these oscillations, although it alters the Nose/Hoover equations. +A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. +A non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure and temperature is the best way to determine if the drag term +is working. Typically a value between 0.2 to 2.0 is sufficient to +damp oscillations after a few periods. +

+

For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. +

+

For all styles, the Pdamp parameter operates like the Tdamp +parameter, determining the time scale on which pressure is relaxed. +For example, a value of 1000.0 means to relax the pressure in a +timespan of (roughly) 1000 time units (tau or fmsec or psec - see the +units command). +

+
+ +

This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/asphere" and +"pressure", as if these commands had been issued: +

+
compute fix-ID_temp group-ID temp/asphere
+compute fix-ID_press group-ID pressure fix-ID_temp 
+
+

See the compute temp/asphere and compute +pressure commands for details. Note that the +IDs of the new computes are the fix-ID with underscore + "temp" or +"press" appended and the group for the new computes is the same as the +fix group. +

+

Note that these are NOT the computes used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp +and thermo_press. This means you can change the attributes of this +fix's temperature or pressure via the +compute_modify command or print this temperature +or pressure during thermodyanmic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp or +thermo_press will have no effect on this fix. Alternatively, you +can directly assign a new compute (for calculating temeperature or +pressure) that you have defined to this fix via the +fix_modify command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all particles. LAMMPS will warn you if you choose +to compute temperature on a subset of particles. +

+

This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the fix_modify energy option. The contribution can +also be printed by itself via the keyword f_fix-ID in the +thermo_style custom command. +

+

Restrictions: +

+

Can only be used if LAMMPS was built with the "asphere" package. +

+

Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. +

+

The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. +

+

Related commands: +

+

fix npt, fix nve_asphere, +fix_modify +

+

Default: +

+

The keyword defaults are drag = 0.0 and dilate = all. +

+ diff --git a/doc/fix_npt_asphere.txt b/doc/fix_npt_asphere.txt new file mode 100755 index 0000000000..654d3de662 --- /dev/null +++ b/doc/fix_npt_asphere.txt @@ -0,0 +1,172 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix npt/asphere command :h3 + +[Syntax:] + +fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +npt/asphere = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run :l +Tdamp = temperature damping parameter (time units) :l +p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l + {xyz} args = Pstart Pstop Pdamp + Pstart,Pstop = desired pressure at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) + {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp + Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) + Pdamp = pressure damping parameter (time units) :pre + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} or {dilate} :l + {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) + {dilate} value = {all} or {partial} :pre +:ule + +[Examples:] + +fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 +fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 +fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 +fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre + +[Description:] + +Perform constant NPT integration to update positions, velocities, +and angular velocity each timestep for aspherical or ellipsoidal +particles in the group using a Nose/Hoover temperature +thermostat and Nose/Hoover pressure barostat. P is pressure; T is +temperature. This creates a system trajectory consistent with the +isothermal-isobaric ensemble. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. The {Tdamp} +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the "units"_units.html command). + +The particles in the fix group are the only ones whose velocities and +positions are updated by the velocity/position update portion of the +NPT integration. + +Regardless of what particles are in the fix group, a global pressure is +computed for all particles. Similarly, when the size of the simulation +box is changed, all particles are re-scaled to new positions, unless the +keyword {dilate} is specified with a value of {partial}, in which case +only the particles in the fix group are re-scaled. The latter can be +useful for leaving the coordinates of particles in a solid substrate +unchanged and controlling the pressure of a surrounding fluid. + +:line + +The pressure can be controlled in one of several styles, as specified +by the {p-style} argument. In each case, the desired pressure at each +timestep is a ramped value during the run from the starting value to +the end value. The "run"_run.html command documents how to make the +ramping take place across multiple runs. + +Style {xyz} means couple all 3 dimensions together when pressure is +computed (isotropic pressure), and dilate/contract the 3 dimensions +together. + +Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are +coupled together, both for pressure computation and for +dilation/contraction. The 3rd dimension dilates/contracts +independently, using its pressure component as the driving force. + +For style {aniso}, all 3 dimensions dilate/contract independently +using their individual pressure components as the 3 driving forces. + +For any of the styles except {xyz}, any of the independent pressure +components (e.g. z in {xy}, or any dimension in {aniso}) can have +their target pressures (both start and stop values) specified as NULL. +This means that no pressure control is applied to that dimension so +that the box dimension remains unchanged. + +In some cases (e.g. for solids) the pressure (volume) and/or +temperature of the system can oscillate undesirably when a Nose/Hoover +barostat and thermostat is applied. The optional {drag} keyword will +damp these oscillations, although it alters the Nose/Hoover equations. +A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. +A non-zero value adds a drag term; the larger the value specified, the +greater the damping effect. Performing a short run and monitoring the +pressure and temperature is the best way to determine if the drag term +is working. Typically a value between 0.2 to 2.0 is sufficient to +damp oscillations after a few periods. + +For all pressure styles, the simulation box stays rectangular in +shape. Parinello-Rahman boundary conditions (tilted box) are not +implemented in LAMMPS. + +For all styles, the {Pdamp} parameter operates like the {Tdamp} +parameter, determining the time scale on which pressure is relaxed. +For example, a value of 1000.0 means to relax the pressure in a +timespan of (roughly) 1000 time units (tau or fmsec or psec - see the +"units"_units.html command). + +:line + +This fix computes a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp/asphere" and +"pressure", as if these commands had been issued: + +compute fix-ID_temp group-ID temp/asphere +compute fix-ID_press group-ID pressure fix-ID_temp :pre + +See the "compute temp/asphere"_compute_temp_asphere.html and "compute +pressure"_compute_pressure.html commands for details. Note that the +IDs of the new computes are the fix-ID with underscore + "temp" or +"press" appended and the group for the new computes is the same as the +fix group. + +Note that these are NOT the computes used by thermodynamic output (see +the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} +and {thermo_press}. This means you can change the attributes of this +fix's temperature or pressure via the +"compute_modify"_compute_modify.html command or print this temperature +or pressure during thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate compute-ID. +It also means that changing attributes of {thermo_temp} or +{thermo_press} will have no effect on this fix. Alternatively, you +can directly assign a new compute (for calculating temeperature or +pressure) that you have defined to this fix via the +"fix_modify"_fix_modify.html command. If you do this, note that the +kinetic energy derived from T should be consistent with the virial +term computed using all particles. LAMMPS will warn you if you choose +to compute temperature on a subset of particles. + +This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the "fix_modify energy"_fix_modify.html option. The contribution can +also be printed by itself via the keyword {f_fix-ID} in the +"thermo_style custom"_thermo_style.html command. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "asphere" package. + +Any dimension being adjusted by this fix must be periodic. A +dimension whose target pressures are specified as NULL can be +non-periodic or periodic. + +The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. + +[Related commands:] + +"fix npt"_fix_npt.html, "fix nve_asphere"_fix_nve_asphere.html, +"fix_modify"_fix_modify.html + +[Default:] + +The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_nve_dipole.html b/doc/fix_nve_dipole.html new file mode 100644 index 0000000000..aa1fa9d9d2 --- /dev/null +++ b/doc/fix_nve_dipole.html @@ -0,0 +1,42 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

fix nve/dipole command +

+

Syntax: +

+
fix ID group-ID nve/dipole 
+
+ +

Examples: +

+
fix 1 all nve/dipole 
+
+

Description: +

+

Perform constant NVE updates of position, velocity, orientation, and +angular velocity for particles with point dipole moments in the group +each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. +

+

Restrictions: +

+

Can only be used if LAMMPS was built with the "dipole" package. +

+

Related commands: +

+

fix nve +

+

Default: none +

+ diff --git a/doc/fix_nve_dipole.txt b/doc/fix_nve_dipole.txt new file mode 100755 index 0000000000..b78f4c2383 --- /dev/null +++ b/doc/fix_nve_dipole.txt @@ -0,0 +1,37 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nve/dipole command :h3 + +[Syntax:] + +fix ID group-ID nve/dipole :pre + +ID, group-ID are documented in "fix"_fix.html command +nve/dipole = style name of this fix command :ul + +[Examples:] + +fix 1 all nve/dipole :pre + +[Description:] + +Perform constant NVE updates of position, velocity, orientation, and +angular velocity for particles with point dipole moments in the group +each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "dipole" package. + +[Related commands:] + +"fix nve"_fix_nve.html + +[Default:] none diff --git a/doc/fix_nvt_asphere.html b/doc/fix_nvt_asphere.html new file mode 100644 index 0000000000..c8bbee14b2 --- /dev/null +++ b/doc/fix_nvt_asphere.html @@ -0,0 +1,111 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

fix nvt/asphere command +

+

Syntax: +

+
fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ... 
+
+ +

Examples: +

+
fix 1 all nvt/asphere 300.0 300.0 100.0
+fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2 
+
+

Description: +

+

Perform constant NVT integration to update positions, velocities, +and angular velocities each timestep for aspherical or ellipsoidal +particles in the group using a Nose/Hoover temperature thermostat. +V is volume; T is temperature. This creates a system trajectory +consistent with the canonical ensemble. +

+

The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. The Tdamp +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the units command). +

+

In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional drag keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. +

+

This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/asphere", as if this command +had been issued: +

+
compute fix-ID_temp group-ID temp/asphere 
+
+

See the compute temp/asphere command for +details. Note that the ID of the new compute is the fix-ID with +underscore + "temp" appended and the group for the new compute is +the same as the fix group. +

+

Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature +(e.g. its degrees-of-freedom) via the +compute_modify command or print this temperature +during thermodyanmic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. Alternatively, you can directly assign a new +compute (for calculating temeperature) that you have defined to this +fix via the fix_modify command. +

+

This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the fix_modify energy option. The contribution can +also be printed by itself via the keyword f_fix-ID in the +thermo_style custom command. +

+

Restrictions: +

+

Can only be used if LAMMPS was built with the "asphere" package. +

+

The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. +

+

Related commands: +

+

fix nvt, fix nve_asphere, fix +npt_asphere, fix_modify +

+

Default: +

+

The keyword defaults are drag = 0.0. +

+ diff --git a/doc/fix_nvt_asphere.txt b/doc/fix_nvt_asphere.txt new file mode 100755 index 0000000000..7909fee987 --- /dev/null +++ b/doc/fix_nvt_asphere.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nvt/asphere command :h3 + +[Syntax:] + +fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nvt/asphere = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run :l +Tdamp = temperature damping parameter (time units) :l + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} :l + {drag} value = drag factor added to thermostat (0.0 = no drag) :pre +:ule + +[Examples:] + +fix 1 all nvt/asphere 300.0 300.0 100.0 +fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2 :pre + +[Description:] + +Perform constant NVT integration to update positions, velocities, +and angular velocities each timestep for aspherical or ellipsoidal +particles in the group using a Nose/Hoover temperature thermostat. +V is volume; T is temperature. This creates a system trajectory +consistent with the canonical ensemble. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. The {Tdamp} +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the "units"_units.html command). + +In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional {drag} keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. + +This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/asphere", as if this command +had been issued: + +compute fix-ID_temp group-ID temp/asphere :pre + +See the "compute temp/asphere"_compute_temp_asphere.html command for +details. Note that the ID of the new compute is the fix-ID with +underscore + "temp" appended and the group for the new compute is +the same as the fix group. + +Note that this is NOT the compute used by thermodynamic output (see +the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. +This means you can change the attributes of this fix's temperature +(e.g. its degrees-of-freedom) via the +"compute_modify"_compute_modify.html command or print this temperature +during thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate compute-ID. +It also means that changing attributes of {thermo_temp} will have no +effect on this fix. Alternatively, you can directly assign a new +compute (for calculating temeperature) that you have defined to this +fix via the "fix_modify"_fix_modify.html command. + +This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the "fix_modify energy"_fix_modify.html option. The contribution can +also be printed by itself via the keyword {f_fix-ID} in the +"thermo_style custom"_thermo_style.html command. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "asphere" package. + +The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. + +[Related commands:] + +"fix nvt"_fix_nvt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix +npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html + +[Default:] + +The keyword defaults are drag = 0.0. diff --git a/doc/fix_nvt_sllod.html b/doc/fix_nvt_sllod.html new file mode 100644 index 0000000000..18a750009e --- /dev/null +++ b/doc/fix_nvt_sllod.html @@ -0,0 +1,144 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

fix nvt/sllod command +

+

Syntax: +

+
fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ... 
+
+ +

Examples: +

+
fix 1 all nvt/sllod 300.0 300.0 100.0
+fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2 
+
+

Description: +

+

Perform constant NVT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat. V is volume; T is temperature. This creates a system +trajectory consistent with the canonical ensemble. +

+

This thermostat is used for a simulation box that is changing size +and/or shape, for example in a non-equilibrium MD (NEMD) simulation. +The size/shape change is induced by use of the fix +deform command, so each point in the simulation box +can be thought of as having a "streaming" velocity. This +position-dependent streaming velocity is subtracted from each atom's +actual velocity to yield a thermal velocity which is used for +temperature computation and thermostatting. For example, if the box +is being sheared in x, relative to y, then points at the bottom of the +box (low y) have a small x velocity, while points at the top of the +box (hi y) have a large x velocity. These velocities do not +contribute to the thermal "temperature" of the atom. +

+

IMPORTANT NOTE: Fix deform has an option for +remapping either atom coordinates or velocities to the changing +simulation box. To use fix nvt/sllod, fix deform should NOT remap +atom positions, because fix nvt/sllod adjusts the atom positions and +velocities to create a velocity profile that matches the changing box +size/shape. Fix deform SHOUDLD remap atom velocities when atoms cross +periodic boundaries since that is consistent with maintaining the +velocity profile created by fix nvt/sllod. LAMMPS will warn you if +this setting is not consistent. +

+

The SLLOD equations of motion coupled to a Nose/Hoover thermostat are +discussed in (Tuckerman) (eqs 4 and 5), which is what is +implemented in LAMMPS in a velocity Verlet formulation. +

+

The desired temperature at each timestep is a ramped value during the +run from Tstart to Tstop. The run command documents +how to make the ramping take place across multiple runs. The Tdamp +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the units command). +

+

In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional drag keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. +

+

This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/deform", as if this command had +been issued: +

+
compute fix-ID_temp group-ID temp/deform 
+
+

See the compute temp/deform command for +details. Note that the ID of the new compute is the fix-ID with +underscore + "temp" appended and the group for the new compute is the +same as the fix group. +

+

Note that this is NOT the compute used by thermodynamic output (see +the thermo_style command) with ID = thermo_temp. +This means you can change the attributes of this fix's temperature +(e.g. its degrees-of-freedom) via the +compute_modify command or print this temperature +during thermodyanmic output via the thermo_style +custom command using the appropriate compute-ID. +It also means that changing attributes of thermo_temp will have no +effect on this fix. Alternatively, you can directly assign a new +compute (for calculating temeperature) that you have defined to this +fix via the fix_modify command. +

+

This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the fix_modify energy option. The contribution can +also be printed by itself via the keyword f_fix-ID in the +thermo_style custom command. +

+

Restrictions: +

+

The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. +

+

Related commands: +

+

fix nve, fix npt, fix +npt, fix temp/rescale, fix +langevin, fix_modify, +temperature +

+

Default: +

+

The keyword defaults are drag = 0.0. +

+
+ + + +

(Tuckerman) Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, +106, 5615 (1997). +

+ diff --git a/doc/fix_nvt_sllod.txt b/doc/fix_nvt_sllod.txt new file mode 100644 index 0000000000..821d212c95 --- /dev/null +++ b/doc/fix_nvt_sllod.txt @@ -0,0 +1,132 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nvt/sllod command :h3 + +[Syntax:] + +fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nvt/sllod = style name of this fix command :l +Tstart,Tstop = desired temperature at start/end of run :l +Tdamp = temperature damping parameter (time units) :l + +zero or more keyword/value pairs may be appended to the args :l +keyword = {drag} :l + {drag} value = drag factor added to thermostat (0.0 = no drag) :pre +:ule + +[Examples:] + +fix 1 all nvt/sllod 300.0 300.0 100.0 +fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2 :pre + +[Description:] + +Perform constant NVT integration to update positions and velocities +each timestep for atoms in the group using a Nose/Hoover temperature +thermostat. V is volume; T is temperature. This creates a system +trajectory consistent with the canonical ensemble. + +This thermostat is used for a simulation box that is changing size +and/or shape, for example in a non-equilibrium MD (NEMD) simulation. +The size/shape change is induced by use of the "fix +deform"_fix_deform.html command, so each point in the simulation box +can be thought of as having a "streaming" velocity. This +position-dependent streaming velocity is subtracted from each atom's +actual velocity to yield a thermal velocity which is used for +temperature computation and thermostatting. For example, if the box +is being sheared in x, relative to y, then points at the bottom of the +box (low y) have a small x velocity, while points at the top of the +box (hi y) have a large x velocity. These velocities do not +contribute to the thermal "temperature" of the atom. + +IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for +remapping either atom coordinates or velocities to the changing +simulation box. To use fix nvt/sllod, fix deform should NOT remap +atom positions, because fix nvt/sllod adjusts the atom positions and +velocities to create a velocity profile that matches the changing box +size/shape. Fix deform SHOUDLD remap atom velocities when atoms cross +periodic boundaries since that is consistent with maintaining the +velocity profile created by fix nvt/sllod. LAMMPS will warn you if +this setting is not consistent. + +The SLLOD equations of motion coupled to a Nose/Hoover thermostat are +discussed in "(Tuckerman)"_#Tuckerman (eqs 4 and 5), which is what is +implemented in LAMMPS in a velocity Verlet formulation. + +The desired temperature at each timestep is a ramped value during the +run from {Tstart} to {Tstop}. The "run"_run.html command documents +how to make the ramping take place across multiple runs. The {Tdamp} +parameter is specified in time units and determines how rapidly the +temperature is relaxed. For example, a value of 100.0 means to relax +the temperature in a timespan of (roughly) 100 time units (tau or +fmsec or psec - see the "units"_units.html command). + +In some cases (e.g. for solids) the temperature of the system can +oscillate undesirably when a Nose/Hoover thermostat is applied. The +optional {drag} keyword will damp these oscillations, although it +alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the +Nose/Hoover formalism unchanged. A non-zero value adds a drag term; +the larger the value specified, the greater the damping effect. +Performing a short run and monitoring the temperature is the best way +to determine if the drag term is working. Typically a value between +0.2 to 2.0 is sufficient to damp oscillations after a few periods. + +This fix computes a temperature each timestep. To do this, the fix +creates its own compute of style "temp/deform", as if this command had +been issued: + +compute fix-ID_temp group-ID temp/deform :pre + +See the "compute temp/deform"_compute_temp_deform.html command for +details. Note that the ID of the new compute is the fix-ID with +underscore + "temp" appended and the group for the new compute is the +same as the fix group. + +Note that this is NOT the compute used by thermodynamic output (see +the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. +This means you can change the attributes of this fix's temperature +(e.g. its degrees-of-freedom) via the +"compute_modify"_compute_modify.html command or print this temperature +during thermodyanmic output via the "thermo_style +custom"_thermo_style.html command using the appropriate compute-ID. +It also means that changing attributes of {thermo_temp} will have no +effect on this fix. Alternatively, you can directly assign a new +compute (for calculating temeperature) that you have defined to this +fix via the "fix_modify"_fix_modify.html command. + +This fix makes a contribution to the potential energy of the system +that can be included in thermodynamic output of potential energy using +the "fix_modify energy"_fix_modify.html option. The contribution can +also be printed by itself via the keyword {f_fix-ID} in the +"thermo_style custom"_thermo_style.html command. + +[Restrictions:] + +The final Tstop cannot be 0.0 since it would make the target T = 0.0 +at some timestep during the simulation which is not allowed in +the Nose/Hoover formulation. + +[Related commands:] + +"fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix +npt"_fix_npt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix +langevin"_fix_langevin.html, "fix_modify"_fix_modify.html, +"temperature"_temperature.html + +[Default:] + +The keyword defaults are drag = 0.0. + +:line + +:link(Tuckerman) +[(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, +106, 5615 (1997). diff --git a/doc/pair_colloid.html b/doc/pair_colloid.html new file mode 100644 index 0000000000..79bf5498d8 --- /dev/null +++ b/doc/pair_colloid.html @@ -0,0 +1,137 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

pair_style colloid command +

+

Syntax: +

+
pair_style colloid cutoff 
+
+ +

Examples: +

+
pair_style colloid 10.0
+pair_coeff * *  25 1.0 10.0 10.0
+pair_coeff 1 1 144 1.0 0.0 0.0 3.0
+pair_coeff 1 2  75.398 1.0 0.0 10.0 9.0
+pair_coeff 2 2  39.478 1.0 10.0 10.0 25.0 
+
+

Description: +

+

Style colloid computes pairwise interactions between large colloidal +particles and small solvent particles using 3 formulas. A colloidal +particle has a size > sigma; a solvent particle is the usual +Lennard-Jones particle of size sigma. +

+

The colloid-colloid interaction energy is given by +

+
+
+

A is the Hamaker constant, a1 and a2 are the radii of the two +colloidal particles, and Rc is the cutoff. This equation results from +describing each colloidal particle as an integrated collection of +Lennard-Jones particles of size sigma and is derived in +(Everaers). +

+

The colloid-solvent interaction energy is given by +

+
+
+

A is the Hamaker constant, a is the radius of the colloidal particle, +and Rc is the cutoff. This formula is derived from the +colloid-colloid interaction, letting one of the particle sizes go to +zero. +

+

The solvent-solvent interaction energy is given by the usual +Lennard-Jones formula +

+
+
+

which results from letting both particle sizes go to zero. +

+

The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

+ +

A is the energy prefactor and should typically be set as follows: +

+ +

Sigma is the size of the solvent particle or the constituent particles +integrated over in the colloidal particle and should typically be set +as follows: +

+ +

Thus typically Sigma_cs = 1.0, unless the solvent particle's size != +1.0. +

+

D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in +the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 +and d2 > 0, then the pair interacts via the colloid-colloid formula +above. If d1 = 0 and d2 = 0, then the pair interacts via the +solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones +particle of size sigma. If either d1 = 0 or d2 = 0 and the other is +larger, then the pair interacts via the colloid-solvent formula. +

+

Note that the diameter of a particular particle type may appear in +multiple pair_coeff commands, as it interacts with other particle +types. You should insure the particle diameter is specified +consistently each time it appears. +

+

The last coefficient is optional. If not specified, the global cutoff +specified in the pair_style command is used. However, you typically +want different cutoffs for interactions between different particle +sizes. E.g. if colloidal particles of diameter 10 are used with +solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 +would correspond to a colloid-colloid cutoff of 25. A good +rule-of-thumb is to use a colloid-solvent cutoff that is half the big +diamter + 4 times the small diamter. I.e. 9 = 5 + 4 for the +colloid-solvent cutoff in this case. +

+

If a pair_coeff command is not specified for I != J, then the +coefficients are mixed according the mixing rules defined by the +pair_modify command. The prefactor A is mixed like +the Lennard-Jones epsilon; sigma,d1,d2 are all mixed like the +Lennard-Jones sigma. +

+

Restrictions: +

+

The colloid style is part of the "colloid" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info. +

+

Related commands: +

+

pair_coeff +

+

Default: none +

+
+ + + +

(Everaers) Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). +

+ diff --git a/doc/pair_colloid.txt b/doc/pair_colloid.txt new file mode 100644 index 0000000000..d7a263069a --- /dev/null +++ b/doc/pair_colloid.txt @@ -0,0 +1,131 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style colloid command :h3 + +[Syntax:] + +pair_style colloid cutoff :pre + +cutoff = global cutoff for colloidal interactions (distance units) :ul + +[Examples:] + +pair_style colloid 10.0 +pair_coeff * * 25 1.0 10.0 10.0 +pair_coeff 1 1 144 1.0 0.0 0.0 3.0 +pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0 +pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 :pre + +[Description:] + +Style {colloid} computes pairwise interactions between large colloidal +particles and small solvent particles using 3 formulas. A colloidal +particle has a size > sigma; a solvent particle is the usual +Lennard-Jones particle of size sigma. + +The colloid-colloid interaction energy is given by + +:c,image(Eqs/pair_colloid_cc.jpg) + +A is the Hamaker constant, a1 and a2 are the radii of the two +colloidal particles, and Rc is the cutoff. This equation results from +describing each colloidal particle as an integrated collection of +Lennard-Jones particles of size sigma and is derived in +"(Everaers)"_#Everaers. + +The colloid-solvent interaction energy is given by + +:c,image(Eqs/pair_colloid_cs.jpg) + +A is the Hamaker constant, a is the radius of the colloidal particle, +and Rc is the cutoff. This formula is derived from the +colloid-colloid interaction, letting one of the particle sizes go to +zero. + +The solvent-solvent interaction energy is given by the usual +Lennard-Jones formula + +:c,image(Eqs/pair_colloid_ss.jpg) + +which results from letting both particle sizes go to zero. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +A (energy units) +sigma (distance units) +d1 (distance units) +d2 (distance units) +cutoff (distance units) :ul + +A is the energy prefactor and should typically be set as follows: + +A_cc = colloid/colloid = 4 pi^2 = 39.5 +A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) +A_cs = colloid/solvent = sqrt(A_cc*A_ss) :ul + +Sigma is the size of the solvent particle or the constituent particles +integrated over in the colloidal particle and should typically be set +as follows: + +Sigma_cc = colloid/colloid = 1.0 +Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is +Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma :ul + +Thus typically Sigma_cs = 1.0, unless the solvent particle's size != +1.0. + +D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in +the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 +and d2 > 0, then the pair interacts via the colloid-colloid formula +above. If d1 = 0 and d2 = 0, then the pair interacts via the +solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones +particle of size sigma. If either d1 = 0 or d2 = 0 and the other is +larger, then the pair interacts via the colloid-solvent formula. + +Note that the diameter of a particular particle type may appear in +multiple pair_coeff commands, as it interacts with other particle +types. You should insure the particle diameter is specified +consistently each time it appears. + +The last coefficient is optional. If not specified, the global cutoff +specified in the pair_style command is used. However, you typically +want different cutoffs for interactions between different particle +sizes. E.g. if colloidal particles of diameter 10 are used with +solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 +would correspond to a colloid-colloid cutoff of 25. A good +rule-of-thumb is to use a colloid-solvent cutoff that is half the big +diamter + 4 times the small diamter. I.e. 9 = 5 + 4 for the +colloid-solvent cutoff in this case. + +If a pair_coeff command is not specified for I != J, then the +coefficients are mixed according the mixing rules defined by the +"pair_modify"_pair_modify.html command. The prefactor A is mixed like +the Lennard-Jones epsilon; sigma,d1,d2 are all mixed like the +Lennard-Jones sigma. + +[Restrictions:] + +The {colloid} style is part of the "colloid" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Everaers) +[(Everaers)] Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). diff --git a/doc/pair_dipole.html b/doc/pair_dipole.html new file mode 100644 index 0000000000..046aebc7dc --- /dev/null +++ b/doc/pair_dipole.html @@ -0,0 +1,105 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

pair_style dipole/cut command +

+

Syntax: +

+
pair_style dipole/cut cutoff (cutoff2) 
+
+ +

Examples: +

+
pair_style dipole/cut 10.0
+pair_coeff * * 1.0 1.0 
+pair_coeff 2 3 1.0 1.0 2.5 4.0 
+
+

Description: +

+

Style dipole/cut computes interactions bewteen pairs of particles +that each have a charge and/or a point dipole moment. In addition to +the usual Lennard-Jones interaction between the particles (Elj) the +charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) +interactions are computed by these formulas for the energy (E), force +(F), and torque (T) between particles I and J. +

+
+
+

where qi and qj are the charges on the two particles, pi and pj are +the dipole moment vectors of the two particles, r is their separation +distance, and the vector r = Ri - Rj is the separation vector between +the two particles. Note that Eqq and Fqq are simply Coulombic energy +and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the +torques do not act symmetrically. These formulas are discussed in +(Allen) and in (Toukmaji). +

+

If one cutoff is specified in the pair_style command, it is used for +both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, +they are used as cutoffs for the LJ and Coulombic (q,p) terms +respectively. +

+

Use of this pair style requires the use of the fix +nve/dipole command to integrate rotation of the +dipole moments. Additionally, atom_style dipole +should be used since it defines the point dipoles and their rotational +state. The magnitude of the dipole moment for each type of particle +can be defined by the dipole command or in the "Dipoles" +section of the data file read in by the read_data +command. Their initial orientation can be defined by the set +dipole command or in the "Atoms" section of the data file. +

+

The following coefficients must be defined for each pair of atoms +types via the pair_coeff command as in the examples +above, or in the data file or restart files read by the +read_data or read_restart +commands: +

+ +

The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both LJ +and Coulombic interactions for this type pair. If both coefficients +are specified, they are used as the LJ and Coulombic cutoffs for this +type pair. +

+

Restrictions: +

+

Can only be used if LAMMPS was built with the "dipole" package. +

+

The use of this potential requires additional fixes as described +above. +

+

Related commands: +

+

pair_coeff, fix nve/dipole, +compute temp/dipole +

+

Default: none +

+
+ + + +

(Allen) Allen and Tildesley, Computer Simulation of Liquids, +Clarendon Press, Oxford, 1987. +

+ + +

(Toukmaji) Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, +10913 (2000). +

+ diff --git a/doc/pair_dipole.txt b/doc/pair_dipole.txt new file mode 100755 index 0000000000..5d6662902c --- /dev/null +++ b/doc/pair_dipole.txt @@ -0,0 +1,98 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style dipole/cut command :h3 + +[Syntax:] + +pair_style dipole/cut cutoff (cutoff2) :pre + +cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) +cutoff2 = global cutoff for Coulombic (optional) (distance units) :ul + +[Examples:] + +pair_style dipole/cut 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre + +[Description:] + +Style {dipole/cut} computes interactions bewteen pairs of particles +that each have a charge and/or a point dipole moment. In addition to +the usual Lennard-Jones interaction between the particles (Elj) the +charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) +interactions are computed by these formulas for the energy (E), force +(F), and torque (T) between particles I and J. + +:c,image(Eqs/pair_dipole.jpg) + +where qi and qj are the charges on the two particles, pi and pj are +the dipole moment vectors of the two particles, r is their separation +distance, and the vector r = Ri - Rj is the separation vector between +the two particles. Note that Eqq and Fqq are simply Coulombic energy +and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the +torques do not act symmetrically. These formulas are discussed in +"(Allen)"_#Allen and in "(Toukmaji)"_#Toukmaji. + +If one cutoff is specified in the pair_style command, it is used for +both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, +they are used as cutoffs for the LJ and Coulombic (q,p) terms +respectively. + +Use of this pair style requires the use of the "fix +nve/dipole"_fix_nve_dipole.html command to integrate rotation of the +dipole moments. Additionally, "atom_style dipole"_atom_style.html +should be used since it defines the point dipoles and their rotational +state. The magnitude of the dipole moment for each type of particle +can be defined by the "dipole"_dipole.html command or in the "Dipoles" +section of the data file read in by the "read_data"_read_data.html +command. Their initial orientation can be defined by the "set +dipole"_set.html command or in the "Atoms" section of the data file. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +epsilon (energy units) +sigma (distance units) +cutoff1 (distance units) +cutoff2 (distance units) :ul + +The latter 2 coefficients are optional. If not specified, the global +LJ and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both LJ +and Coulombic interactions for this type pair. If both coefficients +are specified, they are used as the LJ and Coulombic cutoffs for this +type pair. + +[Restrictions:] + +Can only be used if LAMMPS was built with the "dipole" package. + +The use of this potential requires additional fixes as described +above. + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "fix nve/dipole"_fix_nve_dipole.html, +"compute temp/dipole"_compute_temp_dipole.html + +[Default:] none + +:line + +:link(Allen) +[(Allen)] Allen and Tildesley, Computer Simulation of Liquids, +Clarendon Press, Oxford, 1987. + +:link(Toukmaji) +[(Toukmaji)] Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, +10913 (2000).