git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@4858 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2010-09-27 16:28:05 +00:00
parent d2ffab65ce
commit f3c76494de
20 changed files with 0 additions and 17816 deletions

View File

@ -1,45 +0,0 @@
The directory structure_generators includes several scripts for
generating LAMMPS structure files:
- Be-solid.pl: beryllium solid box
- h2.pl: rectangular lattice of hydrogen atoms
- Diamond.pl: diamond A4 box
- Li-hydride: Lithium hydride solid box
- Li-solid: Lithium solid box
- Uniform-electron-gas.pl: uniform electron gas on an NaCl lattice
And other useful scripts for processing pEFF related information are
included, such as:
- cfg2lammps.py: Python script for converting an eff cfg file into a
LAMMPS data/script file pair
- lmp2radii.py/pyx: Python/Cython scripts for post-processing a lammps
trajectory to extract electron radii/frame.
Note: the corresponding .c, and .so files are the c source and binary
library (loadable Python module) created by Cython automatically when
compiling lmp2radii.pyx in place with Cython (python setup.py
build_ext --inplace).
- radii.vmd: a TCL script for adding radial changes per trajectory
frame to an xyz LAMMPS trajectory of an pEFF run.
- lmp2any.py: Python scipt for extracting quantities from a custom
lammps dump
- lmp2radii-col.py: Same as lmp2radii.py, but takes a column
descriptor for the radius
- VMD-input.py: Automatically calls the necessary scripts to produce a
VMD ready script that loads variable radii into VMD
NOTE: you must set the graphical representation in VMD to represent
electrons using transparency (this requires selecting and applying the
corresponding atom types).
For further details see the descriptors in each file, or contact:
Andres Jaramillo-Botero: ajaramil@wag.caltech.edu
Acknowledgments: Thanks to Axel Kohlmeyer (Temple Univ) for his help
with VMD.

View File

@ -1,67 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
import sys, os
from getopt import gnu_getopt as getopt
Info="""
Module name: VMD-input.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Usage: python VMD-input.py lammps_dump_filename radii_column_number
Example: python VMD-input.py dump.lammpstrj 6
1. Extracts the electron radii from a lammps trajectory dump into %s.out
2. Creates %s.xyz file
3. Creates appropriate %.vmd file which can be sourced using TCL/TK in VMD
"""
from lmp2radii_col import makeradii
from lmp2xyz import lmp2xyz
def printHelp(input):
Info%(input,input,input)
if __name__ == '__main__':
# if no input, print help and exit
if len(sys.argv) < 2:
print "Usage: python VMD-input.py lammps_dump_filename radii_column_number\n"
sys.exit(1)
else:
infile=sys.argv[1]
# set defaults
outfile = infile.split('.')[0]
if len(sys.argv) == 2:
column = int(sys.argv[2])
else:
column=6 # default = radius for dump -> id type x y z spin radius
# check for input:
opts, argv = getopt(sys.argv[1:], 'c:o:ha')
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
Info%(input,input,input)
if opt == '-o': # output file name
outfile=arg
if opt == '-c': # select column from lammpstrj file to tabulate
column=int(arg)
makeradii(infile,outfile+".out",column,True)
lmp2xyz(infile,outfile+".xyz")
print "Creating %s file ..."%(outfile+".vmd")
os.system("cat %s | sed 's/xyzfile/%s/' > %s"%("radii.vmd",outfile+".xyz","temp"))
os.system("cat %s | sed 's/radiifile/%s/' > %s; rm temp"%("temp",outfile+".out",outfile+".vmd"))
print "Done !! (you can now source %s using VMD's console) \n"%(outfile+".vmd")
print "NOTE: In VMD, set graphics representation for electrons to transparency,"
print "and change the atom types in the xyz file according to your values,"
print "for simplicity, they are set using the same mass sequence definition\nfrom your lammps data file\n"

View File

@ -1,336 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
Info="""
Module name: cfg2lammps.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Reads in an eff .cfg file and produces the corresponding lammps data and input files
NOTE: Unsupported functions will be reported in the output log
"""
# import essentials:
import sys, os
from math import log10
from shutil import rmtree
from getopt import gnu_getopt as getopt
import numpy
def printHelp():
print Info
print "Usage: python cfg2lammps cfgfile\n"
return
general="""
# Created %s
# General parameters
variable sname index %s
log ${sname}.log
units electron
newton on
boundary %s
atom_style hybrid charge electron
read_data data.${sname}
pair_style eff/cut %s
pair_coeff * *
thermo %s
thermo_style multi
"""
#%(date,name,boundary,cutoff,period)
minimize="""
# Minimization
min_style cg
dump 1 %s xyz %s ${sname}.min.xyz
dump 2 %s custom %s ${sname}.min.lammpstrj id type x y z radius fx fy fz rf
min_modify line quadratic
minimize 0 1.0e-5 %s %s
undump 1
undump 2
"""
#%(group,period,group,period,iterations,fcalls)
single_pt="""
# Single point energy
run 0
"""
dynamics="""
# %s Dynamics
timestep %s
fix %s
dump 1 %s custom %s ${sname}.%s.lammpstrj id type x y z spin radius
dump 2 %s custom %s ${sname}.%s.xyz
run %s
unfix 1
undump 1
undump 2
"""
task={'single_pt':single_pt,'minimize':minimize,'dynamics':dynamics}
q2m={1:'1.007940',2:'4.002602',3:'6.941000',4:'9.012182',5:'10.811000',6:'12.010700',7:'14.006700',8:'15.999400',
9:'18.9984032',10:'20.179700',11:'22.98976928',12:'24.305000',13:'26.9815386',14:'28.085500',15:'30.973762',
16:'32.065000',17:'35.453000',18:'39.948000'}
def generate_lammps_input(infile):
# Defaults values
ensemble={"nve":"1 %s nve/eff",'nvt':"1 %s nvt/eff %s %s %s %s",'npt':"1 %s npt/eff %s %s %s %s %s %s"}
boundary="f f f"
xbound="-1000.000 1000.0 xlo xhi\n"
ybound="-1000.000 1000.0 ylo yhi\n"
zbound="-1000.000 1000.0 zlo zhi\n"
cutoff=1000.0
period="1"
emass=0
vels=""
datafile=open("data."+infile[:-4],'w')
scriptfile=open("in."+infile[:-4],'w')
print "Reading %s ... [WAIT]"%infile,
fin = open(infile,'r')
lines = fin.xreadlines()
print 7*"\b"+"[DONE]"
numnuclei=0
numelec=0
nuclei={}
electrons={}
masses=[]
massstr="Masses\n\n"
types=1
q2type={}
Tflag=False # Default ensemble is NVE
steps='1000'
print "Extracting run parameters from %s ... "%(infile),
for line in lines:
# 1st level keywords
if line.find("@params")==0:
flag='params'
continue
elif line.find("@nuclei")==0:
flag='nuclei'
continue
elif line.find("@electrons")==0:
flag='electrons'
continue
elif line.find("@nuc_velocities")==0:
flag='n_vels'
continue
elif line.find("@elec_velocities")==0:
flag='e_vels'
continue
elif line.find("@nuc_masses")==0:
flag='n_mass'
continue
elif line.find("@elec_masses")==0:
flag='e_mass'
continue
elif line.find("@restraints")==0:
flag='restraints'
continue
# 2nd level keywords
if flag=='params':
if line.find("calc")>=0:
op=line.split()[2]
if line.find("print_every")>=0:
period=line.split()[2]
if line.find("num_steps")>=0:
steps=line.split()[2]
if line.find("min_freeze")>=0:
setforce="velocity\t% set 0.0 0.0 0.0\nfix\tfreeze %s setforce 0.0 0.0 0.0"%(line.split()[2],line.split()[2])
if line.find("thermostat")>=0:
tflag=True
#ensemble="fix\t1 all nvt/eff "
if line.find("start_temperature")>=0:
Tstart=line.split()[2]
#ensemble+=Tstart
if line.find("end_temperature")>=0:
Tstop=line.split()[2]
#ensemble+=Tstop
if line.find("andersen_coupling")>=0 or line.find("nose_hoover_coupling")>=0:
Tdamp=line.split()[2]
#ensemble+=Tdamp
if line.find("dt")>=0:
dt=line.split()[2]
if line.find("electron_mass")>=0:
emass=line.split()[2]
if line.find("adaptive_step_size")>=0:
continue
if line.find("adaptive_energy")>=0:
continue
if line.find("e_field_freq")>=0:
continue
if line.find("e_field_packet_duration")>=0:
continue
if line.find("e_field")>=0:
field=line.split()[2:5]
efield="fix\field all efield %s %s %s"%(field[0],field[1],field[2])
if line.find("e_field_packet_duration")>=0:
continue
if line.find("set_limit")>=0:
continue # need to add this contraint
if line.find("set_limit_stiffness")>=0:
continue
if line.find("output_position")>=0:
dump_pos="dump\t1 all custom %s ${sname}.lammpstrj id type x y z spin radius "%(period)
if line.find("output_velocities")>=0:
dump_pos+="vx vy vz "
if line.find("output_energy_forces")>=0:
dump_pos="compute\tenergy all pe/atom\n"+dump_pos
dump_pos+="c_energy fx fy fz\n"
if line.find("output_restart")>=0:
restart="restart\t%s ${sname}.restart1 ${sname}.restart2"%(period)
if line.find("output_restraints")>=0:
continue
if line.find("ewald_re_cutoff")>=0 or line.find("ewald_autoset")>=0 or line.find("ewald_log_precision")>=0 or line.find("ewald_max_re")>=0 or \
line.find("ewald_r_cutoff")>=0 or line.find("ewald_k_cutoff")>=0 or line.find("ewald_nuc_r")>=0:
continue
if line.find("periodic")>=0:
bounds=line.split()[2]
if bounds=="True": boundary="p p p"
elif bounds=="minimage_x": boundary="p f f"
elif bounds=="minimage_xy": boundary="p p f"
elif bounds=="minimage_y": boundary="f p f"
elif bounds=="minimage_xyz": boundary="p p p"
elif bounds=="minimage_z": boundary="f f p"
if line.find("x_bound")>=0:
xbnds=line.split()[2:4]
xbound="%s %s xlo xhi\n"%(xbnds[0],xbnds[1])
if line.find("y_bound")>=0:
ybnds=line.split()[2:4]
ybound="%s %s ylo yhi\n"%(ybnds[0],ybnds[1])
if line.find("z_bound")>=0:
zbnds=line.split()[2:4]
zbound="%s %s zlo zhi\n"%(zbnds[0],zbnds[1])
if line.find("taper_cutoff")>=0:
cutoff=line.split()[2]
continue
if flag=='nuclei' and len(line)>1:
numnuclei+=1
ln=line.split()
np=' '.join(ln[0:3])
q=ln[3]
m=q2m[int(float(q))]
if m not in masses:
masses.append(m)
massstr+="%d %s\n"%(types,m)
q2type[q]=types
types+=1
nuclei[numnuclei]=[np,q]
continue
if flag=='electrons' and len(line)>1:
numelec+=1
ln=line.split()
ep=' '.join(ln[0:3])
spin=ln[3]
radius=ln[4]
electrons[numelec]=[ep,spin,radius]
if numelec==1:
if emass!=0: massstr+="%d %s\n\n"%(types,emass) # electron mass=1
else: massstr+="%d 1.000000\n\n"%(types)
continue
if flag=='n_vels' and len(line)>1:
vels+=line+" 0.0"
continue
if flag=='e_vels' and len(line)>1:
ln=line.split()
ln[0]=ln[0]+numnuclei
vels+=ln[0]+" "+ln[1]+" "+ln[2]+" "+ln[3]+" "+ln[4]+"\n"
continue
if flag=='n_mass' and len(line)>1:
print "Setting nuclear masses is unsupported\n"
continue
if flag=='e_mass' and len(line)>1:
print "Setting electron masses is unsupported\n"
continue
print "\bDone"
# Build data file
print "Writing datafile to %s ... "%('data.'+infile),
sys.stdout.flush()
print "\b"*19+"General section ",
datafile.writelines("Created using cfg2lammps (c) AJB-2009\n\n%d atoms\n%d atom types\n\n%s%s%s\n"%(numnuclei+numelec,types,xbound,ybound,zbound))
print "\b"*19+"Masses section ",
datafile.writelines(massstr)
print "\b"*19+"Atoms section ",
datafile.writelines("Atoms\n\n")
for n in range(numnuclei):
datafile.writelines("%d %d %s %s 0 0.0\n"%(n+1,q2type[nuclei[n+1][1]],nuclei[n+1][0],nuclei[n+1][1]))
for e in range(numelec):
datafile.write("%d %d %s 0.0 %s %s\n"%(e+numnuclei+1,types,electrons[e+1][0],electrons[e+1][1],electrons[e+1][2]))
print "\b"*19+"Velocities section\n",
datafile.writelines(vels)
datafile.writelines("\n")
print "DONE .... GOODBYE !!"
datafile.close()
# Build input script
import datetime
scriptfile.writelines(general%(datetime.date.today(),infile[:-4],boundary,cutoff,period))
if op=='minimize':
scriptfile.writelines(minimize%('all',period,'all',period,steps,'10000'))
#%(group,period,group,period,iterations,fcalls)
elif op=='single_pt':
scriptfile.writelines(single_pt%())
elif op=='dynamics':
if Tflag==True:
scriptfile.writelines(dynamics%('NVT',dt,ensemble['nvt']%('all',Tstart,Tstop,Tdamp,''),'all',period,'nvt','all',period,'nve',steps))
#%(ensemble,dt,group,ensemble%(group,tstart,tstop,tdamp,options))
else:
scriptfile.writelines(dynamics%('NVE',dt,ensemble['nve']%('all'),'all',period,'nve','all',period,'nve',steps))
#%(ensemble,dt,group,ensemble%(group))
scriptfile.writelines("\n")
if __name__ == '__main__':
# set defaults
# check for input:
opts, argv = getopt(sys.argv[1:], 'h')
# if no input, print help and exit
if len(argv) != 1:
printHelp()
sys.exit(1)
else:
infile=argv[0]
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
printHelp()
generate_lammps_input(infile)

View File

@ -1,65 +0,0 @@
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60 F61 F62 F63 F64 F65 F66 F67 F68 F69 F70 F71 F72 F73 F74 F75 F76 F77 F78 F79 F80 F81 F82 F83 F84 F85 F86 F87 F88 F89 F90 F91 F92 F93 F94 F95 F96 F97 F98 F99 F100
65 1.602500 1.847210 2.428450 2.854700 3.179100 4.544920 3.661700 3.154620 2.767460 3.478820 2.366160 3.155160 2.230730 2.352020 2.044080 2.049760 1.806560 1.864640 1.789170 1.712870 1.654070 1.661440 1.758570 1.867170 1.860790 2.005540 2.021950 2.223020 2.178060 2.676830 2.248710 1.893170 2.081190 1.902970 2.179950 2.205320 2.469800 3.079270 3.011320 3.192580 3.611520 3.535790 3.074110 2.845820 2.665760 2.622560 2.980290 3.278100 2.903910 2.963080 2.382150 2.458860 2.452530 2.353320 2.110870 1.764400 1.967500 1.750280 2.169140 2.531120 2.306520 2.463120 2.288620 2.304630 2.279590 2.696530 2.632870 2.908160 2.979250 2.721520 2.962370 2.850910 2.521280 2.819900 2.871190 2.765470 2.931630 2.822900 3.129440 2.460740 2.145160 2.092230 2.201780 2.231810 2.368860 2.226440 1.989590 1.670860 1.605980 1.639810 1.776830 2.192250 2.005160 1.971960 2.017060 1.910040 1.856710 1.925730 1.773370 1.625320 1.723740
66 1.602500 1.543820 1.746750 1.767360 1.990970 2.019260 1.909180 1.819990 1.627490 1.734930 1.641380 1.646010 1.896660 2.014890 2.144340 2.379700 2.395860 2.403360 2.434960 2.576080 2.086380 1.804740 1.800590 1.719790 1.740230 1.768660 1.917620 1.984760 1.942770 2.937550 3.075790 2.438570 3.216960 2.554580 2.378440 2.391660 2.552000 2.253090 2.572630 2.107210 2.765400 2.835970 2.942400 2.881330 2.885680 2.988990 3.142540 2.925960 2.986040 2.736770 2.797410 2.745800 3.545530 2.992570 2.698270 2.468860 2.495980 2.768810 2.908330 3.097850 2.748750 2.922960 2.520550 2.763420 2.728250 2.596690 3.222620 2.727130 3.607610 3.545550 3.430170 3.362950 3.502410 3.214580 2.807740 3.168070 2.968940 3.146240 2.502160 3.214370 2.511880 2.457440 2.682270 2.759590 2.743480 2.873990 2.896230 2.909750 2.904970 3.362240 3.686490 3.516310 3.563890 3.690950 3.166930 3.262190 2.951360 2.694090 3.445350 2.861470 2.849300
67 1.602500 1.531100 1.586730 2.014180 2.195620 2.007930 1.960860 2.217590 1.794480 1.698470 1.938620 1.791000 1.983490 2.077880 2.007480 2.328330 2.080550 2.029670 2.011440 1.770340 1.931580 1.811050 1.938320 2.752640 2.003110 2.083280 2.184880 2.705970 2.691800 2.918750 3.247420 3.493530 2.879350 2.848360 2.946620 3.161330 2.809910 2.940800 2.818490 2.799750 2.718940 2.795540 2.639180 2.771040 2.739290 3.059810 2.710810 2.748410 3.178220 2.565960 2.589490 2.903570 2.590920 2.957380 2.536220 2.727300 2.939390 3.079050 3.154390 2.318730 3.019290 2.804410 3.162520 2.929660 2.752950 2.519810 2.740460 2.731370 3.336120 3.158610 3.351360 2.967940 2.728890 2.985110 3.149860 2.988220 2.862160 3.070600 3.099590 2.812730 2.896110 3.057120 3.007410 2.830630 3.473040 3.286630 3.371790 3.437820 3.023400 3.044100 3.557510 3.135460 3.472420 3.425260 2.984170 2.986280 2.837600 3.516970 2.987890 2.953560 3.327330
68 1.602500 1.823270 1.726220 2.027900 1.955060 1.889310 1.973570 1.828170 1.827770 1.832220 2.151660 2.147630 2.082060 2.186460 2.588260 2.331100 2.165690 2.103310 1.945430 1.847610 1.591490 1.664170 1.717660 1.643040 1.750960 1.974050 2.098720 2.449810 2.278370 2.527890 2.858990 2.558740 3.726120 2.909590 3.412140 3.635960 3.581880 2.988360 2.972220 2.282060 2.853520 2.446860 2.524670 1.952800 2.076430 2.053950 2.006230 1.800470 1.709250 1.975390 1.793320 1.709900 2.039730 2.192860 2.978840 2.626290 3.197820 3.139000 3.396290 4.014070 2.016270 2.767020 2.503280 3.402820 3.329470 3.295700 3.244570 2.460880 2.395740 2.429360 2.472430 2.706930 2.967800 2.928620 2.893950 2.942180 2.935150 2.899360 2.931720 2.541820 2.981450 3.734410 2.895240 2.516870 2.392180 2.035770 2.285960 1.957680 1.711180 1.974350 1.926260 2.001700 2.023770 2.395580 2.317570 2.781390 3.445180 2.782420 3.249800 3.223630 2.826900
69 1.602500 1.532620 1.907220 1.740550 1.848280 1.779570 1.652870 1.748780 1.945760 1.764200 1.851510 1.854950 1.773860 1.956340 1.951030 2.081570 2.169490 2.528350 2.370110 2.353170 2.095610 2.097670 2.109740 1.857500 1.843140 2.056310 1.797640 1.710020 1.666120 1.724380 1.736280 1.879520 2.138250 2.331850 2.417250 2.641540 2.706990 2.847220 2.555900 2.586270 2.417140 2.235150 1.845070 1.773650 1.787300 1.746910 2.201750 2.466200 2.463350 2.188950 2.055240 1.821550 1.895180 1.723920 1.972400 2.208900 2.138620 2.718190 2.565780 2.953350 2.956840 2.360520 2.519630 2.446430 2.194970 2.281750 2.393440 2.369250 2.453080 2.826120 2.704640 2.889500 2.574070 3.077830 2.887360 2.726230 3.036160 2.798830 2.876970 3.092510 2.805920 2.237320 2.050430 1.964880 1.792820 1.985250 2.126480 2.132530 2.160570 2.277940 2.079920 1.852140 1.701100 1.834800 2.061140 2.082150 1.938080 1.860010 2.037770 1.885720 2.133040
70 1.602500 1.537190 1.683300 1.786430 1.877960 1.789020 1.879750 2.045490 1.995370 1.812080 2.077220 1.961110 2.043590 2.105330 2.136230 1.997380 2.113580 2.131730 2.167020 2.200210 2.223510 2.090130 2.064780 2.214280 2.156600 2.204750 2.510850 2.840390 3.279650 3.326760 3.398420 3.525540 3.292420 3.243850 2.326220 2.183870 2.025090 2.074250 2.571820 1.962490 2.079100 2.001630 2.628580 2.896590 2.809450 2.809450 2.614920 2.385920 2.290030 2.389260 2.656400 2.892630 2.826640 2.724250 3.026400 3.071610 2.546350 2.694760 2.854740 2.682470 2.669270 2.524490 2.615810 2.753460 2.838740 2.251430 2.229140 2.504840 2.651700 3.113490 2.800100 2.943140 3.202010 3.114880 2.741900 2.682530 2.781750 2.935500 3.023060 3.052530 3.028030 3.130090 3.125310 2.836010 2.828220 2.910740 2.850710 2.797500 2.793130 2.955380 2.845460 2.317740 2.307650 2.071590 2.391850 2.611800 2.787650 2.841140 3.051590 2.972020 2.767930
71 1.602500 1.646400 1.961220 1.615900 1.866900 1.490940 1.634400 1.724840 1.837110 2.259040 2.465850 2.455530 2.785120 2.834700 3.054440 2.748040 2.711640 2.875860 2.714140 2.716540 2.308780 2.233930 2.332660 2.311640 2.789250 2.365930 2.203920 2.349620 2.115030 2.346950 2.064530 1.832130 1.929860 1.910720 1.843170 1.861660 1.952130 1.940010 2.080800 2.417360 2.442910 2.486100 2.769430 2.803210 2.961540 2.519230 2.893580 2.736010 2.595750 2.688190 2.535400 2.737190 2.267080 2.329720 2.636310 2.673530 3.035180 3.063330 2.936660 2.535480 2.439070 2.601860 2.724330 2.832590 3.222550 3.415550 3.265390 3.136370 2.836230 2.845940 2.951170 3.169340 3.177830 2.938290 3.280190 3.608920 3.287950 3.350850 2.673300 3.007440 2.569640 2.635430 2.959310 3.438510 2.931930 3.153870 3.100280 3.071120 3.005510 3.402470 2.762320 2.819530 2.767550 2.516880 2.796470 2.736830 2.821840 2.933550 2.948480 2.949840 3.199140
72 1.602500 1.643050 1.849360 1.574630 1.743730 1.853740 1.776890 1.886430 1.754040 2.018130 1.677540 1.752820 1.998460 2.171520 2.115700 2.340790 2.323060 2.136890 2.079600 1.917710 1.835850 1.741020 1.790870 2.066700 2.041880 2.025530 2.423630 2.458830 2.382080 2.477840 2.089760 1.914720 1.694440 1.782070 2.245010 1.944260 2.058850 2.224070 2.504120 2.447220 2.465930 2.484320 2.563560 2.811160 2.375350 2.283130 2.318970 2.293940 2.174160 2.371850 2.519210 2.842810 2.913660 3.415100 2.872070 2.948000 2.733340 2.764520 2.771900 2.777840 2.710810 2.862040 2.666830 2.753480 2.758790 2.698700 2.759410 2.658570 2.654050 2.729270 2.556950 2.319680 2.440030 2.513280 2.632440 2.398570 2.683840 2.903270 2.943250 3.363290 2.506450 2.249730 2.611490 2.215780 2.290240 2.317070 2.433310 2.311610 2.503660 2.921860 2.933500 2.696760 2.905180 2.796200 2.533900 2.413760 2.319120 2.326240 1.990400 1.734640 1.781200
73 1.602500 1.680720 1.622750 1.908790 1.880750 1.828660 1.989560 2.004130 1.943990 1.881010 1.901400 1.689260 2.016620 2.179950 2.488580 2.370270 2.482140 2.278150 2.856140 2.817420 2.522580 2.329540 2.093360 2.347770 2.500630 2.121790 2.287340 1.909960 2.186020 2.418330 2.488410 2.446170 2.604580 2.683050 2.650810 2.698980 2.233910 2.365980 2.278660 2.331380 2.202450 2.515440 2.455470 2.819970 3.264130 3.174020 2.989770 3.092790 3.002780 3.101780 3.254670 3.149440 3.337990 2.662530 2.924580 2.595400 2.328670 2.576740 2.341660 2.258560 2.591890 2.208280 2.583750 2.163460 2.574670 2.727540 2.541310 2.670850 2.825430 2.844410 3.141590 3.278460 3.334140 2.780250 2.891690 2.831660 3.387770 3.217410 2.975210 3.565700 3.754680 3.534380 3.110000 2.659560 2.648700 2.446760 2.535060 2.548510 2.288590 2.904400 2.557490 2.517610 2.501870 2.662180 3.255760 2.973050 2.693980 3.314290 3.125820 2.909560 2.854260
74 1.602500 1.543090 1.561620 1.962180 2.235570 2.233910 2.359310 2.541440 2.950090 3.652900 4.271260 3.516870 3.096090 2.484870 2.273600 1.896540 1.806300 1.887370 2.006960 2.213710 2.120800 2.585740 2.549860 3.133220 2.690450 3.181950 3.107750 3.020040 3.004200 2.769490 2.778890 3.090720 3.015530 2.724750 2.661700 2.932080 2.798990 2.900410 2.673070 2.565960 2.839320 2.623330 2.600460 2.959270 2.890070 2.708970 2.586190 2.822470 2.740800 3.316010 3.144310 3.139320 3.072920 2.766920 2.728600 2.720080 2.797340 2.803950 2.730810 3.005800 3.390480 3.394070 3.718130 3.258310 3.150360 2.734760 3.155940 3.206990 3.366890 2.940720 2.896360 3.152880 2.797610 2.782980 3.379330 2.966520 3.202110 3.106510 2.904930 3.270650 2.749990 2.951950 2.741500 2.769910 2.837320 2.738270 2.829820 2.565640 2.827100 2.656370 2.487120 2.499200 2.130210 2.066190 2.056550 1.986060 1.719700 1.454760 1.560640 1.911910 1.765890
75 1.602500 1.572840 1.725890 1.703440 1.903410 1.722810 1.938600 1.905710 1.857330 2.173350 2.424040 2.219920 2.191440 2.208990 2.321490 2.123170 2.119540 2.179830 2.072240 2.568900 2.638150 2.657180 2.611450 1.956890 1.573050 1.626170 1.541970 1.805620 2.488410 2.763020 2.905640 3.004590 3.014120 3.223040 2.971610 2.798200 3.089560 2.684330 2.711710 2.685310 2.280680 2.380790 2.163890 2.144080 2.468400 2.498230 2.665420 2.660100 3.089520 3.252470 2.943080 3.466830 2.700460 2.998100 2.738290 2.679100 2.471820 2.938330 3.215960 3.523470 3.075910 2.807420 2.788420 3.941970 2.649220 2.625720 2.296700 2.382800 1.922840 1.620890 1.624580 1.732220 1.824190 2.014110 2.042550 2.087720 2.435000 2.183040 2.378770 2.521460 3.238950 3.419410 2.708720 2.596190 3.168360 2.770730 3.005250 2.797890 2.592530 2.546790 2.932660 2.954150 2.932680 3.461010 3.573260 3.408280 3.715830 3.086320 2.997500 2.637130 2.522670
76 1.602500 1.667360 1.892140 1.632980 1.851260 1.721860 1.787280 1.683100 1.684300 1.700770 2.128280 1.988870 2.168900 2.286630 2.253590 2.254270 1.894860 1.994230 1.713400 1.643810 1.628440 1.608520 1.937420 1.971020 2.040140 2.564840 2.529740 2.647140 2.443960 2.437950 2.570810 2.511270 2.542410 2.554390 2.311980 1.988450 2.136310 1.998830 2.118470 2.000310 2.322680 2.361510 2.512240 2.322720 2.811160 2.643310 2.679390 2.810550 2.649250 2.698760 2.596010 2.752500 2.731890 2.857280 2.626620 2.351000 2.167080 2.223840 2.023070 1.923070 2.274280 2.153470 2.482450 2.901660 2.956140 2.940660 2.955940 3.844160 3.198710 2.636460 2.803060 2.639630 2.887500 3.009700 3.162650 3.177910 3.472610 3.322000 3.135090 3.444610 3.352040 2.665940 2.927520 2.727730 2.822080 2.836110 2.874840 2.827260 2.879550 3.426040 3.520470 2.968910 3.148850 3.240060 3.478620 2.885360 2.987250 3.005210 3.052720 3.134430 2.661650
77 1.602500 1.497070 1.640090 1.673310 1.869420 1.864580 1.610040 1.782460 1.824140 1.792310 1.953950 1.813010 1.888470 1.859810 2.127420 1.862490 1.930060 1.918270 2.088340 1.910950 2.126940 2.036680 2.055800 2.064730 2.158490 2.181770 2.189570 1.806810 1.987020 1.956500 1.856570 1.930380 2.015740 2.295490 2.644410 2.915280 2.797440 2.379080 2.143830 2.039830 1.682870 1.997190 2.018930 1.824660 2.006460 2.106100 1.860010 1.825510 1.730930 1.903960 1.727740 1.999160 1.958740 1.868530 1.689790 1.729770 1.733680 1.725710 1.890590 2.233430 2.638730 2.450300 2.478170 2.653050 2.557900 2.573430 2.749660 2.484830 2.985610 2.975020 3.117000 3.597490 3.243520 3.181190 2.663920 3.012440 2.782830 2.853740 2.958660 2.736010 3.021420 2.359900 2.766420 2.482580 2.639860 2.817120 2.435130 2.646320 2.562890 2.234240 2.466590 2.580110 2.640940 3.221010 3.236120 3.038110 2.741720 3.009740 2.897500 3.110990 3.008500
78 1.602500 1.441180 1.650020 1.610340 2.236330 2.338580 2.095000 2.572770 2.216360 2.151270 1.792580 1.557920 1.855570 1.969440 1.870100 2.129770 2.796810 2.744750 1.887990 2.117690 2.205140 2.152970 1.947920 2.283830 2.421950 2.235490 2.886860 2.293870 2.508080 2.213140 1.957930 1.729310 1.746320 1.910930 2.060830 2.165400 2.382310 2.256510 2.438340 2.343110 3.109960 2.897280 2.897120 2.597160 2.486280 2.346330 2.565630 2.437810 2.301120 2.673580 2.537870 2.387600 2.297840 2.338080 2.243190 2.427980 2.468660 2.657620 3.160860 3.306900 2.743260 3.405050 3.167990 3.492760 3.143120 2.859590 2.558220 2.326710 2.951480 3.256480 3.225650 2.467050 1.864610 1.605090 1.530470 1.463500 1.808160 2.436050 2.664880 2.862300 3.248410 3.101770 2.995500 3.633110 3.260540 3.240470 2.981070 2.769580 2.540580 2.237830 2.592230 2.247960 1.902020 1.981210 1.834580 2.135250 2.048310 2.102490 1.856300 1.987550 1.736220
79 1.602500 1.580790 1.811300 1.806250 2.006060 1.749960 1.604260 1.747170 1.708260 1.773610 1.834820 1.771660 1.832840 1.838090 1.712140 1.575680 1.556430 1.875170 1.678240 2.029930 1.997680 1.836760 2.000720 1.857340 1.765810 1.783760 1.866950 1.878280 1.919160 2.066390 2.193930 2.156240 1.950990 2.126580 2.801720 2.446920 2.334910 2.456830 2.219750 2.517820 1.945550 2.177780 3.022450 3.829560 3.054350 3.080060 3.449210 3.024440 2.747890 2.609730 2.522850 2.164010 3.238240 2.901460 3.059130 2.800800 2.649950 2.702050 2.593680 2.922430 2.600770 2.867660 2.741020 2.912860 3.057580 3.108850 2.915820 3.125030 3.520810 3.412320 3.113710 3.444810 3.456530 3.558430 2.946810 3.169580 3.578450 2.873400 2.787680 2.238650 2.527590 2.925590 2.767280 2.658950 2.202900 2.291260 2.377430 2.525720 3.018160 2.277310 2.779560 2.644550 2.870100 2.746330 2.919100 3.095690 3.049180 2.954400 3.278240 2.772160 3.220230
80 1.602500 2.035570 1.733280 2.092820 2.089960 2.315560 2.410810 2.590620 2.376580 2.497410 2.690530 2.042710 2.210490 1.946340 1.783380 1.592930 1.737030 1.944030 1.957260 2.129920 2.371880 2.351270 2.163520 2.414260 2.351820 2.306940 2.604610 2.696900 3.110930 3.184750 2.985350 2.645270 2.954810 2.948880 3.275960 3.060380 3.181950 3.361720 3.538130 3.142040 3.083170 3.260990 3.439120 3.425180 3.584840 3.722900 3.510370 3.140090 3.086140 2.965210 2.650690 2.513440 2.465910 2.328740 2.117130 2.059790 2.193040 1.910160 2.272700 2.582020 2.981560 3.052200 2.320230 2.883480 2.712930 2.941590 2.998040 2.380140 2.922110 3.323050 2.844530 2.469820 2.617290 2.637230 2.408210 2.208600 2.434800 2.758300 2.665710 2.512420 2.499110 2.504240 2.700050 2.832990 2.901040 2.898570 3.147250 2.540000 2.816110 2.482850 2.098000 1.890340 2.172550 2.385100 2.294880 2.417870 2.368590 2.826000 2.697910 2.638900 2.656010
81 1.602500 1.655500 1.744850 1.584120 1.771740 1.881670 1.729760 1.708960 1.784930 1.691360 1.845220 2.035450 1.795020 1.793970 1.796040 1.740520 1.519390 1.541380 1.710350 1.900930 2.183770 2.079700 2.234860 2.405580 2.240560 2.016150 2.036220 1.903210 1.938650 1.752920 1.636380 1.805600 1.922360 1.894500 2.029700 2.147130 2.288780 2.040930 2.059550 2.642730 2.273100 2.706600 2.644360 2.659760 2.298450 2.345740 1.906130 1.807950 2.100340 2.018940 2.051170 1.758010 2.058190 2.070580 2.388080 2.534470 2.475340 2.820710 2.809880 2.772660 2.412250 3.228070 3.473150 3.029340 3.442230 2.717300 2.521420 2.325000 2.602310 2.734180 2.852600 3.334000 3.207220 3.285860 3.644770 3.068800 2.764940 2.945820 3.145900 3.244050 2.901030 2.909340 3.509070 2.840990 3.072540 3.136310 2.731270 2.900830 2.648740 2.554380 2.785680 3.535800 2.688160 3.580080 3.206650 3.159100 3.165360 3.064580 2.851830 2.930460 2.846740
82 1.602500 1.642270 1.784200 1.630930 1.602310 1.820320 1.947700 1.866740 1.888720 1.986690 1.862920 1.669410 1.592380 1.505000 1.803120 1.934060 2.387090 2.256540 2.159530 2.307620 2.445540 2.684140 2.353950 2.612490 2.833280 2.868980 2.811450 2.536540 2.784650 2.888600 3.156560 2.963610 3.440640 2.938580 3.043120 3.157750 3.013980 3.004100 3.200110 3.114820 3.093210 3.348160 2.627670 2.502780 2.172610 2.166820 2.307810 2.205180 2.265370 2.314360 2.161960 2.391090 3.318040 3.225790 3.094250 3.497800 3.253210 3.503580 3.712940 3.394560 3.437840 3.080890 2.747240 2.446280 2.331600 2.584920 2.256190 2.482490 2.314620 2.544390 2.542790 2.406840 2.371550 2.349270 2.328380 2.420260 2.657700 2.374820 2.275830 2.191890 2.279740 2.076990 2.089440 2.075070 2.620400 3.198230 3.119830 3.983620 2.921570 2.920730 2.901200 2.891460 2.837600 2.953260 3.232960 3.292230 2.522480 2.831020 3.138080 3.194740 3.575660
83 1.602500 1.581850 1.745470 1.834170 1.754940 1.836810 1.704200 1.795190 1.812460 2.163380 2.309200 2.261390 2.396420 2.573260 2.509980 3.026320 2.653810 3.102910 2.833180 2.602600 2.593970 2.694450 2.568170 2.343710 2.019290 2.466420 2.198860 2.388890 2.769010 2.528390 2.196270 2.484260 2.480940 2.362520 2.035640 2.347170 2.226640 2.273380 2.101890 2.015250 2.200240 2.219830 2.471480 2.714750 2.479700 2.737200 2.997550 2.200260 2.851300 2.871960 2.687260 2.537000 2.834710 3.123310 2.984810 2.953350 3.256710 3.367470 2.990050 2.849590 3.095210 2.735110 3.085810 2.741530 2.857640 2.885730 3.050850 3.286760 3.281880 3.039110 3.302430 3.078200 2.868420 2.776950 3.093320 2.880190 2.749840 2.664150 2.849270 2.853180 2.919800 3.142290 3.318920 2.810730 2.979240 3.090560 2.713510 2.859700 2.944010 3.088000 2.548480 2.539750 3.055660 2.863960 3.206090 3.778500 3.311220 3.631880 3.474400 3.536490 3.109740
84 1.602500 1.582760 1.802490 2.049150 1.933480 1.906160 1.797880 1.951000 1.780510 1.830200 1.871900 2.208390 2.521520 2.785230 2.783270 2.873510 2.576540 2.485460 2.598420 2.935470 2.242280 2.384790 2.326590 2.404650 2.308970 1.993750 1.680780 1.614990 1.637620 2.039440 2.164290 1.977460 2.312670 2.329650 2.233790 1.986590 2.001450 1.883490 1.873380 2.257580 2.320750 2.486280 2.029830 2.097290 2.012230 2.069250 2.108740 2.385930 2.010210 2.036930 2.015130 1.772100 1.889200 1.714370 1.684930 1.724440 1.896820 1.750640 1.868170 1.615760 1.868280 1.980230 1.835410 2.075740 2.085160 2.279560 2.539080 2.524960 2.158480 2.365430 2.171650 2.205400 2.214610 2.255310 2.404280 2.559930 2.785310 3.117270 3.320050 3.580120 3.345320 3.171500 2.754790 2.667580 2.563760 2.598710 2.581490 3.144160 2.890950 3.626460 3.187400 2.814900 2.417630 2.549990 2.121320 1.995780 2.507940 2.576350 2.475080 2.520090 2.434080
85 1.602500 1.622400 1.671250 1.611570 1.557860 1.611870 1.650470 1.909440 1.632860 1.590590 1.676930 1.783620 1.699530 1.814550 1.993910 1.942400 1.801200 1.725870 1.872430 1.905430 2.243710 2.236430 2.625950 2.565860 2.182440 2.109780 2.356080 2.366750 2.036520 2.341110 2.454340 2.073580 2.169740 2.141350 2.356050 2.251470 2.112870 1.907740 2.294860 2.162880 2.009260 2.173870 2.650380 2.152260 2.605700 2.818620 2.725060 3.219860 2.720180 3.299710 2.725040 2.993540 2.941210 2.795380 2.987810 2.595970 3.421010 2.742820 3.168120 2.748940 2.819580 2.860930 3.018070 2.601340 2.836810 3.059880 3.227880 2.815970 2.588230 2.855350 2.874900 2.702710 2.688220 2.607490 2.434690 2.639690 2.683160 2.670510 2.860550 2.558280 3.346480 2.926760 3.242900 3.359550 2.895800 3.002640 2.503300 2.635070 2.581430 2.407360 2.778870 2.113130 2.066820 2.767590 2.343580 2.035000 2.060620 1.914940 1.911770 1.838690 2.016230
86 1.602500 1.666900 1.747110 1.650950 1.829700 1.734560 1.887060 2.097160 2.023680 1.851770 2.004570 1.766240 1.824210 1.979270 1.806860 1.869250 2.300150 2.180990 2.401790 2.257420 2.102500 2.003980 2.291710 2.141750 2.107370 1.888960 1.886790 1.941060 1.956050 2.013240 2.061150 1.969660 2.220430 1.994260 2.266240 2.446860 2.161390 2.720030 2.579960 2.916190 2.666530 2.617130 3.015140 2.942120 3.028550 3.193790 3.016750 3.010560 2.798190 2.767010 2.587360 2.885350 2.628660 2.455780 2.694860 3.295070 3.407140 3.092930 3.293490 3.118690 3.259430 3.162370 3.233790 2.656730 3.179140 2.671460 2.752890 2.750250 2.773950 3.083500 2.902570 2.922960 2.813870 2.807490 2.110150 2.003060 2.089920 2.688270 2.694440 2.994070 2.887380 3.205180 3.163620 3.004340 2.890240 3.235210 3.094630 2.877430 3.096310 3.097670 3.960070 3.174480 3.183930 2.998230 2.646270 2.428140 2.350730 2.386220 2.348720 2.280810 2.189850
87 1.602500 1.773380 1.946760 1.660450 1.718370 1.842440 1.869300 1.902480 2.061000 2.317220 2.061890 1.821770 1.529130 1.603430 1.876450 2.144360 2.560630 2.729480 2.641660 3.027960 3.147310 2.586220 2.198670 1.953380 1.969390 1.536890 1.546540 1.828350 2.247470 2.408280 2.175470 2.454050 2.859700 2.697910 3.043650 3.393600 3.384430 3.325790 3.567480 3.487310 3.218320 2.846000 3.229020 3.062420 3.243050 3.060410 2.856710 3.187640 3.028630 2.950370 3.398240 3.182800 3.294770 2.932450 3.133500 2.943930 3.169940 3.687000 3.236770 2.494140 3.086560 2.492390 2.545770 2.406180 2.174270 2.487360 2.846420 2.583810 2.810230 2.550010 2.773230 2.660230 3.110910 2.922450 3.606760 3.176700 3.025370 3.676290 2.756170 3.481570 3.753470 3.451350 2.794510 2.651260 2.407230 2.524790 2.517870 2.624810 2.593760 2.911920 3.040990 2.941290 2.912650 2.716380 2.687590 3.152920 2.870730 3.291420 3.102190 2.961640 2.654260
88 1.602500 1.611290 1.543330 1.679880 1.965610 1.929960 1.775940 1.682030 1.781600 1.833350 1.642110 2.242040 1.900830 2.003730 1.865420 1.660140 1.747270 1.958460 1.862760 2.302250 2.232330 2.240500 2.082980 1.908140 1.966510 1.732490 1.885230 1.774220 2.077880 2.174330 2.304260 2.623090 2.807110 2.687620 2.887430 2.872170 2.953570 2.946390 3.012450 3.214790 2.669590 2.916100 2.894850 2.702820 3.005970 2.457010 2.901500 2.775350 2.693400 2.709710 2.381050 2.211930 2.448360 2.465410 2.425010 2.347280 2.274340 2.109720 1.894990 1.796020 1.777660 1.915780 2.052690 2.378640 2.144350 2.221560 2.298640 2.015260 2.674380 2.788060 3.083260 3.062990 2.752600 2.726590 2.745800 2.451820 2.974230 2.863100 3.440790 3.259520 3.016420 3.172740 2.833630 2.811780 2.774980 3.016720 2.744270 2.523950 3.106850 2.604350 2.843730 2.854920 2.990560 2.733060 3.142870 3.348040 3.609660 3.517320 3.136360 3.223670 2.757200
89 1.602500 1.614440 1.807640 1.831710 1.819960 1.762430 1.801820 1.907840 2.147180 2.029460 2.272950 2.402820 2.341340 2.163360 2.428970 2.528270 2.452570 2.210140 2.269980 2.341220 2.234780 2.207660 2.241480 2.242580 2.003240 2.180900 2.213000 2.912800 3.017130 3.629280 3.125850 3.384780 3.267600 3.225790 3.727940 3.058990 3.577980 2.803400 2.869470 2.573740 2.353920 1.796300 1.991160 2.555470 2.612870 2.602420 2.871190 2.781340 2.661320 3.060130 3.099090 2.865100 3.082850 3.141730 2.900220 2.871240 2.962840 2.697890 2.489590 2.720180 2.342560 1.852440 1.404990 1.962310 1.941350 2.343530 2.720750 2.451650 3.006900 3.398410 2.789760 2.699230 2.818740 3.084580 3.515060 3.203770 3.531890 3.004430 3.200750 2.677370 3.012820 2.953780 3.238290 3.011770 2.601410 2.498150 2.730590 2.680980 2.489590 2.277380 3.099630 2.510530 2.903290 3.110840 2.759810 2.644590 2.836280 3.143140 3.021600 3.360920 2.879030
90 1.602500 1.669630 1.635520 1.730050 1.821340 1.698570 1.758160 1.754080 1.723610 2.041390 1.842530 1.856320 1.842110 2.075390 1.871420 1.790990 1.740800 1.926400 1.642870 1.839770 1.635380 1.752850 1.718160 1.822040 1.769600 1.798020 2.138560 2.199240 2.130470 2.552960 2.301510 2.695850 2.279000 2.496860 2.732990 2.997220 3.084450 2.830340 3.087900 2.992840 3.132180 2.753420 2.874080 2.838560 2.671860 2.840920 2.765820 2.578520 2.923000 2.521120 2.730940 2.550660 2.007460 2.469510 2.461190 2.812890 2.368420 2.121720 2.561400 2.569970 2.423550 2.401330 2.640470 2.816280 2.673380 3.201220 3.333860 3.227670 2.997060 2.947180 3.045330 2.649720 2.559670 3.256440 2.903020 2.872750 2.606650 3.178120 3.165870 2.714780 2.962440 2.879570 2.846140 2.398490 2.537490 2.868500 2.891840 2.571030 2.917450 2.540330 2.671650 2.639130 3.125770 2.605530 2.979300 3.000020 2.874550 3.119570 3.287350 3.047680 3.456140
91 1.602500 1.701160 1.794830 1.803710 1.794410 1.765340 1.630400 1.979710 2.029460 2.099800 1.922820 2.006950 1.889340 1.892300 1.817650 1.922670 1.974420 2.166180 2.310870 2.433550 2.898470 2.727720 2.768910 2.861240 3.040880 2.896250 3.210340 3.571030 3.507480 3.197120 3.315380 3.025970 2.968430 2.830990 2.745050 2.719580 2.443750 2.725150 3.076960 2.795670 3.045350 3.138440 2.981400 3.221050 3.274250 3.015870 2.712050 2.888350 3.226670 3.171580 3.522460 3.131360 3.096670 2.722510 2.599830 2.553390 3.252840 3.061740 2.754410 2.367240 2.786620 2.675810 2.720580 2.714710 2.839050 3.054460 3.172430 3.177220 3.206110 3.594910 3.483860 3.220960 3.349980 3.129160 2.928580 2.947090 2.856160 2.847460 3.161760 2.878540 2.685140 3.010890 2.776250 3.338600 3.329540 2.608460 2.759930 3.151680 2.853930 2.684110 2.802590 2.899910 2.886440 2.799640 2.698240 2.602390 2.593250 2.021630 2.231620 2.212540 2.178880
92 1.602500 1.647700 1.833090 1.691590 1.768810 1.894180 1.622710 1.679400 1.714170 1.951280 1.930150 2.081470 1.985400 1.739650 1.705500 1.660140 1.905510 2.125120 2.499630 2.978030 2.988520 3.096340 3.519830 3.110910 3.286040 3.058820 2.620080 2.416030 2.655120 2.343410 2.422030 2.785620 3.135010 2.996960 3.123880 2.913870 2.939310 2.948140 2.690250 2.864550 2.964000 2.729120 2.962110 2.566570 2.773410 3.158320 3.300580 3.056330 3.336570 3.504280 3.372840 3.252820 3.768100 2.642650 2.217840 2.252940 2.914140 2.691230 2.796220 3.673730 3.147680 2.898420 2.865630 3.219920 3.369200 2.928920 3.206330 2.907690 3.148210 3.468350 3.094770 3.217580 2.868850 2.841450 2.811690 2.678150 2.925170 2.934410 2.530350 2.286850 2.623160 2.882820 2.640400 3.100650 3.094590 3.475630 3.087390 2.862210 3.023480 2.626050 2.426660 2.763840 2.756140 2.977060 2.772210 2.806730 3.061010 2.945620 3.235420 3.038290 2.756850
93 1.602500 1.621300 1.662970 1.641630 1.685240 1.666000 1.694820 1.740670 1.877270 1.719030 1.817670 1.925520 1.736530 1.796810 1.866750 2.014140 2.136830 2.261450 2.410000 2.485200 2.742990 2.819340 2.861180 3.264620 2.643810 3.224190 3.477580 3.208470 2.716460 2.461090 2.733680 2.688900 2.634640 1.860910 1.920910 1.879390 2.042090 1.909730 2.074840 1.869030 2.456410 2.472250 1.865180 1.905290 1.857990 1.912010 2.347900 2.389980 2.131010 2.787770 2.665880 2.973400 3.105260 2.519250 3.296650 3.258880 2.753840 3.236060 3.168000 2.637860 3.067880 2.691660 2.693380 2.694860 2.775400 2.707720 2.647330 2.856350 2.684020 3.244520 3.158430 2.601470 2.992410 2.772560 2.714550 2.726930 2.867250 2.751190 3.006590 2.609570 2.306220 2.908130 2.812910 2.844790 2.595750 2.621600 2.551940 2.408740 2.295240 2.865410 3.144860 3.037720 3.048340 3.167380 2.892080 3.283500 2.891640 2.888560 2.579930 2.429250 2.289470
94 1.602500 1.482790 1.808760 1.696670 1.756950 1.904970 1.913210 1.949030 2.158270 1.761940 1.733110 1.777320 1.882440 1.757100 2.079370 2.207010 2.261510 2.399950 2.344240 2.121580 1.988130 1.887110 1.930490 1.921340 2.062110 2.298000 2.371470 2.501060 2.810170 2.490890 2.944560 3.428440 3.374800 2.969750 2.849570 2.608700 2.125060 2.015880 1.969660 2.112310 2.184430 2.788590 2.909210 2.530340 2.957000 2.976530 2.495840 2.526480 2.690530 2.403640 2.299120 2.318670 2.063180 2.295500 2.941670 2.927810 2.967760 3.136890 2.728560 2.284900 2.907620 3.197620 3.164280 2.754760 2.549920 2.678430 2.583760 2.095860 1.884480 2.024660 2.451500 2.364240 2.147560 2.178330 2.187980 2.584090 2.605050 2.524530 2.404670 2.260950 2.087080 2.083910 2.081930 2.452250 2.756420 2.652160 3.024670 2.692070 2.480860 2.392060 2.568950 2.174650 2.618850 2.437780 2.165120 2.509900 2.687400 3.030620 2.923110 2.963140 2.951650
95 1.602500 1.529730 1.607970 1.632270 1.668300 1.748570 1.850560 2.065730 2.003980 2.116670 2.071510 1.822110 2.003670 1.767180 1.811040 1.853330 1.934110 1.992230 2.460690 2.247610 2.330740 2.629370 2.213860 2.205400 2.664220 2.244650 2.386900 2.271920 1.846340 1.776260 1.831190 1.951500 1.845340 1.753100 1.879270 1.719650 2.007280 1.913900 2.066610 2.014150 2.415490 2.009500 2.202340 2.306800 2.440850 2.689880 2.429240 2.544940 2.355410 2.088480 1.808080 1.645330 1.659030 1.741500 1.931210 2.000850 1.879300 1.975890 2.087390 1.880990 2.139470 3.140590 3.350780 2.930580 2.966640 3.173410 3.649130 3.103500 3.091850 3.773830 3.415510 3.298520 3.681650 3.235710 2.922040 2.690830 3.126160 2.928710 3.173370 3.508520 3.078310 3.182590 2.873180 3.034310 3.050040 2.871040 3.031710 2.835930 3.288410 2.977440 3.121830 3.691320 2.932690 2.811190 2.311950 2.191920 2.041400 2.022020 1.798380 2.058500 2.054950
96 1.602500 1.525770 1.494280 1.756570 1.708690 1.775830 1.765160 1.544280 1.838580 1.891290 2.047230 2.452840 2.345730 2.573880 2.176530 1.836450 1.684350 1.648780 1.760720 1.900390 1.990290 1.994790 2.143020 2.113050 2.158190 2.201810 2.269570 2.466170 2.252530 2.632960 2.683010 2.818160 3.375250 2.957910 3.449760 2.803730 2.927330 2.821440 3.181870 3.330200 3.206020 3.315290 3.069290 3.221730 2.986320 2.680240 2.904540 3.065300 3.070920 3.014760 3.393320 2.970340 2.766950 2.470790 2.995650 2.815750 2.681110 2.371670 2.265650 2.233360 1.899410 2.348490 1.961260 2.121990 2.424580 2.444590 2.983090 2.767380 2.770120 3.352550 3.338440 3.037840 2.807680 2.899160 3.669060 3.647360 2.746370 2.566130 2.970770 3.384300 2.795770 3.318000 3.430880 3.240820 3.195340 3.439850 3.125270 3.227060 2.730440 3.147760 3.241740 2.505320 2.629150 2.628650 2.870510 2.894940 2.632750 2.624950 2.764450 2.818540 2.844080
97 1.602500 1.579720 1.713250 1.847600 1.919050 1.988920 2.702040 4.382670 3.380230 2.575450 2.900710 2.134390 2.320890 2.235750 1.950950 1.892970 1.912200 1.676060 1.657340 1.637250 1.723100 1.741820 1.999610 2.000030 1.889800 2.075740 1.985550 2.044020 2.305330 2.298610 2.242950 2.411360 2.328810 2.047180 2.328270 2.605180 2.452730 2.737570 3.112180 2.894230 3.169750 3.107540 2.705020 3.201290 3.029490 2.866820 3.098240 3.188930 2.947060 2.964240 2.739880 2.842420 2.551460 2.137720 2.136730 1.784110 1.740610 1.906940 2.009620 2.460170 2.372600 2.113740 2.492800 2.152090 2.340300 2.737520 2.635280 3.040400 3.226990 2.761720 2.927440 2.500970 2.853950 2.584880 2.824590 2.815870 2.800560 2.946040 2.472950 2.541910 2.271820 2.356560 2.508290 2.597440 2.407790 2.022850 1.829640 1.635280 1.517150 1.730810 1.836170 1.940660 1.915400 1.980040 1.999480 2.090140 2.057950 1.827840 1.848760 1.756260 1.605640
98 1.602500 1.535510 1.675900 2.004770 1.957250 2.099910 2.122540 1.849960 1.958120 1.734050 1.634380 1.640830 1.649300 1.902710 2.167410 2.560790 2.412750 2.348020 2.610980 2.447630 2.031710 2.014230 1.977950 1.887460 1.608940 1.893260 2.109070 1.959870 2.243390 2.327490 3.058160 2.793300 2.682970 2.604000 2.730820 2.513610 2.372540 2.246190 2.400460 2.226200 2.663140 2.386710 2.666010 2.780580 2.841720 2.730500 3.064700 2.764240 3.263730 2.543740 2.777660 3.219430 3.167990 3.229900 2.981100 2.783790 2.860900 2.651040 3.104820 3.003590 2.656730 3.071490 2.789590 2.722510 3.034980 2.745990 2.845210 2.894940 3.265920 3.514260 3.423570 3.473470 3.714380 3.259200 3.192890 3.942040 3.677510 2.975150 2.991250 3.029000 2.784680 2.830860 2.691080 2.662940 2.879180 2.890740 2.493120 3.772170 3.430900 3.521310 3.296480 3.537810 3.279990 3.084330 3.573440 2.855720 2.858890 2.997910 2.817730 2.720380 2.683380
99 1.602500 1.446810 1.655720 2.026960 1.908790 2.028550 2.180930 2.136510 1.920260 1.677900 1.587520 1.522290 1.782710 2.066090 2.104820 2.360300 2.184380 1.977960 1.899160 2.062180 1.928490 1.913790 2.035020 2.098630 2.304230 2.154170 2.584690 2.796800 2.699560 3.063080 3.791230 3.304550 2.904240 2.885920 2.888500 2.862290 2.596950 2.706050 2.772840 2.901640 2.798050 2.752660 2.639240 3.066810 2.913510 2.748240 2.905600 2.607440 3.027970 2.827840 2.959910 2.982260 2.607300 2.784080 2.607930 3.071630 3.167380 3.189150 2.841990 2.784600 2.760960 2.421080 3.196410 2.810830 2.664400 2.605530 2.874390 2.619080 2.876770 3.474450 3.184080 3.215140 2.779860 2.972690 2.740680 2.942390 3.274320 2.994150 2.836200 2.907030 3.406070 2.860360 2.700600 3.239700 2.867160 3.228370 3.605830 3.119740 3.142180 3.396430 3.205920 3.404550 3.329820 3.093620 2.781290 3.064760 3.630500 2.716590 3.162480 3.261260 3.471670
100 1.602500 1.623170 2.049330 1.727080 1.855840 1.708380 1.796240 1.812760 1.801040 1.805560 1.781750 1.890510 2.162110 2.164590 2.231070 2.235190 2.211760 2.205400 1.869960 1.874940 1.750360 1.672890 1.666230 1.836450 1.858710 1.974530 1.992070 2.195250 2.319920 2.918040 2.711940 3.126000 2.935390 3.677060 4.326150 2.789330 3.264360 3.911120 4.182290 2.892630 2.607780 2.631570 2.294190 2.315020 2.154830 1.952880 1.969430 1.901050 1.892260 1.918750 1.824280 1.987070 2.124730 2.459450 2.786610 2.897260 2.940120 2.588100 4.006640 3.220260 2.810700 2.266210 2.614450 3.087990 3.416420 3.071560 3.054070 2.770080 2.220440 2.590130 2.631770 2.637400 2.639730 2.805620 2.574440 3.138600 3.015620 2.754620 2.577440 3.070740 2.964810 2.930270 2.842960 2.594800 2.428350 2.220020 2.139410 2.040670 1.798450 1.857380 1.968860 2.040880 2.146480 2.141380 2.664140 2.611040 2.781670 2.802080 2.606750 3.171910 3.527390
101 1.602500 1.705520 1.620540 1.734300 1.694610 1.921010 1.649560 1.866460 1.782590 1.717840 1.697630 1.592780 1.675030 1.962500 2.101410 2.259890 2.451360 2.464800 2.483270 2.199750 2.145490 2.190300 2.098600 2.066050 1.851230 1.761970 1.718330 1.756360 1.668890 1.720610 1.909280 1.945740 2.063210 2.298070 2.421650 2.588700 2.972390 3.123730 2.590640 2.502970 2.431550 1.999380 2.054660 2.070860 1.744370 2.037990 2.281550 2.452710 2.571200 2.260680 1.915120 2.050610 1.805610 1.962280 2.163310 2.161000 2.464120 2.574080 2.769160 2.347170 2.421850 2.311970 2.368320 2.600130 2.216790 2.259750 2.050950 2.556030 2.617530 2.596240 2.852420 2.860100 2.752720 3.126240 2.748910 2.925810 2.860920 3.162530 2.819300 2.378410 2.657960 2.034860 2.086540 2.115230 1.853750 2.033210 2.302130 2.037370 2.161100 2.148490 2.039870 1.749660 1.800760 2.019350 1.721510 1.872530 2.233100 1.945900 2.236660 2.350740 2.319370
102 1.602500 1.638320 1.940110 1.851040 1.663680 1.826540 1.749120 1.990080 2.023180 1.972780 1.706470 2.032910 1.950620 1.984040 2.137290 2.636050 2.196600 2.653370 2.510120 2.035840 2.220140 2.071720 2.185710 1.977850 2.130960 2.332130 2.608260 2.655390 2.989010 3.071700 3.701200 3.339650 3.206940 3.253780 2.554380 2.098420 2.217060 2.093480 2.055300 2.006950 1.971910 2.342110 2.606660 3.145020 2.809410 2.741120 2.648080 2.375860 2.467130 2.328230 2.463850 3.010360 3.049360 3.021380 2.869090 2.801600 2.596320 2.930850 2.458490 2.872580 2.590430 2.597610 2.360570 2.488840 2.506710 2.628590 2.426920 2.622660 2.664020 3.039970 3.021340 3.042330 2.794150 2.841060 2.699580 2.725600 2.905790 2.722640 3.016870 3.210780 2.976990 3.217590 2.801330 2.724200 3.030970 3.136500 2.403930 2.984230 2.918750 2.529480 2.647860 2.536800 2.353410 2.514030 2.503100 2.791750 2.937690 2.804890 2.888080 2.611120 3.211240
103 1.602500 1.714820 1.745100 1.749410 1.621730 1.603980 1.511730 1.594330 1.872020 2.223520 2.444360 2.736390 2.822010 3.002920 2.778840 3.029370 2.891780 2.526500 2.354150 2.563040 2.071590 2.149880 2.231080 2.366190 2.284770 2.455500 2.423040 2.176560 2.141010 2.049530 2.027610 1.859180 1.837600 1.818200 1.913550 2.069540 2.068450 1.959500 2.207530 2.672820 2.352120 2.634560 2.652000 2.705830 2.546630 2.824470 3.021930 2.871270 2.871590 2.451980 2.641120 2.453370 2.509610 2.461600 2.670790 2.791630 2.962080 3.019480 3.067890 2.788060 2.521100 2.763740 2.727290 2.778120 3.333330 3.189040 3.370390 2.937540 2.860730 2.870110 2.596680 2.819030 2.972040 3.230800 3.597480 3.706050 3.248900 3.462840 2.594320 2.811550 2.796100 3.164360 3.259080 3.490870 2.984100 3.412370 3.176090 3.741850 3.187920 2.804120 2.824980 2.849430 2.762150 2.393140 2.522580 2.603090 2.758980 2.652900 2.532220 2.711680 2.585010
104 1.602500 1.734370 1.564490 1.765250 1.877230 1.638570 1.766660 1.796240 2.009820 1.690990 1.706270 1.747460 2.028490 2.271540 2.151270 2.175400 2.099220 2.321720 2.088170 2.029610 1.688430 1.751260 1.794010 1.987520 2.343810 2.514840 2.285070 2.911260 2.188740 2.088640 2.007850 1.860960 1.688920 1.797220 2.031170 2.056560 2.193420 2.417590 2.567330 2.687050 2.603410 2.570160 2.463130 2.746290 2.270230 2.186550 2.036060 2.074700 1.968090 1.970220 2.418970 2.689990 2.877260 3.009440 3.084740 2.957520 3.110660 2.887200 2.804530 2.703410 2.776300 2.932770 2.698160 2.791030 2.956720 3.025350 2.833630 2.518740 2.343660 2.453700 2.461740 2.886520 2.579590 2.666460 2.712230 2.739740 3.131930 3.072530 3.043310 2.569920 3.160070 2.620560 2.583130 2.325310 2.482560 2.159590 2.291980 2.624360 2.648870 2.967830 2.669920 3.035840 3.033700 2.680930 2.864330 2.278250 2.294940 1.886840 1.780130 1.575090 1.778310
105 1.602500 1.700110 2.026910 1.716420 1.856350 1.793600 1.895000 1.772430 1.962390 1.875730 1.845960 1.949340 2.065190 2.125390 2.341620 3.009710 2.702000 2.838960 2.794510 3.341720 2.799530 2.454310 2.256890 2.027780 2.225600 2.259840 2.016820 2.253210 2.337430 2.042560 2.226790 2.291470 2.433910 2.513950 2.859960 2.488900 2.732920 2.098380 2.446950 2.071780 2.009840 2.441690 2.644570 2.973100 2.775240 3.376950 3.763470 3.327940 3.176400 3.411840 3.110090 3.042250 3.138060 3.390860 2.460850 2.517680 2.340990 2.365910 2.043450 2.191110 2.360590 2.711550 2.570380 2.302920 3.016480 2.842160 2.728950 2.904300 3.068740 2.863230 2.856680 3.524540 3.026970 3.037360 3.225810 3.043140 2.978210 3.173680 3.651330 3.107410 3.107090 3.098180 3.278450 2.952290 3.123320 2.749510 2.530350 2.633810 2.785730 2.696250 2.271610 2.504140 2.751170 2.769690 2.771430 2.982730 3.021640 3.058130 3.340670 3.295820 2.848340
106 1.602500 1.476780 1.702000 1.776550 1.915190 2.663780 2.581660 2.176510 2.260630 4.191030 3.938820 3.340160 2.950700 3.099460 2.763580 2.079740 1.711070 1.842720 1.984220 2.445690 2.274030 2.411060 2.536000 2.510420 3.321630 2.769000 2.813930 3.331520 2.931620 2.957360 2.821000 2.858290 2.598970 2.661780 2.648320 3.018710 2.587780 2.817770 2.636240 2.377200 2.810940 2.638680 2.657040 3.047970 2.562260 2.707810 2.690970 2.799780 2.882430 3.014700 3.110200 3.226460 3.055230 2.667810 2.747620 2.619350 2.455030 2.756010 2.858240 2.992360 3.380070 3.214200 3.704620 3.059090 3.118930 2.696640 3.205020 2.858850 3.085950 3.407990 2.720460 3.021210 2.734830 2.706920 3.566980 2.841710 2.847890 2.917160 3.018230 2.738790 2.898940 2.848010 2.770350 2.655780 2.587960 2.463040 2.576510 3.027700 2.744590 2.522230 2.273590 1.986920 2.433180 2.164900 2.150820 2.088300 1.790270 1.415720 1.565610 1.850550 1.993150
107 1.602500 1.653590 1.601670 1.842840 1.735810 1.722010 1.811550 1.726910 1.768980 2.035980 2.192350 2.398670 2.265340 2.289240 2.331940 2.055590 2.356490 2.199030 2.297200 2.801500 2.845740 2.665740 2.238260 2.294750 1.949950 1.738230 1.638690 2.001700 2.281520 2.846940 2.792330 3.159620 3.059330 3.238780 2.710680 2.837660 3.323980 2.790100 2.714110 2.381080 2.565440 2.190130 2.247940 2.350530 2.464760 2.444080 2.551920 2.773300 2.891140 3.669100 3.267910 3.980870 2.912540 2.799390 3.406550 3.149370 2.662150 2.524520 3.089860 3.239400 3.040630 3.075000 2.606890 3.241180 2.503670 2.747490 2.487420 2.152060 1.853320 1.878750 1.565810 1.570760 1.627640 1.992580 2.031580 1.986770 2.148580 2.222880 2.465960 2.934030 2.640620 2.894410 3.115910 2.934960 2.626830 3.084180 2.694360 2.963410 2.506690 2.864920 2.898310 3.359460 3.712060 3.736870 3.583900 3.152940 2.816240 3.090200 2.963780 2.631050 2.628630
108 1.602500 1.684560 1.779710 1.841790 1.769920 1.723050 1.847360 1.789140 1.819930 1.883210 2.055940 2.421550 2.108650 2.158350 2.253250 2.294440 2.205850 1.752950 1.992960 1.691390 1.636830 1.807030 1.701360 2.015700 2.095840 2.191650 2.453950 2.588900 2.375410 2.424930 2.391840 2.591570 2.401600 2.294520 2.000400 2.107700 2.204860 2.089060 2.017460 1.987710 2.144000 2.558770 2.417160 2.693830 3.252220 2.830620 2.691030 2.895800 2.530720 2.572120 2.799560 2.743960 2.576140 2.841230 2.961850 1.985110 2.594040 2.284280 2.242990 1.865070 2.187890 2.110620 2.607740 2.788280 3.042980 3.226430 3.095960 3.208470 3.085420 2.648490 2.688850 2.582640 2.540460 2.910760 2.678300 2.958560 3.035000 3.118680 3.723880 3.479000 3.204240 3.226570 2.853210 2.629860 3.039280 2.974870 2.746830 2.915050 2.936350 3.318330 3.648750 3.190980 3.287520 3.726110 3.178690 3.243890 2.748830 3.131790 3.157830 2.867470 2.809240
109 1.602500 1.701590 1.716050 1.767700 1.878640 1.701230 1.646490 1.826310 1.849290 1.648010 1.822750 1.964630 2.014240 1.797230 1.843120 1.833320 1.834660 1.913390 1.937530 2.033220 2.005970 2.117520 2.426020 1.900960 1.827710 2.053040 1.980700 2.023050 1.737650 1.877660 1.918320 1.963480 2.045620 2.378230 2.353700 3.122690 2.541470 2.422820 2.218850 2.002360 2.043950 1.991570 2.000250 1.889760 1.917470 1.968280 1.997390 1.807800 1.695210 1.693800 1.850930 1.945800 2.031120 1.855900 1.652410 1.659930 1.770660 1.789470 1.796420 2.112180 2.415720 2.833290 2.477190 2.673070 2.472480 2.515650 2.936370 2.246430 2.962620 2.900550 3.303020 3.257520 3.468520 3.028370 2.660140 2.856090 2.791530 2.412320 2.637310 2.626630 3.400960 2.511590 2.364450 2.525560 2.565200 2.501100 2.826810 2.584770 2.529460 2.778960 2.696480 2.669450 2.674270 3.188290 3.053080 2.954490 2.919500 2.990550 2.687700 3.068040 2.836470
110 1.602500 1.524300 1.558910 2.084200 2.183080 2.485760 2.625920 2.447730 2.168110 2.098320 2.130800 1.813580 1.496830 1.790130 2.306340 2.523760 2.011230 2.425750 2.698570 2.202820 2.011880 1.947660 2.290060 2.433220 2.021670 2.445070 2.300590 2.152200 2.465540 2.261240 1.798700 1.773350 1.730780 1.800920 1.859030 2.041540 2.249120 2.337820 2.571120 2.553400 2.722880 3.173640 2.558310 2.335820 2.385170 2.864740 2.446990 2.739210 2.642900 2.447210 2.725840 2.566670 2.650120 2.328960 2.360410 2.539080 2.430680 2.230540 3.137210 3.451330 3.289500 3.262060 2.954990 3.417730 3.311950 2.942590 2.977300 2.834580 3.226040 2.821550 2.922060 2.332820 1.843160 1.817520 1.626840 1.685220 1.825550 2.133150 2.742210 2.903280 3.301280 3.177820 2.552440 3.339760 3.716330 3.116860 2.787190 2.701480 2.406160 2.679710 2.602660 2.539380 2.039650 2.269500 1.988610 1.972310 2.014340 1.855020 2.053630 1.994110 1.821710
111 1.602500 1.652500 1.674480 1.552820 1.642940 1.876040 1.764120 1.578770 1.715870 1.830150 1.829790 1.828560 1.884460 1.892410 1.779460 1.611560 1.756120 1.664110 1.730580 1.865230 1.996560 2.093080 1.894530 2.045130 1.907810 1.656790 1.878850 1.720970 1.863700 2.259420 1.937660 2.598660 2.215060 2.197910 2.821300 2.402990 2.413890 2.245750 2.224330 2.376730 2.097440 2.568900 3.126550 3.709410 3.534920 3.362130 3.189610 2.989240 2.760970 2.745320 2.471540 2.412890 3.011580 2.896420 2.937480 3.198130 2.716150 2.495160 2.738260 2.809220 2.575350 2.734850 2.706560 2.734050 2.815150 2.851220 3.162970 2.993430 3.469580 3.272300 3.063760 3.443440 3.137920 3.240130 3.383740 3.385470 2.967090 3.189360 2.766200 2.237020 2.266430 2.347660 2.392280 2.959610 2.439520 2.027720 2.539170 2.490800 2.879650 2.539870 2.665240 2.361680 2.835260 2.747170 3.025150 3.051530 2.930480 3.103360 3.293710 2.653080 3.118770
112 1.602500 1.553670 1.982040 2.441860 2.153450 2.238220 2.139700 2.202550 2.617800 2.649640 2.164470 2.382000 2.120470 2.074200 1.742060 1.815950 1.767630 1.795170 1.941680 2.317200 2.268600 1.975080 2.506600 2.271870 2.317850 2.476060 2.719690 2.773260 2.969430 3.346520 2.813790 2.864070 2.924640 3.067380 3.040320 3.343340 3.523690 3.105950 2.988360 3.232480 3.511610 3.660600 3.434730 3.329820 3.618720 3.420830 3.329680 3.197590 3.341850 2.833030 2.649380 2.669170 2.537310 2.036400 2.120170 2.242550 2.073660 1.998620 1.960270 2.785670 2.498320 2.620470 2.332690 2.895220 2.999650 3.175020 2.990380 2.532860 3.331450 2.766510 3.091660 2.479180 2.735320 2.240080 2.516570 2.833380 2.375100 2.788020 2.413800 2.538930 2.708300 2.735910 3.058920 2.665620 3.001050 3.390690 2.967040 2.892720 2.459030 2.041730 2.382740 1.935400 1.907800 2.416580 2.228480 2.602380 2.495260 2.767310 2.521680 2.934660 2.614320
113 1.602500 1.471200 1.673850 1.576690 1.717810 1.677910 1.692030 1.653750 1.808160 1.635950 1.873690 1.924030 1.876600 1.773350 1.756610 1.834250 1.615130 1.782710 1.677880 1.673470 1.857310 2.280700 2.524000 2.501880 2.112000 2.136690 2.009590 1.891740 1.844460 1.813440 1.759530 1.787510 1.938680 1.854650 2.041830 2.204750 2.272260 2.219560 2.225050 2.254270 2.309210 2.526940 2.721840 2.905240 2.696970 2.293030 2.266250 2.104110 1.836570 1.794510 1.843660 2.149650 1.924770 2.369940 2.724970 3.033350 2.728730 2.638130 2.555030 2.428860 2.687390 3.930010 3.227810 2.860650 3.243400 2.322640 2.981850 2.392750 2.359480 2.645720 2.930340 3.214340 3.310980 3.608910 3.479890 2.989740 2.564390 3.132280 3.086220 2.863400 3.047170 3.481480 2.855850 3.247470 2.799160 2.773080 2.826170 2.847200 2.940470 2.987780 3.094160 2.828490 3.366850 3.350540 2.802240 3.020690 3.487830 3.680660 3.315500 3.035530 2.672270
114 1.602500 1.717260 1.586460 1.859990 1.620200 1.822480 1.729540 2.006230 1.871440 2.026900 1.849370 1.891770 1.470520 1.520630 1.744810 2.131010 2.124400 2.389600 2.351790 2.586610 2.573610 2.355610 2.732760 2.433470 2.762830 2.786270 2.563110 2.840200 2.649880 2.642930 3.005430 3.156840 3.946820 3.109760 3.693430 3.309020 2.790890 3.082810 3.128140 3.358210 3.334750 2.901870 3.062360 2.010850 2.410520 2.297520 2.152290 1.893330 2.159740 2.015850 2.185680 2.650630 3.029480 2.692290 3.194840 3.137510 3.892420 3.502520 3.323790 2.890220 3.302250 3.479830 2.555020 2.573100 2.321620 2.460450 2.574610 2.817390 2.504940 2.298920 2.547490 2.588530 2.621650 2.540440 2.310980 2.207060 2.331950 1.923190 2.009760 2.067520 1.659380 1.931270 2.068010 2.299020 2.424000 2.389830 2.806940 3.439840 3.232730 4.129620 3.730100 3.201180 2.973530 3.450260 3.435600 2.816360 2.981060 3.158020 2.919500 2.652530 2.821580
115 1.602500 1.643840 1.651560 1.777570 1.988170 1.669710 1.670100 1.735580 1.844680 2.258760 2.338890 2.056580 2.307880 2.592730 2.581090 2.930070 2.736460 2.995690 2.438180 2.932080 2.558150 2.711580 2.444190 2.183220 2.356880 2.350270 2.147100 2.277860 2.535200 2.436850 2.541640 2.454100 2.387350 2.305840 2.391690 2.050540 2.245130 2.262270 2.153710 1.974300 2.319410 2.228760 2.516090 2.588190 2.728250 2.680190 2.973250 2.789270 2.605670 2.591150 2.638060 2.670440 2.764160 2.876790 3.169990 3.093550 3.184440 3.081770 3.053000 3.072950 3.110720 2.962040 2.822630 2.775990 2.920780 2.798230 3.127590 3.110290 2.990130 3.355240 3.083780 3.463020 3.203150 2.872280 3.083090 2.785810 2.953690 2.821580 2.703310 2.633190 2.913570 3.219170 3.136790 2.586880 2.700000 2.898680 3.149930 2.746140 2.965450 2.897410 2.840090 2.588870 2.468220 2.685620 2.562690 2.916940 3.289010 3.484450 3.343740 3.639570 3.121510
116 1.602500 1.669170 1.593310 1.822310 1.963970 1.910870 1.933010 1.866550 1.696010 1.760130 1.948980 2.072610 2.517890 2.657060 2.737310 2.768800 2.884440 2.556990 2.566710 2.510110 2.529920 2.223780 2.381920 2.210650 2.168140 2.088830 1.750660 1.760410 1.826020 1.952350 1.742790 1.916310 2.067440 2.066600 2.191850 1.936240 1.918180 1.974480 1.879140 2.154910 2.189080 2.326550 2.156910 2.310340 2.110220 2.331200 2.036850 2.143690 2.087560 2.181300 1.993970 1.721750 1.847110 1.805850 1.718780 1.782660 1.678290 1.922440 1.728910 1.904680 1.750440 1.732140 2.006880 2.020660 1.896940 2.034670 2.315170 2.264770 2.496590 2.383930 2.239520 2.312800 2.120570 2.170810 2.159290 2.637770 2.550160 3.108240 3.490090 3.362260 3.002820 2.814520 2.776620 2.934030 2.847400 2.237640 2.617550 3.121210 2.788640 2.694140 3.030810 3.080410 2.545000 2.653660 2.379590 2.289720 2.613020 2.353630 2.602680 2.521500 2.652390
117 1.602500 1.617010 1.770970 1.563180 1.557990 1.521010 1.722300 1.593280 1.750280 1.941120 1.848760 1.880350 1.750720 2.011780 1.996950 1.777000 2.324310 1.967290 1.901650 2.168240 1.980940 2.556760 2.360770 2.487960 2.407970 2.376140 2.159180 2.436360 2.250240 2.089810 2.267100 2.199880 2.388530 2.445410 2.111220 2.226080 2.093220 2.052860 1.846860 2.013470 2.190530 2.462780 2.192260 2.419130 2.751720 2.779450 2.905340 2.950520 2.836870 2.653450 3.182220 2.668360 3.190600 3.367890 2.730690 2.976440 3.193200 3.115330 2.476720 2.497330 2.533810 2.927800 2.757990 2.572530 2.895330 2.644280 3.093800 2.624550 2.480810 2.827290 3.054810 3.221840 3.243460 3.155400 3.045010 3.032250 2.645580 2.531380 2.619520 2.766740 2.943090 3.262560 2.895630 3.196020 3.206200 2.727990 2.465830 2.424570 2.363990 2.711090 1.931630 2.261650 2.582670 2.125810 2.088940 2.248190 2.053460 1.961750 2.071860 2.016330 2.096510
118 1.602500 1.675810 1.676010 1.842500 1.793610 1.907360 1.924450 1.879230 2.017620 1.966220 2.138600 2.155960 1.917060 1.868200 1.970060 2.009970 2.070170 2.363620 2.276090 2.378420 2.446900 1.794710 2.297840 2.077200 2.103420 2.012680 2.070490 1.877680 1.842030 1.933950 1.780130 2.000840 1.874560 2.149700 2.162010 2.220600 2.398130 2.456770 2.595050 2.656200 2.614300 2.760410 2.874270 2.878400 3.032650 3.002750 3.122750 2.856360 3.110020 3.076550 2.959680 2.951370 2.404680 2.746040 2.669810 3.256150 3.380320 3.199760 3.498070 3.432350 3.060470 3.260980 2.937440 2.875320 3.278580 2.984600 2.471330 2.776530 2.921780 3.111670 3.036220 2.861670 3.371160 2.588600 2.544870 2.267310 2.622830 2.495840 2.943180 2.803260 3.174410 2.975620 3.146610 2.936440 3.046200 3.171500 3.148880 3.318510 3.193800 3.114760 3.211350 3.196800 3.204300 2.911250 2.647000 2.755470 2.580970 2.234680 2.500910 2.118220 2.331190
119 1.602500 1.725290 1.634130 1.825100 1.742860 1.662710 1.675110 2.056730 1.973660 2.094430 2.235680 1.709410 1.712510 1.477200 1.719210 1.960050 2.510340 2.714730 2.846720 2.811010 2.735390 2.478870 2.525600 1.804810 1.805140 1.694310 1.568110 1.880860 1.866580 2.404320 2.266280 2.287620 2.767850 2.807330 3.091590 3.241030 3.514710 3.486330 3.458260 3.149950 2.751730 2.993780 2.925850 3.241280 2.924390 2.987290 3.055660 2.894360 3.157020 3.102880 3.572570 3.095670 3.409170 3.182410 2.882150 2.869670 3.056890 3.435890 2.851290 2.531310 2.709950 2.871110 2.495900 2.766470 2.560360 2.716580 2.717120 2.605360 2.903690 2.725570 2.800510 3.010980 2.729410 3.249480 2.662610 3.518070 3.603470 2.704440 3.512450 2.564900 2.453620 2.515590 2.650330 2.584720 2.549980 2.297230 2.464810 2.691040 2.854260 2.940820 2.843600 2.906510 3.069540 2.953250 2.661520 2.846070 3.108680 3.087390 3.152080 2.928720 3.033310
120 1.602500 1.612250 1.669180 1.726800 1.774670 1.662280 1.780740 1.880700 1.815180 1.931650 2.114400 1.855330 1.983740 1.869390 2.155980 1.975550 1.896110 1.899560 2.043710 2.056450 2.383080 2.210460 1.912320 1.845790 1.771110 1.684740 1.683700 1.826580 1.790240 2.183300 2.574780 2.522350 3.122970 2.902050 3.128030 3.060010 2.871250 2.943190 2.568770 2.696300 2.969000 3.196960 2.692800 2.758890 2.549750 2.867300 2.859090 2.886640 2.855120 2.533880 2.512680 2.241520 2.510480 2.014130 2.418160 2.487890 2.490330 2.120200 1.903220 1.935570 1.846000 1.896940 1.981780 2.414790 2.468310 2.052450 2.285020 2.285440 2.421980 2.778460 2.907640 2.993990 2.855560 3.099130 3.012080 2.662890 2.985640 3.189760 3.146010 3.366850 2.970910 2.837470 2.977780 2.748410 2.709400 2.694360 2.677880 3.087030 2.536910 2.511480 3.156630 2.662530 2.786310 2.971400 3.188880 2.710470 2.909050 3.095080 3.938870 3.035490 3.032010
121 1.602500 1.776780 1.729090 1.691500 1.528940 1.675150 1.848860 1.886310 2.219760 2.211700 2.107530 2.066910 2.131630 2.331750 2.153850 2.349570 2.634010 2.495030 2.221970 2.185590 2.138760 2.053380 2.205760 2.213520 2.125020 2.188140 2.032740 2.931830 2.796590 2.911650 3.756710 3.526660 3.056160 3.408230 3.594260 4.084480 3.200800 2.675140 2.865550 2.463640 1.987950 2.047800 2.261860 2.640270 2.127960 2.436630 2.448830 2.505020 3.307290 3.176240 3.010700 2.808340 3.169540 3.148890 2.834370 2.872590 3.173050 2.539660 2.438140 2.074460 2.047960 1.840420 1.766640 1.584020 1.810580 1.880900 2.419250 2.531840 2.787160 2.939230 2.855980 2.710730 2.993190 3.087730 2.948790 2.987950 3.210240 3.825590 2.885300 2.814160 2.988780 2.471590 2.767430 2.674820 2.935220 2.758620 2.292130 2.124310 2.624270 2.686920 2.600540 3.046570 2.839020 2.943610 3.122650 2.694210 2.892450 3.084530 3.216510 3.053460 3.318990
122 1.602500 1.630050 1.716100 1.893090 1.667330 1.796450 1.755190 1.748490 1.787860 2.121490 1.724480 1.873190 2.030420 1.860430 2.169310 1.930140 1.768080 1.858390 1.699930 1.810790 1.789970 1.785770 2.000620 1.806990 1.821920 1.840550 1.902720 2.075220 2.537160 2.429250 2.331640 2.563430 2.501630 2.716610 2.270060 3.205410 2.943860 2.717540 2.812840 2.988820 2.648320 3.009580 2.881370 2.683460 3.200120 2.872760 2.489680 2.374360 2.934780 2.884080 2.539790 2.333170 2.227570 2.406030 2.413960 2.396910 2.753730 2.453610 2.463100 2.694640 2.486470 2.328380 2.518730 2.997690 2.958900 3.307810 3.286740 3.565950 3.007790 3.044470 2.514460 2.633070 3.113110 2.817460 2.750220 2.769060 3.096230 3.231560 2.688280 2.937690 3.064060 2.922080 2.478630 2.451280 2.573960 3.047510 2.753700 2.755490 2.635840 3.020470 2.779020 2.709770 2.903850 2.560680 3.241940 2.515800 3.119420 2.956830 2.962870 3.480290 2.975790
123 1.602500 1.657850 1.882640 1.670760 1.753970 1.650110 1.856400 2.012230 1.944430 1.964710 2.124830 2.086880 1.886630 2.030530 2.017390 1.941060 2.220140 1.818980 2.342400 2.463320 2.653160 2.809280 2.650580 2.996500 2.869770 3.144520 3.029820 3.161350 3.638340 3.492160 3.503570 3.008020 3.063890 2.563440 2.725990 2.541230 2.761770 2.591820 2.590390 3.192280 2.794210 3.344810 3.359780 3.546910 3.147230 2.641900 2.793750 2.903170 3.238560 3.306270 3.500460 3.185440 3.318290 2.875460 2.832620 2.617090 2.944700 2.518260 2.462680 2.781890 2.695470 2.677860 2.651210 2.707670 2.984390 3.349110 3.256260 3.165480 3.449680 3.404600 3.342060 3.125860 3.284500 3.498420 3.115450 2.862350 3.200810 2.897820 2.813300 3.067970 2.630620 2.977200 3.014210 3.288100 3.078070 3.123590 2.833140 2.516560 3.114270 3.342650 3.108690 2.615910 3.040590 3.129000 2.900720 2.428550 1.977520 2.214820 2.293480 2.141000 2.016700
124 1.602500 1.691530 1.717980 1.911820 1.589230 1.785080 1.668810 1.705460 1.567750 1.830880 1.878790 2.099150 1.737330 1.679590 1.788980 1.518210 1.967640 2.057610 2.486350 2.920950 3.014130 2.832870 3.623440 3.417350 3.377550 2.781650 2.882700 2.551350 2.499490 2.530630 2.396620 2.960190 3.012820 3.166510 3.017720 3.083850 3.169140 3.133510 2.634480 2.948100 2.895390 2.618870 2.635520 2.509170 2.852920 2.948770 3.018320 3.180390 3.208580 3.388920 3.520130 3.002400 3.321610 2.582590 2.637550 2.606820 3.212260 2.825180 2.743130 3.482080 2.517330 2.994530 2.759730 3.335430 3.082520 3.102640 3.011240 3.090410 3.066180 3.279080 3.313710 3.031910 2.898270 2.843110 2.840430 3.035860 2.792830 2.909020 2.582120 2.736790 2.460490 2.824720 3.294640 2.665310 3.094290 2.788460 3.145670 3.284490 2.800010 2.775090 2.544630 2.966690 2.603190 3.047620 3.015520 2.828750 3.037220 3.206820 2.839750 3.087220 2.908150
125 1.602500 1.614370 1.809300 1.726920 1.657940 1.569800 1.895520 1.699180 1.789270 1.819370 2.041360 1.909270 1.650390 1.920040 1.795870 2.107930 2.083270 2.684460 2.396780 2.575080 2.565640 2.570920 2.837770 2.787110 2.847980 3.170460 3.378520 3.029250 3.007900 2.379440 2.521470 2.729090 2.192720 2.326570 2.066140 2.239340 2.074890 2.033220 2.085110 2.081930 2.123280 2.247140 1.987850 1.811310 1.890540 2.017250 1.927280 2.366250 2.456240 2.577980 2.966210 3.321030 2.585910 3.515330 2.969300 2.848940 2.703500 3.009040 2.851910 2.933380 2.827040 2.870170 2.608700 2.630360 2.931890 2.673150 2.797360 2.946580 2.795420 3.150900 2.685380 2.560140 2.881620 2.636740 2.536100 2.623560 2.618670 2.786090 3.017000 2.735270 2.526000 2.884890 2.847610 3.197260 2.799490 2.883020 2.674030 2.651070 2.357590 2.902080 2.937450 3.230540 3.207390 3.065140 3.316090 3.338670 2.694420 2.866190 2.734480 2.178040 2.332850
126 1.602500 1.591320 1.673030 1.878460 1.948540 2.147490 2.105390 2.137550 2.083600 2.010210 1.715050 1.606250 1.974820 1.880140 2.123430 2.190510 2.297990 2.206930 2.300990 1.903400 1.885200 1.847990 1.604760 1.739780 1.993850 2.216860 2.441020 2.498570 2.633610 2.819090 3.041770 3.431850 3.147220 3.176810 3.064300 2.292640 1.978400 1.687630 1.961490 2.067230 2.307600 2.675440 2.842770 3.022780 2.831550 2.633110 3.135050 2.688110 2.156690 2.391700 2.692020 2.165440 2.147480 2.552960 2.651670 2.764870 2.895930 3.305110 3.065640 2.758130 3.648800 3.690250 3.766970 2.833090 2.347210 2.257900 2.448870 2.271970 2.162990 2.077020 2.113530 2.359670 2.198060 2.087760 2.793910 2.406720 2.627530 2.749540 2.607510 2.532640 2.153150 2.255280 2.111550 2.547340 2.378170 3.083360 2.727690 2.455230 2.425370 2.093100 2.043000 2.745280 2.566260 2.643420 2.685210 2.620280 2.614290 2.865410 2.870210 2.987040 3.043710
127 1.602500 1.761540 1.850340 1.733220 1.798100 1.816450 1.760820 1.910010 1.884380 2.025090 1.773880 1.988120 1.824500 1.801600 1.760940 1.868100 2.089750 2.085220 2.302150 2.128450 2.302720 2.214770 2.324410 2.187610 2.276640 2.276930 2.350580 2.653610 1.991890 2.066950 1.803840 1.680190 1.787880 1.929110 1.932740 2.099410 1.959860 1.840620 1.861690 1.945690 1.900010 2.310980 2.231080 2.311170 2.504880 2.473250 2.282680 2.809050 2.556610 2.251380 2.039900 1.790290 1.804310 1.833440 1.743200 1.916220 1.993880 1.962280 1.966170 2.158610 2.123000 3.173170 2.992390 3.433430 3.609010 3.533260 3.149240 3.493710 3.245960 3.166240 3.745420 3.157570 3.058710 2.972570 2.878420 2.941110 3.032930 2.722830 3.422460 3.309750 3.222700 3.002720 2.850670 2.942350 3.133830 2.801890 2.640850 3.051960 2.826690 3.592930 3.408710 2.540690 3.330460 2.307490 2.455230 1.967150 2.234310 1.852220 1.896550 1.934870 2.050290
128 1.602500 1.632330 1.731170 1.579420 1.816240 1.762350 1.777270 1.669210 1.531130 1.838580 2.032730 2.210030 2.472600 2.258520 2.341800 1.752300 1.722210 1.493910 1.716040 1.865450 2.283410 2.179300 2.228120 2.051500 2.145790 2.013870 2.276990 2.263380 2.351560 2.975730 2.656030 2.762730 3.013060 3.396440 3.098910 2.836750 2.691440 2.876340 2.768700 3.670490 3.379010 2.937810 3.123810 3.034940 3.129350 2.973670 2.702850 2.778850 3.187780 3.224180 2.628190 2.509690 2.863070 2.768950 2.439560 2.764370 2.418220 2.630720 2.480110 2.101440 2.323280 2.186500 2.159890 2.241330 2.257090 2.649870 2.768700 3.272990 2.885520 2.526190 3.467720 3.578330 3.337000 3.094180 2.959720 2.826810 2.731410 3.078140 2.948790 3.360180 3.038270 2.851860 2.818550 3.560670 3.372410 3.058940 3.333360 2.907520 2.763580 3.332730 2.568430 2.835660 3.365710 2.851620 2.930880 2.550820 2.545050 2.687890 2.738240 2.403390 2.806410

View File

@ -1,215 +0,0 @@
# module radii.vmd
# December, 2009 -(c)- Andres Jaramillo-Botero
# Script to load variable changing radii onto a pEFF lammpstrj file
# radii.vmd --
# Script to read and change electron radii in vmd dynamics traj
#
# openFile --
# Open the file and start looking for data
#
# Arguments:
# filename Name of the file to read
#
# Result:
# infile Handle to the opened file
#
# Side effects:
# A file in question is opened. Lines containing a * or# as
# the first non-blank character are considered comments. The
# first line without this is considered to be a line with the
# names of the columns.
#
proc openFile {filename} {
set infile [open $filename "r"]
return $infile
}
# readNames --
# Read the names of the columns
#
# Arguments:
# infile Handle to the file
#
# Result:
# names List of names, the number indicates the number of
# the snapshot frame
#
proc readNames {infile} {
#
# Skip the header - if any
#
set pos 0
while { [gets $infile line] >= 0 } {
if { [regexp {[ \t]*[*#]} $line] } {
incr pos
} else {
break
}
}
seek $infile 0 start
while { $pos > 0 } {
gets $infile line
incr pos -1
}
#
# Read the line with the column names
#
gets $infile line
# Force the line to be interpreted as a list
set nocols [llength $line]
return $line
}
# readData --
# Read the data per line
#
# Arguments:
# infile Handle to the file
#
# Result:
# values List of values, representing each column.
# A list of length zero indicates the end of file
#
proc readData {infile} {
while { [gets $infile values] == 0 } { ;# Just go on - skip empty lines }
set nocols [llength $values]
return $values
}
# readFile --
# Read the file and store the data in a (global) array
#
# Arguments:
# filename Name of the file
#
# Result:
# None
#
# Side effects:
# Filled array, ready for display
#
proc readFile {filename} {
global data_array
set infile [openFile $filename]
set data_array(names) [readNames $infile]
set i 0
foreach name $data_array(names) {
set data_array($i) {}
incr i
}
while 1 {
set values [readData $infile]
if { [llength $values] > 0 } {
set i 0
foreach value $values {
lappend data_array($i) $value
incr i
}
} else {
break
}
}
}
# makeXYData --
# Make a list useable by frame-electron
#
# Arguments:
# xindex Index of frame data
# yindex Index of electron data
#
# Result:
# None
#
# Side effects:
# A dataset for changing the electron radii, per trajectory frame
#
proc makeXYData {xindex yindex} {
global data_array
set xydata {}
foreach x $data_array($xindex) y $data_array($yindex) {
lappend xydata $x $y
}
return $xydata
}
proc returnXYPair {x y} {
global data_array
return [list $data_array($x) $data_array($y)]
}
# do_radii --
# Changes the radii of electrons per trajectory frame
#
# Arguments:
# xindex Index of frame data
# yindex Index of electron data
#
# Result:
# prints the frame:atomID:radius
#
proc do_radii {args} {
global molid data_array
#set n [molinfo $molid get numatoms]
set f [molinfo $molid get frame]
set fr [expr {$f+1}]
foreach elec $data_array(0) r $data_array($fr) {
set s [atomselect $molid "index [expr {$elec -1}]"]
#set nr [expr {exp($r)}]
set nr $r
$s set radius $nr
$s delete
#puts stderr "$fr $elec $nr"
}
}
# main --
# Main control flow
#
# Check input arguments
#for {set i 0} {$i<[llength $argv]} {incr i}
# puts " - $i: [lindex $argv $i]"
global data_array molid
# Set input files manually
set xyz h2.xyz
set data h2.out
# switch default rep to VDW.
mol default style VDW
# load nuclear and electron xyz trajectory
#set xyz [lindex $::argv 0]
# load electron radii information for trajectory
#set datafile [lindex $::argv 1]
set molid [mol new $xyz waitfor all]
mol modstyle 0 [molinfo top] VDW 1.0 32.0
puts "Starting ..."
readFile $data
puts "Read datafile and created array of radii ..."
puts "Visualize trajectory"
trace variable vmd_frame($molid) w do_radii
animate goto start
do_radii

File diff suppressed because it is too large Load Diff

View File

@ -1,144 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
Info="""
Module name: lmp2data.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Extracts the electron radii from a lammps trajectory dump of style custom:
dump 1 all custom period dump_file id type x y z spin radius ...
NOTE: The radius must be the i'th column per trajectory entry in the dump file
"""
# import essentials:
import sys, os
from math import log10
from shutil import rmtree
from getopt import gnu_getopt as getopt
import numpy
def printHelp():
print Info
print "Usage: python lmp2data.py test.lammpstrj\n"
return
def makeradii(infile,outfile,column,flag_all):
print "Reading %s ... [WAIT]"%infile,
fin = open(infile,'r')
lines = fin.xreadlines()
print 7*"\b"+"[DONE]"
frame=0
radii=[]
# grep the number of frames and atoms/frame
os.system("grep TIMESTEP %s | wc -l > frames; grep -m 1 -A 1 ATOMS %s > atoms; grep -m 1 \"ITEM: ATOMS\" %s > params"%(infile,infile,infile))
tmp=open("frames",'r')
frames=int(tmp.readline().split()[0])
tmp.close()
tmp=open("atoms",'r')
atoms=int(tmp.readlines()[1].split()[0])
tmp.close()
tmp=open("params",'r')
ids=tmp.readline().split()[2:]
os.system("rm -rf frames atoms params")
arry=numpy.zeros((atoms,frames),dtype=str)
framecnt=0
header=9
ecount=0
if flag_all==True: atom_type="nuclei and electron"
else: atom_type="electron"
print "Extracting %s %s per frame from %s ... "%(atom_type,ids[column],infile),
for i,line in enumerate(lines):
lo=(atoms+header)*framecnt+header
hi=lo+atoms
if (i<lo):
continue
elif (i >= lo) and (i < hi):
lparse=line.split()
id=int(lparse[0])
# r=float(lparse[column-1])
r=lparse[column]
# if (float(r)!=0):
arry[id-1][framecnt]=r
print arry[id-1][framecnt],r,raw_input()
if (float(r)!=0) and (framecnt==0): ecount+=1
# else: arry[id-1][framecnt]=r
if (i==lo+1):
sys.stdout.write("%d/%d%s"%(framecnt+1,frames,(int(log10(framecnt+1))+3+int(log10(frames)))*"\b"))
sys.stdout.flush()
if (i == hi+1):
framecnt+=1
print
if outfile=="":
outfile=infile+'.%s'%(ids[column])
fout=open(outfile,'w')
else: fout=open(outfile,'w')
print "Writing %s/frame table to %s ... "%(ids[column],outfile),
sys.stdout.flush()
for i in range(frames):
fout.writelines('\tF'+str(i))
fout.writelines("\n")
e=1
for a in range(atoms):
if flag_all==True:
sys.stdout.write("%d/%d%s"%(a+1,atoms,(int(log10(a+1))+int(log10(atoms))+3)*"\b"))
sys.stdout.flush()
fout.writelines("%d\t"%(a+1))
for f in range(frames):
fout.writelines("%s\t"%(arry[a][f]))
fout.writelines("\n")
else:
if arry[a][0] == 0.0:
continue
else:
sys.stdout.write("%d/%d%s"%(e,ecount,(int(log10(e))+int(log10(ecount))+3)*"\b"))
sys.stdout.flush()
e+=1
fout.writelines("%d\t"%(a+1))
for f in range(frames):
fout.writelines("%s\t"%(arry[a][f]))
fout.writelines("\n")
print
print "DONE .... GOODBYE !!"
fout.close()
fin.close()
if __name__ == '__main__':
# set defaults
outfile = ""
flag_all = False
column=6 # default = radius
# check for input:
opts, argv = getopt(sys.argv[1:], 'c:o:ha')
# if no input, print help and exit
if len(argv) != 1:
printHelp()
sys.exit(1)
else:
infile=argv[0]
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
printHelp()
if opt == '-o': # output file name
outfile=arg
if opt == '-a': # all nuclii+electrons
flag_all=True
if opt == '-c': # select column from lammpstrj file to tabulate
column=int(arg)
makeradii(infile,outfile,column,flag_all)

File diff suppressed because it is too large Load Diff

View File

@ -1,113 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
Info="""
Module name: lmp2radii.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Extracts the electron radii from a lammps trajectory dump of style custom:
dump 1 all custom period dump_file id type x y z spin radius ...
NOTE: The radius must be the 6th column per trajectory entry in the dump file
"""
# import essentials:
import sys, os
from math import log10
from shutil import rmtree
from getopt import gnu_getopt as getopt
import numpy
def printHelp():
print Info
print "Usage: python lmp2radii.pyx test.lammpstrj\n"
return
def makeradii(infile):
print "Reading %s ... [WAIT]"%infile,
fin = open(infile,'r')
lines = fin.xreadlines()
print 7*"\b"+"[DONE]"
frame=0
radii=[]
# grep the number of frames and atoms/frame
os.system("grep TIMESTEP %s | wc -l > frames; grep -m 1 -A 1 ATOMS %s > atoms"%(infile,infile))
tmp=open("frames",'r')
frames=int(tmp.readline().split()[0])
tmp.close()
tmp=open("atoms",'r')
atoms=int(tmp.readlines()[1].split()[0])
tmp.close()
os.system("rm -rf frames atoms")
arry=numpy.zeros((atoms,frames),dtype=float)
framecnt=0
header=9
ecount=0
print "Extracting electron radii per frame from %s ... "%(infile),
for i,line in enumerate(lines):
lo=(atoms+header)*framecnt+header
hi=lo+atoms
if (i<lo):
continue
elif (i >= lo) and (i < hi):
lparse=line.split()
id=int(lparse[0])
r=float(lparse[6])
if (r!=0):
arry[id-1][framecnt]=r
if (framecnt==0): ecount+=1
if (i==lo+1):
sys.stdout.write("%d/%d%s"%(framecnt+1,frames,(int(log10(framecnt+1))+3+int(log10(frames)))*"\b"))
sys.stdout.flush()
if (i == hi+1):
framecnt+=1
print
print "Writing radii/frame table to %s ... "%(infile+'.out'),
sys.stdout.flush()
fout=open(infile+'.out','w')
for i in range(frames):
fout.writelines('\tF'+str(i))
fout.writelines("\n")
e=1
for a in range(atoms):
if arry[a][0] == 0.0: continue
else:
sys.stdout.write("%d/%d%s"%(e,ecount,(int(log10(e))+int(log10(ecount))+3)*"\b"))
sys.stdout.flush()
e+=1
fout.writelines("%d\t"%(a+1))
for f in range(frames):
fout.writelines("%f\t"%(arry[a][f]))
fout.writelines("\n")
print
print "Done !! (generated radii/frame table) \n"
fout.close()
fin.close()
if __name__ == '__main__':
# set defaults
# check for input:
opts, argv = getopt(sys.argv[1:], 'h')
# if no input, print help and exit
if len(argv) != 1:
printHelp()
sys.exit(1)
else:
infile=argv[0]
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
printHelp()
makeradii(infile)

View File

@ -1,113 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
Info="""
Module name: lmp2radii.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Extracts the electron radii from a lammps trajectory dump of style custom:
dump 1 all custom period dump_file id type x y z spin radius ...
NOTE: The radius must be the 6th column per trajectory entry in the dump file
"""
# import essentials:
import sys, os
from math import log10
from shutil import rmtree
from getopt import gnu_getopt as getopt
import numpy
def printHelp():
print Info
print "Usage: python lmp2radii.pyx test.lammpstrj\n"
return
def makeradii(infile):
print "Reading %s ... [WAIT]"%infile,
fin = open(infile,'r')
lines = fin.xreadlines()
print 7*"\b"+"[DONE]"
frame=0
radii=[]
# grep the number of frames and atoms/frame
os.system("grep TIMESTEP %s | wc -l > frames; grep -m 1 -A 1 ATOMS %s > atoms"%(infile,infile))
tmp=open("frames",'r')
frames=int(tmp.readline().split()[0])
tmp.close()
tmp=open("atoms",'r')
atoms=int(tmp.readlines()[1].split()[0])
tmp.close()
os.system("rm -rf frames atoms")
arry=numpy.zeros((atoms,frames),dtype=float)
framecnt=0
header=9
ecount=0
print "Extracting electron radii per frame from %s ... "%(infile),
for i,line in enumerate(lines):
lo=(atoms+header)*framecnt+header
hi=lo+atoms
if (i<lo):
continue
elif (i >= lo) and (i < hi):
lparse=line.split()
id=int(lparse[0])
r=float(lparse[6])
if (r!=0):
arry[id-1][framecnt]=r
if (framecnt==0): ecount+=1
if (i==lo+1):
sys.stdout.write("%d/%d%s"%(framecnt+1,frames,(int(log10(framecnt+1))+3+int(log10(frames)))*"\b"))
sys.stdout.flush()
if (i == hi+1):
framecnt+=1
print
print "Writing radii/frame table to %s ... "%(infile+'.out'),
sys.stdout.flush()
fout=open(infile+'.out','w')
for i in range(frames):
fout.writelines('\tF'+str(i))
fout.writelines("\n")
e=1
for a in range(atoms):
if arry[a][0] == 0.0: continue
else:
sys.stdout.write("%d/%d%s"%(e,ecount,(int(log10(e))+int(log10(ecount))+3)*"\b"))
sys.stdout.flush()
e+=1
fout.writelines("%d\t"%(a+1))
for f in range(frames):
fout.writelines("%f\t"%(arry[a][f]))
fout.writelines("\n")
print
print "DONE .... GOODBYE !!"
fout.close()
fin.close()
if __name__ == '__main__':
# set defaults
# check for input:
opts, argv = getopt(sys.argv[1:], 'h')
# if no input, print help and exit
if len(argv) != 1:
printHelp()
sys.exit(1)
else:
infile=argv[0]
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
printHelp()
makeradii(infile)

View File

@ -1,123 +0,0 @@
#!/usr/local/bin/python-2.5/bin/python
Info="""
Module name: lmp2radii-column.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@wag.caltech.edu
Project: pEFF
Version: August 2009
Extracts the electron radii from a lammps trajectory dump of style custom:
dump 1 all custom period dump_file id type x y z spin radius ...
NOTE: The radius must be the "column" per trajectory entry in the dump file
"""
# import essentials:
import sys, os
from math import log10
from shutil import rmtree
from getopt import gnu_getopt as getopt
import numpy
def printHelp():
print Info
print "Usage: python lmp2radii.pyx test.lammpstrj\n"
return
def makeradii(infile,outfile,column,True):
print "Reading %s ... [WAIT]"%infile,
fin = open(infile,'r')
lines = fin.xreadlines()
print 7*"\b"+"[DONE]"
frame=0
radii=[]
# grep the number of frames and atoms/frame
os.system("grep TIMESTEP %s | wc -l > frames; grep -m 1 -A 1 ATOMS %s > atoms"%(infile,infile))
tmp=open("frames",'r')
frames=int(tmp.readline().split()[0])
tmp.close()
tmp=open("atoms",'r')
atoms=int(tmp.readlines()[1].split()[0])
tmp.close()
os.system("rm -rf frames atoms")
arry=numpy.zeros((atoms,frames),dtype=float)
framecnt=0
header=9
ecount=0
print "Extracting electron radii per frame from %s ... "%(infile),
for i,line in enumerate(lines):
lo=(atoms+header)*framecnt+header
hi=lo+atoms
if (i<lo):
continue
elif (i >= lo) and (i < hi):
lparse=line.split()
id=int(lparse[0])
r=float(lparse[column])
if (r!=0):
arry[id-1][framecnt]=r
if (framecnt==0): ecount+=1
if (i==lo+1):
sys.stdout.write("%d/%d%s"%(framecnt+1,frames,(int(log10(framecnt+1))+3+int(log10(frames)))*"\b"))
sys.stdout.flush()
if (i == hi+1):
framecnt+=1
print
print "Writing radii/frame table to %s ... "%(infile+'.out'),
sys.stdout.flush()
fout=open(outfile,'w')
for i in range(frames):
fout.writelines('\tF'+str(i))
fout.writelines("\n")
e=1
for a in range(atoms):
if arry[a][0] == 0.0: continue
else:
sys.stdout.write("%d/%d%s"%(e,ecount,(int(log10(e))+int(log10(ecount))+3)*"\b"))
sys.stdout.flush()
e+=1
fout.writelines("%d\t"%(a+1))
for f in range(frames):
fout.writelines("%f\t"%(arry[a][f]))
fout.writelines("\n")
print
print "Done !! (generated radii/frame table) \n"
fout.close()
fin.close()
if __name__ == '__main__':
# set defaults
outfile = ""
flag_all = False
column=6 # default = radius
# check for input:
opts, argv = getopt(sys.argv[1:], 'c:o:ha')
# if no input, print help and exit
if len(argv) != 1:
printHelp()
sys.exit(1)
else:
infile=argv[0]
# read options
for opt, arg in opts:
if opt == '-h': # -h: print help
printHelp()
if opt == '-o': # output file name
outfile=arg
if opt == '-a': # all nuclii+electrons
flag_all=True
if opt == '-c': # select column from lammpstrj file to tabulate
column=int(arg)
makeradii(infile,outfile,column,flag_all)

View File

@ -1,81 +0,0 @@
Info="""
Module name: lmp2xyz.py
Author: (c) Andres Jaramillo-Botero
California Institute of Technology
ajaramil@caltech.edu
Project: pEFF
Version: August 2009
Extracts the xyz from a lammps trajectory dump of style custom:
dump 1 all custom period dump_file id type x y z spin radius ...
Usage: python lmp2xyz.py lammps_dump_filename xyz_filename
"""
import os, sys
from math import log10
from numpy import zeros
mass={"1.00794":"H","4.002602":"He","6.941":"Li","9.012182":"Be","10.811":"B","12.0107":"C","1.00":"Au","0.0005486":"Au"}
def lmp2xyz(lammps,xyz):
print "\nGenerating %s file"%(xyz)
fin=open(lammps,'r')
fout=open(xyz,'w')
header=9
lines=fin.readlines()
numatoms=lines[3].split()[0]
fsize=os.system("wc -l %s> lines"%(lammps))
tmp=open('lines','r')
tlines=tmp.readline()
tmp.close()
flines=int(tlines.split()[0])
snaps=flines/(int(numatoms)+header)
countsnap=1
coords=zeros((int(numatoms),4),dtype=float)
sys.stdout.write("Writing [%d]: "%(snaps))
sys.stdout.flush()
read_atoms=1
for line in lines:
if line.find('ITEM: TIMESTEP')==0:
read_atom_flag=False
sys.stdout.write("%d "%(countsnap))
sys.stdout.flush()
fout.writelines("%s\nAtoms\n"%(numatoms))
countsnap+=1
continue
if line.find('ITEM: ATOMS')==0:
read_atom_flag=True
continue
if read_atom_flag==True:
read_atoms+=1
parse=line.split()
if parse[0]!="":
coords[int(parse[0])-1][0]=int(parse[1])
coords[int(parse[0])-1][1]=float(parse[2])
coords[int(parse[0])-1][2]=float(parse[3])
coords[int(parse[0])-1][3]=float(parse[4])
if read_atoms==int(numatoms):
read_atoms=0
for i in range(int(numatoms)):
fout.writelines("%d %2.4f %2.4f %2.4f\n"%(coords[i][0],coords[i][1],coords[i][2],coords[i][3]))
print "\nDone converting to xyz!!\n"
fin.close()
fout.close()
return
if __name__ == '__main__':
# if no input, print help and exit
if len(sys.argv) < 2:
print Info()
sys.exit(1)
inputfile=sys.argv[1]
outfile=sys.argv[2]
lmp2xyz(inputfile,outfile.split()[0])

View File

@ -1,215 +0,0 @@
# module radii.vmd
# December, 2009 -(c)- Andres Jaramillo-Botero
# Script to load variable changing radii onto a pEFF lammpstrj file
# radii.vmd --
# Script to read and change electron radii in vmd dynamics traj
#
# openFile --
# Open the file and start looking for data
#
# Arguments:
# filename Name of the file to read
#
# Result:
# infile Handle to the opened file
#
# Side effects:
# A file in question is opened. Lines containing a * or# as
# the first non-blank character are considered comments. The
# first line without this is considered to be a line with the
# names of the columns.
#
proc openFile {filename} {
set infile [open $filename "r"]
return $infile
}
# readNames --
# Read the names of the columns
#
# Arguments:
# infile Handle to the file
#
# Result:
# names List of names, the number indicates the number of
# the snapshot frame
#
proc readNames {infile} {
#
# Skip the header - if any
#
set pos 0
while { [gets $infile line] >= 0 } {
if { [regexp {[ \t]*[*#]} $line] } {
incr pos
} else {
break
}
}
seek $infile 0 start
while { $pos > 0 } {
gets $infile line
incr pos -1
}
#
# Read the line with the column names
#
gets $infile line
# Force the line to be interpreted as a list
set nocols [llength $line]
return $line
}
# readData --
# Read the data per line
#
# Arguments:
# infile Handle to the file
#
# Result:
# values List of values, representing each column.
# A list of length zero indicates the end of file
#
proc readData {infile} {
while { [gets $infile values] == 0 } { ;# Just go on - skip empty lines }
set nocols [llength $values]
return $values
}
# readFile --
# Read the file and store the data in a (global) array
#
# Arguments:
# filename Name of the file
#
# Result:
# None
#
# Side effects:
# Filled array, ready for display
#
proc readFile {filename} {
global data_array
set infile [openFile $filename]
set data_array(names) [readNames $infile]
set i 0
foreach name $data_array(names) {
set data_array($i) {}
incr i
}
while 1 {
set values [readData $infile]
if { [llength $values] > 0 } {
set i 0
foreach value $values {
lappend data_array($i) $value
incr i
}
} else {
break
}
}
}
# makeXYData --
# Make a list useable by frame-electron
#
# Arguments:
# xindex Index of frame data
# yindex Index of electron data
#
# Result:
# None
#
# Side effects:
# A dataset for changing the electron radii, per trajectory frame
#
proc makeXYData {xindex yindex} {
global data_array
set xydata {}
foreach x $data_array($xindex) y $data_array($yindex) {
lappend xydata $x $y
}
return $xydata
}
proc returnXYPair {x y} {
global data_array
return [list $data_array($x) $data_array($y)]
}
# do_radii --
# Changes the radii of electrons per trajectory frame
#
# Arguments:
# xindex Index of frame data
# yindex Index of electron data
#
# Result:
# prints the frame:atomID:radius
#
proc do_radii {args} {
global molid data_array
#set n [molinfo $molid get numatoms]
set f [molinfo $molid get frame]
set fr [expr {$f+1}]
foreach elec $data_array(0) r $data_array($fr) {
set s [atomselect $molid "index [expr {$elec -1}]"]
#set nr [expr {exp($r)}]
set nr $r
$s set radius $nr
$s delete
#puts stderr "$fr $elec $nr"
}
}
# main --
# Main control flow
#
# Check input arguments
#for {set i 0} {$i<[llength $argv]} {incr i}
# puts " - $i: [lindex $argv $i]"
global data_array molid
# Set input files manually
set xyz xyzfile
set data radiifile
# switch default rep to VDW.
mol default style VDW
# load nuclear and electron xyz trajectory
#set xyz [lindex $::argv 0]
# load electron radii information for trajectory
#set datafile [lindex $::argv 1]
set molid [mol new $xyz waitfor all]
mol modstyle 0 [molinfo top] VDW 1.0 32.0
puts "Starting ..."
readFile $data
puts "Read datafile and created array of radii ..."
puts "Visualize trajectory"
trace variable vmd_frame($molid) w do_radii
animate goto start
do_radii

View File

@ -1,12 +0,0 @@
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
# To build do: python setup.py build_ext --inplace
ext_modules = [Extension("lmp2radii",["lmp2radii.pyx"])]
setup(
name = 'lmp2radii',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)

View File

@ -1,131 +0,0 @@
#!/usr/bin/perl
# Usage: Be-solid.pl <nx> <ny> <nz> > data.Be
#
# Generates a beryllium solid LAMMPS data file.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
$La = 4.592; # eFF optimized (4.33 expt)
$Lc = 7.025; # eFF optimized (6.78 expt)
# This part changes for different lattices
@xunit = (0, 0.5, 0, 0.5);
@yunit = (0, 0.5, 0.5 * (4/3), (1/3) * 0.5);
@zunit = (0, 0, 0.5, 0.5);
$Lx = $La;
$Ly = $La * sqrt(3);
$Lz = $Lc;
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
for ($z = 0; $z < $nz; $z++)
{
for ($i = 0; $i <= $#xunit; $i++)
{
$xnuc[$idx] = ($x + .25) * $Lx + $xunit[$i] * $Lx;
$ynuc[$idx] = ($y + .25) * $Ly + $yunit[$i] * $Ly;
$znuc[$idx] = ($z + .25) * $Lz + $zunit[$i] * $Lz;
$idx++;
}
}
}
}
$numnuc = $idx;
# Print length of supercell
printf("Created by Be-solid.pl\n\n");
printf("%d atoms\n",$numnuc+$numnuc*2+$numnuc*2);
printf("2 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $Lx * $nx);
printf("%f %f ylo yhi\n", 0, $Ly * $ny);
printf("%f %f zlo zhi\n\n", 0, $Lz * $nz);
printf("Masses\n\n");
printf("1 9.012182\n");
printf("2 1.000000\n\n");
printf("Atoms\n\n");
$j=0;
# Print out the nuclei
for ($i = 0; $i < $numnuc; $i++)
{
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i], $ynuc[$i], $znuc[$i], 4.0, 0, 0.0);
}
# Print out the core electrons
$r_core = 0.5;
for ($i = 0; $i < $numnuc; $i++)
{
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i], $ynuc[$i], $znuc[$i], 0.0, 1, $r_core);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i], $ynuc[$i], $znuc[$i], 0.0, -1, $r_core);
}
# Print out the valence electrons
$r_valence = 2.5;
for ($i = 0; $i < $numnuc; $i += 4)
{
$x = &BoundX($xnuc[$i] + $Lx / 2.0);
$y = &BoundY($ynuc[$i] + $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, 1, $r_valence);
$x = &BoundX($xnuc[$i] + $Lx / 2.0);
$y = &BoundY($ynuc[$i] + $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, -1, $r_valence);
$x = &BoundX($xnuc[$i+1] + $Lx / 2.0);
$y = &BoundY($ynuc[$i+1] + $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+1];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, 1, $r_valence);
$x = &BoundX($xnuc[$i+1] + $Lx / 2.0);
$y = &BoundY($ynuc[$i+1] + $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+1];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, -1, $r_valence);
$x = &BoundX($xnuc[$i+2] - $Lx / 2.0);
$y = &BoundY($ynuc[$i+2] - $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+2];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, 1, $r_valence);
$x = &BoundX($xnuc[$i+2] - $Lx / 2.0);
$y = &BoundY($ynuc[$i+2] - $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+2];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, -1, $r_valence);
$x = &BoundX($xnuc[$i+3] - $Lx / 2.0);
$y = &BoundY($ynuc[$i+3] - $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+3];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, 1, $r_valence);
$x = &BoundX($xnuc[$i+3] - $Lx / 2.0);
$y = &BoundY($ynuc[$i+3] - $Lx / (2.0 * sqrt(3)));
$z = $znuc[$i+3];
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $x, $y, $z, 0.0, -1, $r_valence);
}
sub BoundX {
$x = $_[0];
if ($x > $Lx * $nx) {$x -= $Lx * $nx;}
if ($x < 0) {$x += $Lx * $nx;}
return $x;
}
sub BoundY {
$y = $_[0];
if ($y > $Ly * $ny) {$y -= $Ly * $ny;}
if ($y < 0) {$y += $Ly * $ny;}
return $y;
}
sub BoundZ {
$z = $_[0];
if ($z > $Lz * $nz) {$z -= $Lz * $nz;}
if ($z < 0) {$z += $Lz * $nz;}
return $z;
}

View File

@ -1,119 +0,0 @@
#!/usr/bin/perl
# Usage: diamond <nx> <ny> <nz> > data.diamond
#
# Generates diamond A4 structure.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
#$scale = shift(@ARGV);
$scale = 1.045;
$L = 7.33461; # eFF optimized (6.740 expt)
$re_core = 0.328; # core electron
$re_sigma = 1.559; # sigma electrons
#$r_threshold = $scale * 1.6 / 0.529; # threshold for sigma bond length
$r_threshold = $scale * 1.6 / 0.5 ; # threshold for sigma bond length
@xunit = (0, 0, 0.5, 0.5, 0.25, 0.75, 0.25, 0.75);
@yunit = (0, 0.5, 0, 0.5, 0.25, 0.75, 0.75, 0.25);
@zunit = (0, 0.5, 0.5, 0, 0.25, 0.25, 0.75, 0.75);
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
for ($z = 0; $z < $nz; $z++)
{
for ($i = 0; $i <= $#xunit; $i++)
{
$xnuc[$idx] = $x * $L + $xunit[$i] * $L;
$ynuc[$idx] = $y * $L + $yunit[$i] * $L;
$znuc[$idx] = $z * $L + $zunit[$i] * $L;
$idx++;
}
}
}
}
$numnuc = $idx;
$xx = $L * $nx;
$yy = $L * $ny;
$zz = $L * $nz;
# Print length of supercell
printf("Created with Diamond.pl\n\n");
printf("%d atoms\n",$numnuc*7);
printf("2 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $L * $nx);
printf("%f %f ylo yhi\n", 0, $L * $ny);
printf("%f %f zlo zhi\n\n", 0, $L * $nz);
printf("Masses\n\n");
printf("1 12.01070\n");
printf("2 1.000000\n\n");
printf("Atoms\n\n");
# Print out the nuclei and the core electrons
for ($i = 0; $i < $numnuc; $i++)
{
printf("%i %i %f %f %f %f 0 0.0\n", $j+=1, 1, $xnuc[$i], $ynuc[$i], $znuc[$i], 6.0);
}
for ($i = 0; $i < $numnuc; $i++)
{
printf("%i %i %f %f %f 0.0 %i %.10f\n", $j+=1, 2, $xnuc[$i], $ynuc[$i], $znuc[$i], 1, $re_core);
printf("%i %i %f %f %f 0.0 %i %.10f\n", $j+=1, 2, $xnuc[$i], $ynuc[$i], $znuc[$i], -1, $re_core);
}
# Print out sigma electrons
$LLx = $L * $nx;
$LLy = $L * $ny;
$LLz = $L * $nz;
$k=$j;
for ($i = 0; $i < $numnuc; $i++)
{
for ($j = 0; $j < $i; $j++)
{
$x = $xnuc[$j] - $xnuc[$i];
$y = $ynuc[$j] - $ynuc[$i];
$z = $znuc[$j] - $znuc[$i];
# Minimum image convention
if ($x > $LLx/2) {$x -= $LLx;}
if ($y > $LLy/2) {$y -= $LLy;}
if ($z > $LLz/2) {$z -= $LLz;}
if ($x < -$LLx/2) {$x += $LLx;}
if ($y < -$LLy/2) {$y += $LLy;}
if ($z < -$LLz/2) {$z += $LLz;}
$r = sqrt($x * $x + $y * $y + $z * $z);
if ($r < $r_threshold)
{
$bond_x = $xnuc[$i] + $x / 2;
$bond_y = $ynuc[$i] + $y / 2;
$bond_z = $znuc[$i] + $z / 2;
# Minimum image convention
if ($bond_x > $LLx) {$bond_x -= $LLx};
if ($bond_y > $LLy) {$bond_y -= $LLy};
if ($bond_z > $LLz) {$bond_z -= $LLz};
if ($bond_x < 0) {$bond_x += $LLx};
if ($bond_y < 0) {$bond_y += $LLy};
if ($bond_z < 0) {$bond_z += $LLz};
printf("%i %i %f %f %f 0.0 %i %.10f\n", $k+=1, 2, $bond_x, $bond_y, $bond_z, 1, $re_sigma);
printf("%i %i %f %f %f 0.0 %i %.10f\n", $k+=1, 2, $bond_x, $bond_y, $bond_z, -1, $re_sigma);
}
}
}

View File

@ -1,93 +0,0 @@
#!/usr/bin/perl
# Usage: ./Li-hydride.pl <nx> <ny> <nz> > data.Li-hydride
#
# Generates a lithium hydride solid.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
$L = 6.785; # eFF optimized (7.72 expt)
# This part changes for different lattices
@xunit = (0, 0.5, 0, 0.5, 0.5, 0, 0, 0.5);
@yunit = (0, 0.5, 0.5, 0, 0, 0.5, 0, 0.5);
@zunit = (0, 0, 0.5, 0.5, 0, 0, 0.5, 0.5);
$r_elec = 0.7;
$r2_elec = 2.2;
$Lx = $L;
$Ly = $L;
$Lz = $L;
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
for ($z = 0; $z < $nz; $z++)
{
for ($i = 0; $i <= $#xunit; $i++)
{
$xnuc[$idx] = $x * $Lx + $xunit[$i] * $L + 0.5 * $L;
$ynuc[$idx] = $y * $Ly + $yunit[$i] * $L + 0.5 * $L;
$znuc[$idx] = $z * $Lz + $zunit[$i] * $L + 0.5 * $L;
$idx++;
}
}
}
}
$numnuc = $idx;
# Print length of supercell
printf("Created with Li-hydride.pl\n\n");
printf("%d atoms\n",$numnuc+$numnuc+$numnuc);
printf("3 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $Lx * $nx);
printf("%f %f ylo yhi\n", 0, $Ly * $ny);
printf("%f %f zlo zhi\n\n", 0, $Lz * $nz);
printf("Masses\n\n");
printf("1 6.941000\n");
printf("2 1.007940\n");
printf("3 1.000000\n\n");
printf("Atoms\n\n");
$j = 0;
# Print out the nuclei
for ($i = 0; $i < $numnuc; $i += 8)
{
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i], $ynuc[$i], $znuc[$i], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 2, $xnuc[$i+4], $ynuc[$i+4], $znuc[$i+4], 1.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 2, $xnuc[$i+5], $ynuc[$i+5], $znuc[$i+5], 1.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 2, $xnuc[$i+6], $ynuc[$i+6], $znuc[$i+6], 1.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 2, $xnuc[$i+7], $ynuc[$i+7], $znuc[$i+7], 1.0, 0, 0.0);
}
# Print out the electrons
for ($i = 0; $i < $numnuc; $i += 8)
{
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i ], $ynuc[$i ], $znuc[$i ], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i ], $ynuc[$i ], $znuc[$i ], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+4], $ynuc[$i+4], $znuc[$i+4], 0.0, 1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+4], $ynuc[$i+4], $znuc[$i+4], 0.0, -1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+5], $ynuc[$i+5], $znuc[$i+5], 0.0, 1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+5], $ynuc[$i+5], $znuc[$i+5], 0.0, -1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+6], $ynuc[$i+6], $znuc[$i+6], 0.0, 1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+6], $ynuc[$i+6], $znuc[$i+6], 0.0, -1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+7], $ynuc[$i+7], $znuc[$i+7], 0.0, 1, $r2_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 3, $xnuc[$i+7], $ynuc[$i+7], $znuc[$i+7], 0.0, -1, $r2_elec);
}

View File

@ -1,92 +0,0 @@
#!/usr/bin/perl
# Usage: Li-solid.pl <nx> <ny> <nz> > data.Li
#
# Generates a lithium solid LAMMPS data input file
# with FCC nuclear positions and interstitial electron positions.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
$L = 8.352; # eFF optimized (8.32 expt)
# This part changes for different lattices
@xunit = (0, 0.5, 0, 0.5, 0.5, 0, 0, 0.5);
@yunit = (0, 0.5, 0.5, 0, 0, 0.5, 0, 0.5);
@zunit = (0, 0, 0.5, 0.5, 0, 0, 0.5, 0.5);
$r_elec = 0.7;
$r_elec2 = 3.0;
$Lx = $L;
$Ly = $L;
$Lz = $L;
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
for ($z = 0; $z < $nz; $z++)
{
for ($i = 0; $i <= $#xunit; $i++)
{
$xnuc[$idx] = $x * $Lx + $xunit[$i] * $L + 0.5 * $L;
$ynuc[$idx] = $y * $Ly + $yunit[$i] * $L + 0.5 * $L;
$znuc[$idx] = $z * $Lz + $zunit[$i] * $L + 0.5 * $L;
$idx++;
}
}
}
}
$numnuc = $idx;
# Print length of supercell
printf("Created by AJB\n\n");
printf("%d atoms\n",2*$numnuc);
printf("2 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $Lx * $nx);
printf("%f %f ylo yhi\n", 0, $Ly * $ny);
printf("%f %f zlo zhi\n\n", 0, $Lz * $nz);
printf("Masses\n\n");
printf("1 6.941000\n");
printf("2 1.000000\n\n");
printf("Atoms\n\n");
$j = 0;
# Print out the nuclei
for ($i = 0; $i < $numnuc; $i += 8)
{
printf("%i %i %f %f %f %f %i %f\n", $j+=1,1,$xnuc[$i], $ynuc[$i], $znuc[$i], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1,1,$xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 3.0, 0, 0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1,1,$xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 3.0,0,0.0);
printf("%i %i %f %f %f %f %i %f\n", $j+=1,1,$xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 3.0,0,0.0);
}
# Print out the core electrons
for ($i = 0; $i < $numnuc; $i += 8)
{
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i ], $ynuc[$i ], $znuc[$i ], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i ], $ynuc[$i ], $znuc[$i ], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+2], $ynuc[$i+2], $znuc[$i+2], 0.0, -1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 0.0, 1, $r_elec);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+3], $ynuc[$i+3], $znuc[$i+3], 0.0, -1, $r_elec);
}
# Print out the valence electrons
for ($i = 0; $i < $numnuc; $i += 8)
{
if (rand() < .5) {$spin = 1;} else {$spin = -1;}
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+4], $ynuc[$i+4], $znuc[$i+4], 0.0, $spin, $r_elec2);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+5], $ynuc[$i+5], $znuc[$i+5], 0.0, -$spin, $r_elec2);
if (rand() < .5) {$spin = 1;} else {$spin = -1;}
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+6], $ynuc[$i+6], $znuc[$i+6], 0.0, $spin, $r_elec2);
printf("%i %i %f %f %f %f %i %.10f\n", $j+=1, 2, $xnuc[$i+7], $ynuc[$i+7], $znuc[$i+7], 0.0, -$spin, $r_elec2);
}

View File

@ -1,67 +0,0 @@
#!/usr/bin/perl
# Usage: ./Uniform-electron-gas.pl <nx> <ny> <nz> <rs> > data.uniform-e-gas
#
# Generates a uniform electron gas using electrons on an NaCl lattice.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
$rs = shift(@ARGV);
# This part changes for different lattices
@xunit = (0, 0.5, 0.5, 0, 0, 0.5, 0.5, 0);
@yunit = (0, 0, 0.5, 0.5, 0.5, 0.5, 0, 0);
@zunit = (0, 0, 0, 0, 0.5, 0.5, 0.5, 0.5);
$volume = 1;
$elecs_per_cell = 8;
$L = $rs * ((4/3) * 3.14159265 * $elecs_per_cell / $volume) ** (1/3); # length of unit cell
$r_elec = $rs * sqrt(1.5 / 1.1050);
$Lx = $L;
$Ly = $L;
$Lz = $L;
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
for ($z = 0; $z < $nz; $z++)
{
for ($i = 0; $i <= $#xunit; $i++)
{
$xnuc[$idx] = $x * $Lx + $xunit[$i] * $L;
$ynuc[$idx] = $y * $Ly + $yunit[$i] * $L;
$znuc[$idx] = $z * $Lz + $zunit[$i] * $L;
$idx++;
}
}
}
}
$numnuc = $idx;
# Print length of supercell
printf("Created with Uniform-electron-gas.pl\n\n");
printf("%d atoms\n",$numnuc);
printf("1 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $Lx * $nx);
printf("%f %f ylo yhi\n", 0, $Ly * $ny);
printf("%f %f zlo zhi\n\n", 0, $Lz * $nz);
printf("Masses\n\n");
printf("1 1.000000\n\n");
printf("Atoms\n\n");
$j = 0;
# Print out the electrons
for ($i = 0; $i < $numnuc; $i += 2)
{
printf("%i %i %i %f %f %f %.10f\n", $j+=1, 1, 1, $r_elec, $xnuc[$i], $ynuc[$i], $znuc[$i]);
printf("%i %i %i %f %f %f %.10f\n", $j+=1, 1, -1, $r_elec, $xnuc[$i+1], $ynuc[$i+1], $znuc[$i+1]);
}
printf("\n");

View File

@ -1,67 +0,0 @@
#!/usr/bin/perl
# Usage: h2.pl <nx> <ny> <nz> <rs> > data.h2
#
# Generates rectangular lattice of hydrogen atoms, # in each direction = nx,
# with Wigner radius rs.
# ...
# Shifts H atoms in alternating directions so they form H2 molecule
# starting structures.
$nx = shift(@ARGV);
$ny = shift(@ARGV);
$nz = shift(@ARGV);
$rs = shift(@ARGV);
$L = 1.6119919540164693 * $rs; # length of unit cell ((4/3 pi)^(1/3)
$re = 1.823572; # electron radius
$dshift = 0.5;
$idx = 0;
for ($x = 0; $x < $nx; $x++)
{
for ($y = 0; $y < $ny; $y++)
{
$dsign = 1;
for ($z = 0; $z < $nz; $z++)
{
$xnuc[$idx] = $x * $L + 0.5 * $L;
$ynuc[$idx] = $y * $L + 0.5 * $L;
$znuc[$idx] = $z * $L + 0.5 * $L + $dshift * $dsign;
$dsign = -$dsign;
$idx++;
}
}
}
$numnuc = $idx;
# Print length of supercell
printf("Created with h2.pl\n\n");
printf("%d atoms\n",$numnuc*2);
printf("2 atom types\n\n");
printf("%f %f xlo xhi\n", 0, $L * $nx);
printf("%f %f ylo yhi\n", 0, $L * $ny);
printf("%f %f zlo zhi\n\n", 0, $L * $nz);
printf("Masses\n\n");
printf("1 1.007940\n");
printf("2 1.000000\n\n");
printf("Atoms\n\n");
$j=0;
# Print out the nuclei and the core electrons
for ($i = 0; $i < $numnuc; $i++)
{
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 1, $xnuc[$i], $ynuc[$i], $znuc[$i], 1.0, 0, 0.0);
}
$spin = 1;
for ($i = 0; $i < $numnuc; $i++)
{
if ($spin == 1) {$spin = -1;} else {$spin = 1;}
printf("%i %i %f %f %f %f %i %f\n", $j+=1, 2, $xnuc[$i], $ynuc[$i], $znuc[$i], 0.0, $spin, $re);
}