diff -Naur lammps-5Apr08/doc/compute_pe_atom.html lammps-6Apr08/doc/compute_pe_atom.html --- lammps-5Apr08/doc/compute_pe_atom.html 2008-02-19 14:47:37.000000000 -0700 +++ lammps-6Apr08/doc/compute_pe_atom.html 2008-04-04 08:24:01.000000000 -0600 @@ -60,7 +60,7 @@ in the last 2 columns of thermo output:
compute peratom all pe/atom -compute p all sum c_peratom +compute p all reduce sum c_peratom thermo_style custom step temp etotal press pe c_p
IMPORTANT NOTE: The per-atom energy does NOT include contributions due diff -Naur lammps-5Apr08/doc/compute_pe_atom.txt lammps-6Apr08/doc/compute_pe_atom.txt --- lammps-5Apr08/doc/compute_pe_atom.txt 2008-02-19 14:47:37.000000000 -0700 +++ lammps-6Apr08/doc/compute_pe_atom.txt 2008-04-04 08:24:01.000000000 -0600 @@ -57,7 +57,7 @@ in the last 2 columns of thermo output: compute peratom all pe/atom -compute p all sum c_peratom +compute p all reduce sum c_peratom thermo_style custom step temp etotal press pe c_p :pre IMPORTANT NOTE: The per-atom energy does NOT include contributions due diff -Naur lammps-5Apr08/doc/pair_lj_smooth.html lammps-6Apr08/doc/pair_lj_smooth.html --- lammps-5Apr08/doc/pair_lj_smooth.html 2008-01-21 11:12:34.000000000 -0700 +++ lammps-6Apr08/doc/pair_lj_smooth.html 2008-04-02 17:05:25.000000000 -0600 @@ -13,10 +13,10 @@
Syntax:
-pair_style lj/smooth Rin cutoff +pair_style lj/smooth Rin Rc-
Examples:
@@ -32,9 +32,12 @@
The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to -cause the force to vary smoothly from Rin to Rc. At Rin the force and -its 1st derivative will match the unsmoothed LJ formula. At Rc the -force and its 1st derivative will be 0.0. +cause the force to vary smoothly from the inner cutoff Rin to the +outer cutoff Rc. +
+At the inner cutoff the force and its 1st derivative +will match the unsmoothed LJ formula. At the outer cutoff the force +and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0.
IMPORTANT NOTE: this force smoothing causes the energy to be discontinuous both in its values and 1st derivative. This can lead to @@ -50,13 +53,11 @@
The last 2 coefficients are optional. If not specified, the global -Rin and cutoff are used. Rin cannot be 0.0. If Rin = cutoff, then no -force smoothing is performed for this type pair; the standard LJ -formula is used. +
The last 2 coefficients are optional inner and outer cutoffs. If not +specified, the global values for Rin and Rc are used.
Here are some guidelines for using the pair_style table command to +best effect: +
+The format of a tabulated file is as follows (without the parenthesized comments):
diff -Naur lammps-5Apr08/doc/pair_table.txt lammps-6Apr08/doc/pair_table.txt --- lammps-5Apr08/doc/pair_table.txt 2008-02-29 18:13:20.000000000 -0700 +++ lammps-6Apr08/doc/pair_table.txt 2008-04-02 17:07:12.000000000 -0600 @@ -69,7 +69,29 @@ table itself (see below) will be used to build an interpolation table that extend to the largest tabulated distance. If specified, only file values up to the cutoff are used to create the interpolation -table. +table. The format of this file is described below. + +:line + +Here are some guidelines for using the pair_style table command to +best effect: + +Vary the number of table points; you may need to use more than you think +to get good resolution. :ulb,l + +Always use the "pair_write"_pair_write.html command to produce a plot +of what the final interpolated potential looks like. This can show up +interpolation "features" you may not like. :l + +Start with the linear style; it's the style least likely to have problems. :l + +Use as large an inner cutoff as possible. This avoids fitting splines +to very steep parts of the potential. :l + +Make sure the tabulated potential you are feeding to LAMMPS is not +pathological. :l,ule + +:line The format of a tabulated file is as follows (without the parenthesized comments): diff -Naur lammps-5Apr08/tools/lmp2cfg/lmp2cfg.f lammps-6Apr08/tools/lmp2cfg/lmp2cfg.f --- lammps-5Apr08/tools/lmp2cfg/lmp2cfg.f 2008-02-29 17:06:37.000000000 -0700 +++ lammps-6Apr08/tools/lmp2cfg/lmp2cfg.f 2008-04-04 08:29:23.000000000 -0600 @@ -1,181 +1,184 @@ -*23456789|123456789|123456789|123456789|123456789|123456789|123456789|12 -c---------------------------------------------------------------------- - program lammps to cfg -c---------------------------------------------------------------------- -*Programming by Jeff Greathouse and Ara Kooser -*Version 1.0 9/1/04 -*Sandia National Labs -*Converts LAMMPS atom dump to .cfg files for AtomEye -*This program is provided as is. Please see the README file. -c---------------------------------------------------------------------- - implicit real*8 (a-h,o-z) - - character*12 inhist,snapshot - character*4 fftype(100),name,ciframe - - integer natom,iatom,itype(50000),q - integer atype(99),itycon,ntype,mass(99) - - dimension x(50000),y(50000),z(50000) - dimension amass(99) - - -c-------Reads in the user input file------------------------------- - - read(*,*) ntype - read(*,*) inhist - read(*,*) iframe1 - read(*,*) iframe2 -c write(*,*) ntype -c write(*,*) inhist - do 1, i=1, ntype - - read(*,*) atype(i) - read(*,*) amass(i) - mass(i)=anint(amass(i)) - read(*,*) fftype(i) - - -c write(*,*) atype(i) -c write(*,*) amass(i) -c write(*,*) fftype(i) - 1 continue - -c-------Lammps output file is 9, reads in lmps header-------------- - - name=inhist(1:4) - open(9,file=inhist,status='old',form='formatted') -c open(2,status='new',form='formatted') - - - iatom=0 - iframe=0 - jframe=0 - -c--------------------------------------------------------------------- -c----------This begins the frame by frame reading section------------- - - 9999 continue - - read(9,*,end=999) - read(9,*,end=999) - read(9,*,end=999) - read(9,*,end=999) natom - read(9,*,end=999) - read(9,50,end=999) xcell - read(9,50,end=999) ycell - read(9,50,end=999) zcell - read(9,*,end=999) - - 50 format(2x,f12.5) - - - - 1000 format(1x,i5,1x,i2,3f9.5) - - - - - - - - do 440 j=1,natom - 420 read(9,*,end=999)iatom,itype(iatom),x(iatom),y(iatom),z(iatom) - - -*23456789|123456789|123456789|123456789|123456789|123456789|123456789|12 - - - - - 440 continue - - jframe=jframe+1 - if(jframe.lt.iframe1)goto 9999 - iframe=iframe+1 - - if(iframe.ge.iframe2) goto 999 - - -c-------------------------------------------------------------------- -c-------This section writes each ts to a seperate .cfg file---------- - -c ciframe=char(iframe) -c snapshot(iframe)=name//ciframe//'.cfg' -c write(*,*)ciframe - -c write(snapshot,'("Cfgs/",i7.7,".cfg")') iframe - ciframe='.cfg' -c write(*,*)ciframe - write(snapshot,'(i5.5,a4)')iframe,ciframe -c write(*,*)snapshot - open(unit=iframe+20,file=snapshot,status='new', - * form='formatted') - - write((iframe+20),'(a22,i7)')'Number of particles = ',natom - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a16)')'A = 1.0 Angstrom' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),435)'H0(1,1) = ',xcell,' A' - write((iframe+20),'(a14)')'H0(1,2) = 0 A' - write((iframe+20),'(a14)')'H0(1,3) = 0 A' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a14)')'H0(2,1) = 0 A' - write((iframe+20),435)'H0(2,2) = ',ycell,' A' - write((iframe+20),'(a14)')'H0(2,3) = 0 A' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a14)')'H0(3,1) = 0 A' - write((iframe+20),'(a14)')'H0(3,2) = 0 A' - write((iframe+20),435)'H0(3,3) = ',zcell,' A' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a12)')'eta(1,1) = 0' - write((iframe+20),'(a12)')'eta(1,2) = 0' - write((iframe+20),'(a12)')'eta(1,3) = 0' - write((iframe+20),'(a12)')'eta(2,2) = 0' - write((iframe+20),'(a12)')'eta(2,3) = 0' - write((iframe+20),'(a12)')'eta(3,3) = 0' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),*) - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - write((iframe+20),'(a1)')'#' - - 435 format(a11,f10.5,a2) - - do 460, j=1,natom - - do 450,i=1,ntype -c write(*,*)i,amass(i),fftype(i) -c write(*,*)ntype - if(itype(j).eq.atype(i)) - * write((iframe+20),445)mass(i),fftype(i),x(j), - * y(j),z(j),' 0',' 0',' 0' - -c---445 is the format for writing atom data to .cfg file------------ - 445 format(i3.3,1x,a2,1x,3f9.6,3a2) - - 450 continue - - 460 continue - - go to 9999 - - 999 continue - close(9) - - - end +*23456789|123456789|123456789|123456789|123456789|123456789|123456789|12 +c---------------------------------------------------------------------- + program lammps to cfg +c---------------------------------------------------------------------- +*Programming by Jeff Greathouse and Ara Kooser +*Version 1.0 9/1/04 +*Sandia National Labs +*Converts LAMMPS atom dump to .cfg files for AtomEye +*This program is provided as is. Please see the README file. +c---------------------------------------------------------------------- + implicit real*8 (a-h,o-z) + + character*12 inhist,snapshot + character*4 fftype(100),name,ciframe + + integer natom,iatom,itype(50000),q + integer atype(99),itycon,ntype,mass(99) + + dimension x(50000),y(50000),z(50000) + dimension amass(99) + + +c-------Reads in the user input file------------------------------- + + read(*,*) ntype + read(*,*) inhist + read(*,*) iframe1 + read(*,*) iframe2 +c write(*,*) ntype +c write(*,*) inhist + do 1, i=1, ntype + + read(*,*) atype(i) + read(*,*) amass(i) + mass(i)=anint(amass(i)) + read(*,*) fftype(i) + + +c write(*,*) atype(i) +c write(*,*) amass(i) +c write(*,*) fftype(i) + 1 continue + +c-------Lammps output file is 9, reads in lmps header-------------- + + name=inhist(1:4) + open(9,file=inhist,status='old',form='formatted') +c open(2,status='new',form='formatted') + + + iatom=0 + iframe=0 + jframe=0 + +c--------------------------------------------------------------------- +c----------This begins the frame by frame reading section------------- + + 9999 continue + + read(9,*,end=999) + read(9,*,end=999) + read(9,*,end=999) + read(9,*,end=999) natom + read(9,*,end=999) + read(9,*,end=999) xlower,xupper + read(9,*,end=999) ylower,yupper + read(9,*,end=999) zlower,zupper + read(9,*,end=999) + 50 format(2f12.5) + xcell=xupper-xlower + ycell=yupper-ylower + zcell=zupper-zlower + + + + + 1000 format(1x,i5,1x,i2,3f9.5) + + + + + + + + do 440 j=1,natom + 420 read(9,*,end=999)iatom,itype(iatom),x(iatom),y(iatom),z(iatom) + + +*23456789|123456789|123456789|123456789|123456789|123456789|123456789|12 + + + + + 440 continue + + jframe=jframe+1 + if(jframe.lt.iframe1)goto 9999 + iframe=iframe+1 + + if(iframe.ge.iframe2) goto 999 + + +c-------------------------------------------------------------------- +c-------This section writes each ts to a seperate .cfg file---------- + +c ciframe=char(iframe) +c snapshot(iframe)=name//ciframe//'.cfg' +c write(*,*)ciframe + +c write(snapshot,'("Cfgs/",i7.7,".cfg")') iframe + ciframe='.cfg' +c write(*,*)ciframe + write(snapshot,'(i5.5,a4)')iframe,ciframe +c write(*,*)snapshot + open(unit=iframe+20,file=snapshot,status='new', + * form='formatted') + + write((iframe+20),'(a22,i7)')'Number of particles = ',natom + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a16)')'A = 1.0 Angstrom' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),435)'H0(1,1) = ',xcell,' A' + write((iframe+20),'(a14)')'H0(1,2) = 0 A' + write((iframe+20),'(a14)')'H0(1,3) = 0 A' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a14)')'H0(2,1) = 0 A' + write((iframe+20),435)'H0(2,2) = ',ycell,' A' + write((iframe+20),'(a14)')'H0(2,3) = 0 A' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a14)')'H0(3,1) = 0 A' + write((iframe+20),'(a14)')'H0(3,2) = 0 A' + write((iframe+20),435)'H0(3,3) = ',zcell,' A' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a12)')'eta(1,1) = 0' + write((iframe+20),'(a12)')'eta(1,2) = 0' + write((iframe+20),'(a12)')'eta(1,3) = 0' + write((iframe+20),'(a12)')'eta(2,2) = 0' + write((iframe+20),'(a12)')'eta(2,3) = 0' + write((iframe+20),'(a12)')'eta(3,3) = 0' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),*) + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + write((iframe+20),'(a1)')'#' + + 435 format(a11,f10.5,a2) + + do 460, j=1,natom + + do 450,i=1,ntype +c write(*,*)i,amass(i),fftype(i) +c write(*,*)ntype + if(itype(j).eq.atype(i)) + * write((iframe+20),445)mass(i),fftype(i),x(j), + * y(j),z(j),' 0',' 0',' 0' + +c---445 is the format for writing atom data to .cfg file------------ + 445 format(i3.3,1x,a2,1x,3f9.6,3a2) + + 450 continue + + 460 continue + + go to 9999 + + 999 continue + close(9) + + + end