diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index e86bcf905a..6b07e16612 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -21,7 +21,7 @@
  • N = # of atoms or molecules to insert -
  • type = atom type to assign to inserted atoms (for atom insertion) +
  • type = atom type to assign to inserted atoms (offset for moleclue insertion)
  • M = insert a single atom or molecule every M steps @@ -35,6 +35,8 @@ region-ID = ID of region to use as insertion volume mol value = template-ID template-ID = ID of molecule template specified in a separate molecule command + rigid value = fix-ID + fix-ID = ID of fix rigid/small command id value = max or next max = atom ID for new atom(s) is max ID of all current atoms plus one next = atom ID for new atom(s) increments by one for every deposition @@ -78,9 +80,11 @@ this doc page, a single inserted atom or molecule is referred to as a "particle".

    If inserted particles are individual atoms, they are assigned the -specified atom type. For molecules the specified type is ignored, and -the type of each atom in the inserted molecule is specified in the -file read by the molecule command. +specified atom type. If they are molecules, the type of each atom in +the inserted molecule is specified in the file read by the +molecule command, and those values are added to the +specified atom type. E.g. if type = 2, and the file specifies atom +types 1,2,3, then the inserted molecule will have atom types 3,4,5.

    All atoms in the inserted particle are assigned to two groups: the default group "all" and the group specified in the fix deposit command @@ -121,6 +125,11 @@ molecule file. See the molecule command for detai The only settings required to be in this file are the coordinates and types of atoms in the molecule.

    +

    If you wish to insert molecules via the mol keyword, that will be +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script. +

    Each timestep a particle is inserted, the coordinates for its atoms are chosen as follows. For insertion of individual atoms, the "position" referred to in the following description is the coordinate diff --git a/doc/fix_deposit.txt b/doc/fix_deposit.txt index 6d2dc9161a..36f07972aa 100644 --- a/doc/fix_deposit.txt +++ b/doc/fix_deposit.txt @@ -15,7 +15,7 @@ fix ID group-ID deposit N type M seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l deposit = style name of this fix command :l N = # of atoms or molecules to insert :l -type = atom type to assign to inserted atoms (for atom insertion) :l +type = atom type to assign to inserted atoms (offset for moleclue insertion) :l M = insert a single atom or molecule every M steps :l seed = random # seed (positive integer) :l one or more keyword/value pairs may be appended to args :l @@ -24,6 +24,8 @@ keyword = {region} or {mol} or {id} or {global} or {local} or {near} or {attempt region-ID = ID of region to use as insertion volume {mol} value = template-ID template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command + {rigid} value = fix-ID + fix-ID = ID of "fix rigid/small"_fix_rigid.html command {id} value = {max} or {next} max = atom ID for new atom(s) is max ID of all current atoms plus one next = atom ID for new atom(s) increments by one for every deposition @@ -66,9 +68,11 @@ this doc page, a single inserted atom or molecule is referred to as a "particle". If inserted particles are individual atoms, they are assigned the -specified atom type. For molecules the specified type is ignored, and -the type of each atom in the inserted molecule is specified in the -file read by the "molecule"_molecule.html command. +specified atom type. If they are molecules, the type of each atom in +the inserted molecule is specified in the file read by the +"molecule"_molecule.html command, and those values are added to the +specified atom type. E.g. if {type} = 2, and the file specifies atom +types 1,2,3, then the inserted molecule will have atom types 3,4,5. All atoms in the inserted particle are assigned to two groups: the default group "all" and the group specified in the fix deposit command @@ -109,6 +113,11 @@ molecule file. See the "molecule"_molecule.html command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule. +If you wish to insert molecules via the {mol} keyword, that will be +treated as rigid bodies, use the {rigid} keyword, specifying as its +value the ID of a separate "fix rigid/small"_fix_rigid_small.html +command which also appears in your input script. + Each timestep a particle is inserted, the coordinates for its atoms are chosen as follows. For insertion of individual atoms, the "position" referred to in the following description is the coordinate diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 634bf15ff2..4ef1378d12 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -21,20 +21,16 @@

  • N = # of atoms to insert -
  • type = atom type to assign to inserted atoms +
  • type = atom type to assign to inserted atoms (offset for molecule insertion)
  • seed = random # seed (positive integer)
  • one or more keyword/value pairs may be appended to args -
  • keyword = region or mol or rigid or diam or dens or vol or rate or vel +
  • keyword = region or diam or dens or vol or rate or vel or mol or rigid or shake
      region value = region-ID
         region-ID = ID of region to use as insertion volume
    -  mol value = template-ID
    -    template-ID = ID of molecule template specified in a separate molecule command
    -  rigid value = fix-ID
    -    fix-ID = ID of fix rigid/small command
       diam values = dstyle args
         dstyle = one or range or poly
           one args = D
    @@ -58,6 +54,12 @@
         vz = z velocity (3d) assigned to inserted particles (velocity units)
         vy = y velocity (2d) assigned to inserted particles (velocity units) 
     
    + mol value = template-ID + template-ID = ID of molecule template specified in a separate molecule command + rigid value = fix-ID + fix-ID = ID of fix rigid/small command + shake value = fix-ID + fix-ID = ID of fix shake command

    Examples: @@ -77,9 +79,11 @@ gravity. For the remainder of this doc page, a single inserted atom or molecule is referred to as a "particle".

    If inserted particles are individual atoms, they are assigned the -specified atom type. For molecules the specified type is ignored, and -the type of each atom in the inserted molecule is specified in the -file read by the molecule command. +specified atom type. If they are molecules, the type of each atom in +the inserted molecule is specified in the file read by the +molecule command, and those values are added to the +specified atom type. E.g. if type = 2, and the file specifies atom +types 1,2,3, then the inserted molecule will have atom types 3,4,5.

    All atoms in the inserted particle are assigned to two groups: the default group "all" and the group specified in the fix pour command @@ -102,10 +106,14 @@ required to be in this file are the coordinates and types of atoms in the molecule.

    If you wish to insert molecules via the mol keyword, that will be -treated as rigid bodies, you can first specify a fix -rigid/small command, and then use the rigid keyword -with this command, specifying the ID of the fix rigid/small command as -its value. +treated as rigid bodies, use the rigid keyword, specifying as its +value the ID of a separate fix rigid/small +command which also appears in your input script. +

    +

    If you wish to insert molecules via the mol keyword, that will have +their bonds or angles constrained via SHAKE, use the shake keyword, +specifying as its value the ID of a separate fix +shake command which also appears in your input script.

    Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If diff --git a/doc/fix_pour.txt b/doc/fix_pour.txt index 660cf4e818..7dc49742dd 100644 --- a/doc/fix_pour.txt +++ b/doc/fix_pour.txt @@ -15,16 +15,12 @@ fix ID group-ID pour N type seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l pour = style name of this fix command :l N = # of atoms to insert :l -type = atom type to assign to inserted atoms :l +type = atom type to assign to inserted atoms (offset for molecule insertion) :l seed = random # seed (positive integer) :l one or more keyword/value pairs may be appended to args :l -keyword = {region} or {mol} or {rigid} or {diam} or {dens} or {vol} or {rate} or {vel} :l +keyword = {region} or {diam} or {dens} or {vol} or {rate} or {vel} or {mol} or {rigid} or {shake} :l {region} value = region-ID region-ID = ID of region to use as insertion volume - {mol} value = template-ID - template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command - {rigid} value = fix-ID - fix-ID = ID of "fix rigid/small"_fix_rigid.html command {diam} values = dstyle args dstyle = {one} or {range} or {poly} {one} args = D @@ -47,6 +43,12 @@ keyword = {region} or {mol} or {rigid} or {diam} or {dens} or {vol} or {rate} or vylo,vyhi = range of y velocities for inserted particles (velocity units) vz = z velocity (3d) assigned to inserted particles (velocity units) vy = y velocity (2d) assigned to inserted particles (velocity units) :pre + {mol} value = template-ID + template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command + {rigid} value = fix-ID + fix-ID = ID of "fix rigid/small"_fix_rigid.html command + {shake} value = fix-ID + fix-ID = ID of "fix shake"_fix_shake.html command :ule [Examples:] @@ -66,9 +68,11 @@ gravity. For the remainder of this doc page, a single inserted atom or molecule is referred to as a "particle". If inserted particles are individual atoms, they are assigned the -specified atom type. For molecules the specified type is ignored, and -the type of each atom in the inserted molecule is specified in the -file read by the "molecule"_molecule.html command. +specified atom type. If they are molecules, the type of each atom in +the inserted molecule is specified in the file read by the +"molecule"_molecule.html command, and those values are added to the +specified atom type. E.g. if {type} = 2, and the file specifies atom +types 1,2,3, then the inserted molecule will have atom types 3,4,5. All atoms in the inserted particle are assigned to two groups: the default group "all" and the group specified in the fix pour command @@ -91,10 +95,14 @@ required to be in this file are the coordinates and types of atoms in the molecule. If you wish to insert molecules via the {mol} keyword, that will be -treated as rigid bodies, you can first specify a "fix -rigid/small"_fix_rigid.html command, and then use the {rigid} keyword -with this command, specifying the ID of the fix rigid/small command as -its value. +treated as rigid bodies, use the {rigid} keyword, specifying as its +value the ID of a separate "fix rigid/small"_fix_rigid_small.html +command which also appears in your input script. + +If you wish to insert molecules via the {mol} keyword, that will have +their bonds or angles constrained via SHAKE, use the {shake} keyword, +specifying as its value the ID of a separate "fix +shake"_fix_shake.html command which also appears in your input script. Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. If diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 7aab3b3e45..f37463dd49 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -153,7 +153,7 @@ the distance. to predict. The best way to decide is to perform a short test run. Both variants should give identical numerical answers for short runs. Long runs should give statistically similar results, but round-off -differences will accumulate to produce divergent trajectories. +differences may accumulate to produce divergent trajectories.

    IMPORTANT NOTE: You should not update the atoms in rigid bodies via other time-integration fixes (e.g. fix nve, fix @@ -248,10 +248,14 @@ means all types from m to n (inclusive). Note that you can use the particular rigid body has its component flags set multiple times, the settings from the final keyword are used.

    -

    For computational efficiency, you may wish to turn off pairwise and -bond interactions within each rigid body, as they no longer contribute -to the motion. The neigh_modify exclude and -delete_bonds commands are used to do this. +

    IMPORTANT NOTE: For computational efficiency, you may wish to turn off +pairwise and bond interactions within each rigid body, as they no +longer contribute to the motion. The neigh_modify +exclude and delete_bonds +commands are used to do this. If the rigid bodies have strongly +overalapping atoms, you may need to turn off these interactions to +avoid numerical problems due to large equal/opposite intra-body forces +swamping the contribution of small inter-body forces.

    For computational efficiency, you should typically define one fix rigid or fix rigid/small command which includes all the desired rigid @@ -448,17 +452,17 @@ associated with the fix rigid commands.


    -

    The mol keyword can only be used with fix rigid/small. It should -be used when other commands, such as fix deposit or -fix pour, which will add rigid bodies on-the-fly -during a simulation. You specify a template-ID previously defined -using the molecule command, which reads a file that -defines the molecule. You must use the same template-ID that the -command adding rigid bodies uses. The coordinates, atom types, atom -diameters, center-of-mass, and moments of inertia can be specified in -the molecule file. See the molecule command for -details. The only settings required to be in this file are the -coordinates and types of atoms in the molecule. +

    The mol keyword can only be used with fix rigid/small. It should be +used when other commands, such as fix deposit or +fix pour, add rigid bodies on-the-fly during a +simulation. You specify a template-ID previously defined using the +molecule command, which reads a file that defines the +molecule. You must use the same template-ID that the command adding +rigid bodies uses. The coordinates, atom types, atom diameters, +center-of-mass, and moments of inertia can be specified in the +molecule file. See the molecule command for details. +The only settings required to be in this file are the coordinates and +types of atoms in the molecule.


    diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index 06bae4b598..ff9cda7483 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -139,7 +139,7 @@ Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. Both variants should give identical numerical answers for short runs. Long runs should give statistically similar results, but round-off -differences will accumulate to produce divergent trajectories. +differences may accumulate to produce divergent trajectories. IMPORTANT NOTE: You should not update the atoms in rigid bodies via other time-integration fixes (e.g. "fix nve"_fix_nve.html, "fix @@ -234,10 +234,14 @@ means all types from m to n (inclusive). Note that you can use the particular rigid body has its component flags set multiple times, the settings from the final keyword are used. -For computational efficiency, you may wish to turn off pairwise and -bond interactions within each rigid body, as they no longer contribute -to the motion. The "neigh_modify exclude"_neigh_modify.html and -"delete_bonds"_delete_bonds.html commands are used to do this. +IMPORTANT NOTE: For computational efficiency, you may wish to turn off +pairwise and bond interactions within each rigid body, as they no +longer contribute to the motion. The "neigh_modify +exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html +commands are used to do this. If the rigid bodies have strongly +overalapping atoms, you may need to turn off these interactions to +avoid numerical problems due to large equal/opposite intra-body forces +swamping the contribution of small inter-body forces. For computational efficiency, you should typically define one fix rigid or fix rigid/small command which includes all the desired rigid @@ -434,17 +438,17 @@ associated with the fix rigid commands. :line -The {mol} keyword can only be used with fix rigid/small. It should -be used when other commands, such as "fix deposit"_fix_deposit.html or -"fix pour"_fix_pour.html, which will add rigid bodies on-the-fly -during a simulation. You specify a {template-ID} previously defined -using the "molecule"_molecule.html command, which reads a file that -defines the molecule. You must use the same {template-ID} that the -command adding rigid bodies uses. The coordinates, atom types, atom -diameters, center-of-mass, and moments of inertia can be specified in -the molecule file. See the "molecule"_molecule.html command for -details. The only settings required to be in this file are the -coordinates and types of atoms in the molecule. +The {mol} keyword can only be used with fix rigid/small. It should be +used when other commands, such as "fix deposit"_fix_deposit.html or +"fix pour"_fix_pour.html, add rigid bodies on-the-fly during a +simulation. You specify a {template-ID} previously defined using the +"molecule"_molecule.html command, which reads a file that defines the +molecule. You must use the same {template-ID} that the command adding +rigid bodies uses. The coordinates, atom types, atom diameters, +center-of-mass, and moments of inertia can be specified in the +molecule file. See the "molecule"_molecule.html command for details. +The only settings required to be in this file are the coordinates and +types of atoms in the molecule. :line diff --git a/doc/fix_shake.html b/doc/fix_shake.html index 29b130866f..5990726912 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -15,7 +15,7 @@

    Syntax:

    -
    fix ID group-ID shake tol iter N keyword values ... 
    +
    fix ID group-ID shake tol iter N constraint values ... keyword value ... 
     

    Examples:

    fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2
    -fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 
    +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31
    +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol 
     

    Description:

    @@ -71,17 +79,17 @@ also constrained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer chain.

    -

    The b keyword lists bond types that will be constrained. The t -keyword lists atom types. All bonds connected to an atom of the -specified type will be constrained. The m keyword lists atom +

    The b constraint lists bond types that will be constrained. The t +constraint lists atom types. All bonds connected to an atom of the +specified type will be constrained. The m constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The a keyword lists angle types. If both bonds in -the angle are constrained then the angle will also be constrained if -its type is in the list. +fix_shake.cpp). The a constraint lists angle types. If both bonds +in the angle are constrained then the angle will also be constrained +if its type is in the list.

    -

    For all keywords, a particular bond is only constrained if both atoms -in the bond are in the group specified with the SHAKE fix. +

    For all constraints, a particular bond is only constrained if both +atoms in the bond are in the group specified with the SHAKE fix.

    The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE @@ -101,6 +109,20 @@ which add or change forces (to atoms that fix shake operates on).


    +

    The mol keyword should be used when other commands, such as fix +deposit or fix pour, add molecules +on-the-fly during a simulation, and you wish to contrain the new +molecules via SHAKE. You specify a template-ID previously defined +using the molecule command, which reads a file that +defines the molecule. You must use the same template-ID that the +command adding molecules uses. The coordinates, atom types, special +bond restrictions, and SHAKE info can be specified in the molecule +file. See the molecule command for details. The only +settings required to be in this file (by this command) are the SHAKE +info of atoms in the molecule. +

    +
    +

    Styles with a cuda suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in diff --git a/doc/fix_shake.txt b/doc/fix_shake.txt index 1efa2dac4b..24dffd46cc 100644 --- a/doc/fix_shake.txt +++ b/doc/fix_shake.txt @@ -11,25 +11,30 @@ fix shake/cuda command :h3 [Syntax:] -fix ID group-ID shake tol iter N keyword values ... :pre +fix ID group-ID shake tol iter N constraint values ... keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l shake = style name of this fix command :l tol = accuracy tolerance of SHAKE solution :l iter = max # of iterations in each SHAKE solution :l N = print SHAKE statistics every this many timesteps (0 = never) :l -one or more keyword/value pairs are appended :l -keyword = {b} or {a} or {t} or {m} :l +one or more constraint/value pairs are appended :l +constraint = {b} or {a} or {t} or {m} :l {b} values = one or more bond types {a} values = one or more angle types {t} values = one or more atom types {m} value = one or more mass values :pre +zero or more keyword/value pairs may be appended :l +keyword = {mol} :l + {mol} value = template-ID + template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command :pre :ule [Examples:] fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 -fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 :pre +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 +fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol :pre [Description:] @@ -59,17 +64,17 @@ also constrained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer chain. -The {b} keyword lists bond types that will be constrained. The {t} -keyword lists atom types. All bonds connected to an atom of the -specified type will be constrained. The {m} keyword lists atom +The {b} constraint lists bond types that will be constrained. The {t} +constraint lists atom types. All bonds connected to an atom of the +specified type will be constrained. The {m} constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The {a} keyword lists angle types. If both bonds in -the angle are constrained then the angle will also be constrained if -its type is in the list. +fix_shake.cpp). The {a} constraint lists angle types. If both bonds +in the angle are constrained then the angle will also be constrained +if its type is in the list. -For all keywords, a particular bond is only constrained if both atoms -in the bond are in the group specified with the SHAKE fix. +For all constraints, a particular bond is only constrained if both +atoms in the bond are in the group specified with the SHAKE fix. The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE @@ -89,6 +94,20 @@ which add or change forces (to atoms that fix shake operates on). :line +The {mol} keyword should be used when other commands, such as "fix +deposit"_fix_deposit.html or "fix pour"_fix_pour.html, add molecules +on-the-fly during a simulation, and you wish to contrain the new +molecules via SHAKE. You specify a {template-ID} previously defined +using the "molecule"_molecule.html command, which reads a file that +defines the molecule. You must use the same {template-ID} that the +command adding molecules uses. The coordinates, atom types, special +bond restrictions, and SHAKE info can be specified in the molecule +file. See the "molecule"_molecule.html command for details. The only +settings required to be in this file (by this command) are the SHAKE +info of atoms in the molecule. + +:line + Styles with a {cuda} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in