mirror of https://github.com/lammps/lammps.git
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@4858 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
d2ffab65ce
commit
f3c76494de
|
@ -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.
|
|
|
@ -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"
|
|
|
@ -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)
|
|
|
@ -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
|
|
215
tools/eff/h2.vmd
215
tools/eff/h2.vmd
|
@ -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
|
|
||||||
|
|
13130
tools/eff/h2.xyz
13130
tools/eff/h2.xyz
File diff suppressed because it is too large
Load Diff
|
@ -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
|
@ -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)
|
|
|
@ -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)
|
|
|
@ -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)
|
|
||||||
|
|
|
@ -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])
|
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
||||||
)
|
|
|
@ -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;
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
|
@ -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");
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue