diff -Naur lammps-16May08/doc/JPG/bondswap.jpg lammps-17May08/doc/JPG/bondswap.jpg --- lammps-16May08/doc/JPG/bondswap.jpg 1969-12-31 17:00:00.000000000 -0700 +++ lammps-17May08/doc/JPG/bondswap.jpg 2008-05-15 15:21:50.000000000 -0600 @@ -0,0 +1,31 @@ +JFIFde6 Image generated by GNU Ghostscript (device=pnmraw) +C  +   $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222":!1AQa"q2R#BU$Cb3r3!1A"Qaq2$& ? +5/UilIm4HY4cv 8{rNnLvT1 T\U4T`NO?e醱Jid2ǂ>,m-HnTSΣtT0 òT-wzF~V8ʸjԒֻO{1ޯCErom\Q<.ּ@#]u}&h#t6h얓؃p~ +ozn㧮2PSJa,KH㷎Y=#WfGAa;=nVtEqu<|m_?^~-d\.U""" "eqv[\ce<=>D\WtM һdf=ǰOtik|5p~kKSr#7W6M-}H,ZHܦU}ctbhC[C+9ArA9Bh}|i0Vi\A +/`ֻ+R@ ""zR{IysE 1Gܟf 4 NUwT䢽Xi-J(C_ 35w %uqqZªr! ^lk.6#V)c܂G?bC9hn#@l-bXWjM$v  q#KKi\.qQ6Ѻ:s qnD;Y(Gã!-uV]WjA9~pAA%= 8*r=ImPȣtuw:E2L9/v3rYW+|ѯ:U["+|9N4=uչ,{L k$n!cz_ 7L wOJOmMRڣB#H9T"S׾!^o79]+(fpU,.sgf\Ӝ c!mKi r٨f,p *Zn|SKEýf@= m2UYz?/u L斺ỆvyT3Jt7UQӼI<r7p;m<]4E;đ<ZVE\PA`IM8{TҫUX蝾8 v4A >xYTY\_WK.Էڙ9$g09RG!cr۩h? q;{vMi|g(INMLٺvmyꢫi*&fv4msA|yYK/Wk1B\ɄFN>+kX4tfk%NNB-|t6, 2.q϶bq~.~rn}ߍxd_3Ӎ]}""" +}ki뼶+{S@H&;0X*ZET79p5SN} p/p}%޶Elѳ:/]5Y򑹙r8-8<(e6 \"yc=a]#*5ms\'Zai 37|像8Uq\\id7miLJ4 O ϺOq+&?t-}NVCoRUeG {ciYzgGc[RzˌlR`i io>{x$ viut\o.? `zY86-U55KZ֍;s?vu1QK]!RPjtULi_T4O$o/*='I3dkpִvks9'>T7+ivk]BDz{;DSS_9Λ5ToA 2H$8Ho^b~g<Ց5k;۵7ig-i N$P2cxqrATtRFh$5іOG&9x<.i_urXY(LfS dGrMBmZHPZh)Yqe#Y c5-,p *cOQT $O{p+{g7mrzZOj"/DA_.{ZFN2=`ش+H>H$|gML5G̞l+ pVUQVXj͚7}mvz}Cq: qZ;qx+p5/W{j}iTPEmG4$vڂ]m S̒3{*u*3EiVf-;ܑs+;jMMUm]t1si k\G` VO,|ʚ8qefd?NZx{?h$U_-hh_K~vD@UOXl[Ii AǷ' +\aGmj8\/[hջ-t7I,"68F4+("8Erv vT-O2q^B"I_jަ٦QC%Mtls68܃]vm#a4t6xwn=ةB)-?uSnhjxW +]Nvֵ~SJuJUWKmQUmo/sY$098˄2^M}um%$Am.5<p7g]8tY?%xtDv9qvhn }Mf<iև`q;y[F˧qiהG#ONtӴ՚I _YU9c +߮:-Rq[Rzjd+O `|sYvdf䖞{ )Dt&[rʧ":6Ӽ p?Gmk GYź׸9B ~1Ϭ못&vRDME&T=D@DDD@Ri-Oiunp|r3x|(4=BrUtf*4<>x.p>tu +[Ne(c䨐JfH@0C8<繶1rST]ᦖz:M U?𑻁r" %DZFDX̔H9ǜC]mׁ\=Kr>1=镎YGRl`H?W=qۮ6;-c[Q^l~ƜwKƫ%׊^B-^(bt2IsC~~a֬u56[[elF({kp2{}R+* 3Ǿ+d7OݘE (NDD୼-Ҷ*,nyGxT6JjmOV=jd?_(?ҳ__lVG]kt:&UHə 16hHuD}xQھ˖WU3[KN l<l)U:Ǵi-q$PdѶHױ-sNA}11 kF""D@| # [/BbK- D DVl + &jq|tܫI2P__(&2 ݁qc +ˇSت+E7z*I}K$qL@.8Ucj\\fe/_Lֲh=E,LOJ K܅FQSQ~orWH$h.n[ 84d{Vպ{Iˀ<ʂ:]zvt#d﫚V6d J8iq?׫^co=h(g0-pzԍ(Olic[ ROk03㷐rQq{El\_h""BDDD@DDD@\QL_HAnTΎzFZ{qj'dSkwWWT4߉'({oG9qKrKߥ:A|CnMf{p1el>zZ0Cl{o|#8~uZ߁tsec8Dzq~r8[!cEʊX.WmCzpTBͅ;{dv*XWa[Zd"eDDD@DDD@y(௤&-7IfճO^覨rr{TBzO]U{tΓk#X2F '!uKoؚRk~t+zo)jxtC;HP@]%mi6 +_Bk玚Gz&29ןætpOrc"2X??pT\u#̕Wo558h}SVh[-۞~WUgnw{]+4K\p@?E kp~+_~{l%rx#ݶӮr^Ui*PZs"-!ǩPW~Fqg?͎=Vmg#n кt.N-]qclcs\ӐAA]BDDD@DDD@m-Y_dmTK;7ؓ>V[Uuۦ*hs∀#'CnuuZG$MTAi7dFqDd~Tv;.tk2H=7>\^GF-dm? 'e}=\m-d2VGJ&A"hv.Kߢp" """ >^րI$ ^SkZnk* v8 `e_uCWsK$D}+N%HH [E͔Kx[ClhmtuNۯfz|ic +UEtǣ>׎  8 +YG"U^?$|lsCpTz~-e4nvLr V*Rge2m'w4mBeQC0znO[sU!m +: w?%oϧ9voUrq]4s zO{{K%OWvF^vr~;|aK*Đ{9-rU\m2Hh)..hs١ē}=ԣN(SV)!͜ Uv]یYygq|x ;5΢7j|2PLm r1J9PSʧeZ&g/]\[nRRQP\؜X$pvs)Vj苚;dv3|s,uϠa3O}ճ=eQ↯l xxn]oCFEKGpq#u3ܺ_9@" UQҊ-638g;rJc\}R-[r%% Rz356_䪢 Jc/'ї'PAT7Ms64qqr3ʆYpUDjS{"Ym--_cSPkNVEL.݇ZG](j11Ž7qsp~0OUIQm槬.=L|v+(1lkр֌(h6K''~Si%h@""0FfdF@@|I%ƽkA!Em." +jƟpvK{CjkC8x>D@DDD@ykmWVia|<o]>1.Gh;gX0rם#^KIWcش1}G-UCi3p|Y[4bmm,q>2sWu=w2XI {A8s/ȶk"5ߎ-%{vZf3KxpzkߣTگuuʗ$wy9%O8=A*gWO썙 )v78=cUt΃Q\pUrHG-; iQZ]VrsϯRD􎅠~LF {hRHEj> +w]evX߸DE""" """ ""W[6M]ƣ>,/w!8(oHNZ>L2gD]#v4F8kZ2IO.b7 + + +wAL;x" '߶Ҋ=IAgeany9=kfgݵFO+5e"W+alcjkfRJ('1{ml\D%l.åK + |ͿѲIU=ME7B5g/r"ool""" """ ""{۵ThӜ9i>,5I*[TIϢ-97B\f_BXz"""" """ ""muv01k?tDOht5uU6y#b+cz[4mΙT!F40QKfv-1[MmATR%p" """ "" \ No newline at end of file diff -Naur lammps-16May08/doc/Section_commands.html lammps-17May08/doc/Section_commands.html --- lammps-16May08/doc/Section_commands.html 2008-05-15 14:48:06.000000000 -0600 +++ lammps-17May08/doc/Section_commands.html 2008-05-15 15:22:59.000000000 -0600 @@ -317,14 +317,14 @@ of each style or click on the style itself for a full description:

- - - - - - - - + + + + + + +
addforceaveforceave/atomave/spatialave/timecomcoord/originaldeform
depositdragdt/resetefieldenforce2dfreezegravitygyration
heatindentlangevinlineforcemsdmomentumnphnpt
npt/aspherenpt/spherenvenve/aspherenve/limitnve/noforcenve/spherenvt
nvt/aspherenvt/sllodnvt/sphereorient/fccplaneforcepoemspourpress/berendsen
printrdfrecenterrigidsetforceshakespringspring/rg
spring/selftemp/berendsentemp/rescalethermal/conductivitytmdviscosityviscouswall/gran
wall/lj126wall/lj93wall/reflectwiggle +
addforceaveforceave/atomave/spatialave/timebond/swapcomcoord/original
deformdepositdragdt/resetefieldenforce2dfreezegravity
gyrationheatindentlangevinlineforcemsdmomentumnph
nptnpt/aspherenpt/spherenvenve/aspherenve/limitnve/noforcenve/sphere
nvtnvt/aspherenvt/sllodnvt/sphereorient/fccplaneforcepoemspour
press/berendsenprintrdfrecenterrigidsetforceshakespring
spring/rgspring/selftemp/berendsentemp/rescalethermal/conductivitytmdviscosityviscous
wall/granwall/lj126wall/lj93wall/reflectwiggle

diff -Naur lammps-16May08/doc/Section_commands.txt lammps-17May08/doc/Section_commands.txt --- lammps-16May08/doc/Section_commands.txt 2008-05-15 14:48:06.000000000 -0600 +++ lammps-17May08/doc/Section_commands.txt 2008-05-15 15:21:50.000000000 -0600 @@ -380,6 +380,7 @@ "ave/atom"_fix_ave_atom.html, "ave/spatial"_fix_ave_spatial.html, "ave/time"_fix_ave_time.html, +"bond/swap"_fix_bond_swap.html, "com"_fix_com.html, "coord/original"_fix_coord_original.html, "deform"_fix_deform.html, diff -Naur lammps-16May08/doc/fix.html lammps-17May08/doc/fix.html --- lammps-16May08/doc/fix.html 2008-05-14 15:40:02.000000000 -0600 +++ lammps-17May08/doc/fix.html 2008-05-15 15:22:59.000000000 -0600 @@ -108,6 +108,7 @@
  • ave/atom - compute per-atom time-averaged quantities
  • ave/spatial - output per-atom quantities by layer
  • ave/time - output time-averaged compute quantities +
  • bond/swap - Monte Carlo bond swapping
  • com - compute a center-of-mass
  • coord/original - store original coords of each atom
  • deform - change the simulation box size/shape diff -Naur lammps-16May08/doc/fix.txt lammps-17May08/doc/fix.txt --- lammps-16May08/doc/fix.txt 2008-05-14 15:40:02.000000000 -0600 +++ lammps-17May08/doc/fix.txt 2008-05-15 15:21:50.000000000 -0600 @@ -105,6 +105,7 @@ "ave/atom"_fix_ave_atom.html - compute per-atom time-averaged quantities "ave/spatial"_fix_ave_spatial.html - output per-atom quantities by layer "ave/time"_fix_ave_time.html - output time-averaged compute quantities +"bond/swap"_fix_bond_swap.html - Monte Carlo bond swapping "com"_fix_com.html - compute a center-of-mass "coord/original"_fix_coord_original.html - store original coords of each atom "deform"_fix_deform.html - change the simulation box size/shape diff -Naur lammps-16May08/doc/fix_bond_swap.html lammps-17May08/doc/fix_bond_swap.html --- lammps-16May08/doc/fix_bond_swap.html 1969-12-31 17:00:00.000000000 -0700 +++ lammps-17May08/doc/fix_bond_swap.html 2008-05-15 15:21:50.000000000 -0600 @@ -0,0 +1,182 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    + + + + + + +
    + +

    fix bond/swap command +

    +

    Syntax: +

    +
    fix ID group-ID bond/swap fraction cutoff seed 
    +
    +
    • ID, group-ID are documented in fix command +
    • bond/swap = style name of this fix command +
    • fraction = fraction of group atoms to consider for swapping +
    • cutoff = distance at which swapping will be considered (distance units) +
    • seed = random # seed (positive integer) +
    +

    Examples: +

    +
    fix 1 all bond/swap 0.5 1.5 598934 
    +
    +

    Description: +

    +

    In a simulation of polymer chains, this command attempts to swap bonds +between two different chains, effectively grafting the end of one +chain onto another chain and vice versa. This is done via Monte Carlo +rules using the Boltzmann acceptance criterion. The purpose is to +lower the energy of the system more rapidly than dynamics alone would +do it, by enabling instantaneous large conformational changes in a +dense polymer melt. It is designed for use with systems of +FENE bead-spring polymer chains where each polymer is +a linear chain of monomers, but LAMMPS does not enforce this +requirement. +

    +

    A schematic of the kinds of bond swaps that can occur is shown here: +

    +
    +
    +

    On the left, the red and blue chains have two monomers A1 and B1 close +to each other, which are currently bonded to monomers A2 and B2 +respectively within their own chains. The bond swap operation will +attempt to delete the A1-A2 and B1-B2 bonds and replace them with +A1-B2 and B1-A2 bonds. If the swap is energetically favorable, the +two chains on the right are the result and each polymer chain has +undergone a dramatic conformational change. This reference provides +more details on how the algorithm works and its application: +(Sides). +

    +

    The bond swapping operation is invoked each time neighbor lists are +built during a simulation, since it potentially alters the list of +which neighbors are considered for pairwise interaction. At each +reneighboring step, each processor considers a random specified +fraction of its atoms as potential swapping monomers for this +timestep. Choosing a small fraction value can reduce the likelihood +of a reverse swap occurring soon after an initial swap. +

    +

    For each monomer A1, its neighbors are examined to find a possible B1 +monomer. Both A1 and B1 must be in the fix group, their separation +must be less than the specified cutoff, and the molecule IDs of A1 +and B1 must be the same (see below). If a suitable partner is found, +the energy change due to swapping the 2 bonds is computed. This +includes changes in pairwise, bond, and angle energies due to the +altered connectivity of the 2 chains. Dihedral and improper +interactions are not allowed to be defined when this fix is used. +

    +

    If the energy decreases due to the swap operation, the bond swap is +accepted. If the energy increases it is accepted with probability +exp(-delta/kT) where delta is the increase in energy, k is the +Boltzmann constant, and T is the current temperature of the system. +Whether the swap is accepted or rejected, no other swaps are attempted +by this processor on this timestep. +

    +

    The criterion for matching molecule IDs is how bond swaps performed by +this fix conserve chain length. To use this features you must setup +the molecule IDs for your polymer chains in a certain way, typically +in the data file, read by the read_data comand. +Consider a system of 6-mer chains. You have 3 choices. If the +molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then +swaps will conserve length. For a particular momoner there will be +only one other monomer on another chain which is a potential swap +partner. If the molecule IDs for monomers on each chain are set to +1,2,3,3,2,1 then swaps will conserve length but swaps will be able to +occur at either end of a chain. Thus for a particular monomer there +will be 2 possible swap partners on another chain. In this scenario, +swaps can also occur within a single chain, i.e. the two ends of a +chain swap with each other. The third choice is to give all monomers +on all chains the same molecule ID, e.g. 0. This will allow a wide +variety of swaps to occur, but will NOT conserve chain lengths. +

    +

    IMPORTANT NOTE: If your simulation uses molecule IDs in the usual way, +where all monomers on a single chain are assigned the same ID +(different for each chain), then swaps will only occur within the same +chain and will NOT conserve chain length. This is probably not what +you want for this fix. +

    +
    + +

    This fix computes a temperature each time it is invoked for use by the +Boltzmann criterion. To do this, the fix creates its own compute of +style temp, as if this command had been issued: +

    +
    compute fix-ID_temp all temp 
    +
    +

    See the compute temp 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 "all", so that the +temperature of the entire system is used. +

    +

    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. +

    +
    + +

    Restart, fix_modify, thermo output, run start/stop, minimize info: +

    +

    No information about this fix is written to binary restart +files. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" +restarts with this fix, where the simulation continues on the same as +if no restart had taken place. However, in a statistical sense, a +restarted simulation should produce the same behavior. Also note that +each processor generates possible swaps independently of other +processors. Thus if you repeat the same simulation on a different number +of processors, the specific swaps performed will be different. +

    +

    The fix_modify temp option is supported by this +fix. You can use it to assign a compute you have +defined to this fix which will be used to compute the temperature for +the Boltzmann criterion. +

    +

    This fix computes two statistical quantities as a 2-vector of output, +which can be accessed by various output +commands. The first component of the vector +is the cummulative number of swaps performed by all processors. The +second component of the vector is the cummulative number of swaps +attempted (whether accepted or rejected). Note that a swap "attempt" +only occurs when swap partners meeting the criteria described above +are found on a particular timestep. The vector values calculated by +this fix are "extensive", meaning they scale with the number of atoms +in the simulation. +

    +

    No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +

    +

    Restrictions: +

    +

    The setings of the "special_bond" command must be 0,1,1 in order to +use this fix, which is typical of FENE bead-spring chains. +I.e. pairwise interactions between bonded atoms are turned off, but +are turned on between atoms two or three hops away along the chain +backbone. +

    +

    Currently, energy changes in dihedral and improper interactions due to +a bond swap are not considered. Thus a simulation that uses this fix +cannot use a dihedral or improper potential. +

    +

    Related commands: none +

    +

    Default: none +

    +
    + + + +

    (Sides) Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, +199-208 (2004). +

    + diff -Naur lammps-16May08/doc/fix_bond_swap.txt lammps-17May08/doc/fix_bond_swap.txt --- lammps-16May08/doc/fix_bond_swap.txt 1969-12-31 17:00:00.000000000 -0700 +++ lammps-17May08/doc/fix_bond_swap.txt 2008-05-15 15:21:50.000000000 -0600 @@ -0,0 +1,176 @@ +"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 bond/swap command :h3 + +[Syntax:] + +fix ID group-ID bond/swap fraction cutoff seed :pre + +ID, group-ID are documented in "fix"_fix.html command +bond/swap = style name of this fix command +fraction = fraction of group atoms to consider for swapping +cutoff = distance at which swapping will be considered (distance units) +seed = random # seed (positive integer) :ul + +[Examples:] + +fix 1 all bond/swap 0.5 1.5 598934 :pre + +[Description:] + +In a simulation of polymer chains, this command attempts to swap bonds +between two different chains, effectively grafting the end of one +chain onto another chain and vice versa. This is done via Monte Carlo +rules using the Boltzmann acceptance criterion. The purpose is to +lower the energy of the system more rapidly than dynamics alone would +do it, by enabling instantaneous large conformational changes in a +dense polymer melt. It is designed for use with systems of +"FENE"_bond_fene.html bead-spring polymer chains where each polymer is +a linear chain of monomers, but LAMMPS does not enforce this +requirement. + +A schematic of the kinds of bond swaps that can occur is shown here: + +:c,image(JPG/bondswap.jpg) + +On the left, the red and blue chains have two monomers A1 and B1 close +to each other, which are currently bonded to monomers A2 and B2 +respectively within their own chains. The bond swap operation will +attempt to delete the A1-A2 and B1-B2 bonds and replace them with +A1-B2 and B1-A2 bonds. If the swap is energetically favorable, the +two chains on the right are the result and each polymer chain has +undergone a dramatic conformational change. This reference provides +more details on how the algorithm works and its application: +"(Sides)"_#Sides. + +The bond swapping operation is invoked each time neighbor lists are +built during a simulation, since it potentially alters the list of +which neighbors are considered for pairwise interaction. At each +reneighboring step, each processor considers a random specified +{fraction} of its atoms as potential swapping monomers for this +timestep. Choosing a small {fraction} value can reduce the likelihood +of a reverse swap occurring soon after an initial swap. + +For each monomer A1, its neighbors are examined to find a possible B1 +monomer. Both A1 and B1 must be in the fix group, their separation +must be less than the specified {cutoff}, and the molecule IDs of A1 +and B1 must be the same (see below). If a suitable partner is found, +the energy change due to swapping the 2 bonds is computed. This +includes changes in pairwise, bond, and angle energies due to the +altered connectivity of the 2 chains. Dihedral and improper +interactions are not allowed to be defined when this fix is used. + +If the energy decreases due to the swap operation, the bond swap is +accepted. If the energy increases it is accepted with probability +exp(-delta/kT) where delta is the increase in energy, k is the +Boltzmann constant, and T is the current temperature of the system. +Whether the swap is accepted or rejected, no other swaps are attempted +by this processor on this timestep. + +The criterion for matching molecule IDs is how bond swaps performed by +this fix conserve chain length. To use this features you must setup +the molecule IDs for your polymer chains in a certain way, typically +in the data file, read by the "read_data"_read_data.html comand. +Consider a system of 6-mer chains. You have 3 choices. If the +molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then +swaps will conserve length. For a particular momoner there will be +only one other monomer on another chain which is a potential swap +partner. If the molecule IDs for monomers on each chain are set to +1,2,3,3,2,1 then swaps will conserve length but swaps will be able to +occur at either end of a chain. Thus for a particular monomer there +will be 2 possible swap partners on another chain. In this scenario, +swaps can also occur within a single chain, i.e. the two ends of a +chain swap with each other. The third choice is to give all monomers +on all chains the same molecule ID, e.g. 0. This will allow a wide +variety of swaps to occur, but will NOT conserve chain lengths. + +IMPORTANT NOTE: If your simulation uses molecule IDs in the usual way, +where all monomers on a single chain are assigned the same ID +(different for each chain), then swaps will only occur within the same +chain and will NOT conserve chain length. This is probably not what +you want for this fix. + +:line + +This fix computes a temperature each time it is invoked for use by the +Boltzmann criterion. To do this, the fix creates its own compute of +style {temp}, as if this command had been issued: + +compute fix-ID_temp all temp :pre + +See the "compute temp"_compute_temp.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 "all", so that the +temperature of the entire system is used. + +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. + +:line + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" +restarts with this fix, where the simulation continues on the same as +if no restart had taken place. However, in a statistical sense, a +restarted simulation should produce the same behavior. Also note that +each processor generates possible swaps independently of other +processors. Thus if you repeat the same simulation on a different number +of processors, the specific swaps performed will be different. + +The "fix_modify"_fix_modify.html {temp} option is supported by this +fix. You can use it to assign a "compute"_compute.html you have +defined to this fix which will be used to compute the temperature for +the Boltzmann criterion. + +This fix computes two statistical quantities as a 2-vector of output, +which can be accessed by various "output +commands"_Section_howto.html#4_15. The first component of the vector +is the cummulative number of swaps performed by all processors. The +second component of the vector is the cummulative number of swaps +attempted (whether accepted or rejected). Note that a swap "attempt" +only occurs when swap partners meeting the criteria described above +are found on a particular timestep. The vector values calculated by +this fix are "extensive", meaning they scale with the number of atoms +in the simulation. + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +The setings of the "special_bond" command must be 0,1,1 in order to +use this fix, which is typical of FENE bead-spring chains. +I.e. pairwise interactions between bonded atoms are turned off, but +are turned on between atoms two or three hops away along the chain +backbone. + +Currently, energy changes in dihedral and improper interactions due to +a bond swap are not considered. Thus a simulation that uses this fix +cannot use a dihedral or improper potential. + +[Related commands:] none + +[Default:] none + +:line + +:link(Sides) +[(Sides)] Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, +199-208 (2004). diff -Naur lammps-16May08/tools/restart2data.cpp lammps-17May08/tools/restart2data.cpp --- lammps-16May08/tools/restart2data.cpp 2008-03-28 08:37:03.000000000 -0600 +++ lammps-17May08/tools/restart2data.cpp 2008-05-15 15:09:46.000000000 -0600 @@ -106,6 +106,7 @@ int **pair_cg_cmm_type, **pair_setflag; double **pair_cut_coul, **pair_cut_lj; double *pair_ljexpand_epsilon,*pair_ljexpand_sigma,*pair_ljexpand_shift; + double *pair_ljgromacs_epsilon,*pair_ljgromacs_sigma; double *pair_ljsmooth_epsilon,*pair_ljsmooth_sigma; double *pair_morse_d0,*pair_morse_alpha,*pair_morse_r0; double *pair_soft_start,*pair_soft_stop; @@ -1674,6 +1675,56 @@ } } + } else if ((strcmp(style,"lj/gromacs") == 0) || + (strcmp(style,"lj/gromacs/coul/gromacs") == 0)) { + + if (strcmp(style,"lj/gromacs") == 0) { + m = 1; + double cut_inner_global = read_double(fp); + double cut_global = read_double(fp); + int offset_flag = read_int(fp); + int mix_flag = read_int(fp); + } else if (strcmp(style,"lj/gromacs/coul/gromacs") == 0) { + m = 0; + double cut_lj_inner_global = read_double(fp); + double cut_lj = read_double(fp); + double cut_coul_inner_global = read_double(fp); + double cut_coul = read_double(fp); + int offset_flag = read_int(fp); + int mix_flag = read_int(fp); + } + + if (!flag) return; + + data.pair_ljgromacs_epsilon = new double[data.ntypes+1]; + data.pair_ljgromacs_sigma = new double[data.ntypes+1]; + + for (i = 1; i <= data.ntypes; i++) + for (j = i; j <= data.ntypes; j++) { + itmp = read_int(fp); + if (i == j && itmp == 0) { + printf("ERROR: Pair coeff %d,%d is not in restart file\n",i,j); + exit(1); + } + if (itmp) { + if (i == j) { + data.pair_ljgromacs_epsilon[i] = read_double(fp); + data.pair_ljgromacs_sigma[i] = read_double(fp); + if (m) { + double cut_inner = read_double(fp); + double cut = read_double(fp); + } + } else { + double ljgromacs_epsilon = read_double(fp); + double ljgromacs_sigma = read_double(fp); + if (m) { + double cut_inner = read_double(fp); + double cut = read_double(fp); + } + } + } + } + } else if (strcmp(style,"lj/smooth") == 0) { double cut_inner_global = read_double(fp); @@ -2525,6 +2576,12 @@ pair_ljexpand_epsilon[i],pair_ljexpand_sigma[i], pair_ljexpand_shift[i]); + } else if ((strcmp(pair_style,"lj/gromacs") == 0) || + (strcmp(pair_style,"lj/gromacs/coul/gromacs") == 0)) { + for (int i = 1; i <= ntypes; i++) + fprintf(fp,"%d %g %g\n",i, + pair_ljgromacs_epsilon[i],pair_ljgromacs_sigma[i]); + } else if (strcmp(pair_style,"lj/smooth") == 0) { for (int i = 1; i <= ntypes; i++) fprintf(fp,"%d %g %g\n",i,