sys.path.append('/home/kevin/projects/ntpl/Codes') # Needed to recognize ntpy module import ntpy.param.lj as lj import ntpy.param.const as ct import ntpy.gulp as gp temps = [20, 50, 80] strains = [-0.12, -0.10, -0.08, -0.06, -0.04, -0.02, -0.01, 0.0, \ 0.005, 0.01, 0.015, 0.02, 0.04, 0.06, 0.08, 0.10, 0.12] numTemps = len(temps) numStrains = len(strains) # numKpts = 100 numKpts = 50 numAtomsUC = 4 # Number of atoms in the unit cell numFreq = 3 * numAtomsUC numVel = numFreq mass = 1.0 * lj.value('mass') * ct.value('kilo') * ct.value('avog') gulpName = 'gulp.temp' # Gulp template file tempName = 'input.gulp' # Lattice Constants alat = np.array( [lj.value('lat20'), lj.value('lat50'), lj.value('lat80')] ) # Data Arrays vel = np.zeros( (numTemps, numStrains, numKpts, 3, numFreq, 3), dtype=float) freqConv = 2.0 * np.pi * ct.value('c') * ct.value('tocenti') * lj.value('tau') # velConv = ((1.0 / ct.value('centi')) * ct.value('c')) / (1.0 / (lj.value('lat20') * ct.value('ang'))) # print velConv for itemp in range(numTemps):
# from scipy.optimize import leastsq import numpy as np import operator import sys sys.path.append('/home/kevin/projects/ntpl/Codes') import ntpy.param.lj as lj temps = [20, 50, 80] strains = [-.12, -.10, -.08, -.06, -.04, -.02, -.01, 0, .005, .01, .015, .02, .04, .06, .08, .10, .12] numTemps = len(temps) numStrains = len(strains) numFreqs = 12 # Lattice Constants alat = np.array( [lj.value('lat20'), lj.value('lat50'), lj.value('lat80')] ) print "Begin Load Sequence" ## ## ## Load freq from file freq = np.load('post.freq.npy') ## ## ## Load vel from file vel = np.load('post.vel.npy') print vel[0,0,:,0,0,0] ## ## ## Load freqStep from file freqStep = np.load('post.freqStep.npy') ## ## ## Load freqdos from file freqdos = np.load('post.freq.dos.npy')
## ## ## Kevin Parrish - 7/31/12 - lammps pos script ## ## ## import sys sys.path.append('/home/kevin/projects/ntpl/Codes') # Needed to recognize ntpy module import ntpy.lattice as lt # Lattice module import ntpy.param.lj as lj # Parameter module ## Set lattice constants lat20 = (lj.value('lat20') / lj.value('sigma')) * 1e-10 lat50 = (lj.value('lat50') / lj.value('sigma')) * 1e-10 lat80 = (lj.value('lat80') / lj.value('sigma')) * 1e-10 lat100 = lat80 ## Automated using a loop lats = [lat20, lat50, lat80, lat100] for index, lat in zip(range(len(lats)), lats): mylamp = lt.Lammps('in.pos.'+ str(index)) mylat = lt.Block([lats[index], lats[index], lats[index]], 'fcc', [6, 6, 6], atom_mass = [1]) mylamp.buildLammps([mylat])
sys.path.append('/home/kevin/projects/ntpl/Codes') # Needed to recognize ntpy module import ntpy.lattice as lt import ntpy.param.lj as lj import ntpy.param.const as ct import ntpy.gulp as gp temps = [20, 50, 80] strains = [-0.12, -0.10, -0.08, -0.06, -0.04, -0.02, -0.01, 0.0, \ 0.005, 0.01, 0.015, 0.02, 0.04, 0.06, 0.08, 0.10, 0.12] numTemps = len(temps) numStrains = len(strains) numKpts = 100 numAtomsUC = 4 # Number of atoms in the unit cell numFreq = 3 * numAtomsUC numVel = numFreq mass = 1.0 * lj.value('mass') * ct.value('kilo') * ct.value('avog') gulpName = 'gulp.temp' # Gulp template file tempName = 'input.gulp' # Lattice Constants alat = np.array( [lj.value('lat20'), lj.value('lat50'), lj.value('lat80')] ) # Data Arrays eig = np.zeros( (numTemps, numStrains, numKpts, 3, numFreq, numFreq), \ dtype=complex) for itemp in range(numTemps): for istrain in range(numStrains): # 100 Direction, Create kpts kpt = np.zeros( (numKpts, 3), dtype=float) kpt[:, 0] = np.linspace(0, 0.5, num=numKpts)
## ## ## Kevin Parrish ## ## ## ## ## ## nmd.py config file ## ## ## import numpy as np import sys ntpyPath = '/opt/mcgaugheygroup/ntpy' sys.path.append(ntpyPath) # Needed to recognize ntpy module import ntpy.lattice as lt import ntpy.param.lj as lj import ntpy.param.const as ct ## ## ## BEGIN USER INPUT ## ## ## ## Lattice Parameters dim = [4, 4, 4] latType = 'fcc' realMass = 1.0 * lj.value('mass') * ct.value('kilo') * ct.value('avog') ljMass = 1.0 realLat = lj.value('lat20') * (1.0+ 0.0) ljLat = ((lj.value('lat20') / lj.value('sigma')) * 1e-10) * (1.0 + 0.0) ## Name Parameters gulpName = 'gulp.template' # Gulp Template Name gulpTrans = 'input.gulp' # Gulp Transient Name gulpExe = 'gulp_ifort' # Gulp Executable Name lammpsName = 'lammps.template' # Lammps Template Name lammpsRunName = 'in.lammps' # Lammps Run Name lammpsSubName = 'lammps.sub.template' # Lammps Submission Template Name lammpsSubRunName = 'tmp.lammps.sub' # Lammps Submission Run Name
# np.savez('post.ald.new.'+ str(2)+ '.'+ str(8)+ '.'+ \ # str(0)+ '.npz', newKpt=newKpt, newFreq=newFreq, \ # newLife=newLife, newVel=newVel) # print 'finish' # sys.exit() ########################## for tStr, itemp in zip(strTemps, range(len(strTemps))): for i, sStr, sNum, istrain in zip(colors, strStrains, rStrains, range(len(strStrains))): for zStr, isize, zNum in zip(strSizes, range(len(strSizes)), rSizes): print tStr + "/" + sStr + "/" + zStr + "/" # # Create volume latType = "fcc" ljLat = ((lj.value("lat" + str(rTemps[itemp])) / lj.value("sigma")) * 1e-10) * (1.0 + sNum) myBox = lt.Block([ljLat, ljLat, ljLat], latType, [zNum, zNum, zNum]) Lx = myBox.Lx() Ly = myBox.Ly() Lz = myBox.Lz() numAtomsUC = myBox.numAtomsUcell() numModes = 3 * numAtomsUC V = (Lx * Ly * Lz) * (1.0 * lj.value("sigma") ** 3) # # Extract Data pathName = basePathName + tStr + "/" + sStr + "/" + zStr + "/" jobName = pathName + fileData kpt, freq, freqShiftQ, lifeQ, freqShiftC, lifeC, vg = aldLife(jobName) rKpt = lt.kpt([zNum, zNum, zNum], conv=True) # EigenVectors