else: atomsOP = []#[[] for i in range(nAtom)] count = 0 for i,line in enumerate(open(opFile,"r")): line = line.split() if len(line)<20:continue count+=1 atomsOP.append(map(float,line[1:])) atomsOP = zip(*atomsOP) atoms = array(atomsTraj).swapaxes(0,1) basis = eye(3) atoms = rootMeanSquareDist.unwrap(atoms,basis) atomsTraj = atoms.swapaxes(0,1).swapaxes(1,2) def coarseGrain(x, cg=10): return array([sum(x[i*cg:i*cg+cg])/cg for i in range(int(len(x)/cg))]) #brg #winter #RdBu #jet def colorLine(x, y, z, c=None, cmap=plt.get_cmap('cool'),alpha=0.4): if c==None: c = linspace(0.0, 1.0, len(x)) c = array(c) points = array([x, y, z]).T.reshape(-1, 1, 3) segments = concatenate([points[:-1], points[1:]], axis=1)
scale = 0.001E-12 #0.001ps (default for units = metal) if logtEnable: header = "#Generated by %s using file %s\n log(t) ISF \n"%(sys.argv[0].split("/")[-1],inputFile) else: header = "#Generated by %s using file %s\n t(ps) ISF \n"%(sys.argv[0].split("/")[-1],inputFile) if "OUTCAR" in inputFile: ocarFile = inputFile atomByteNums = outcarIO.atomBytes(ocarFile) nAtom = outcarIO.nAtoms(ocarFile) basis = outcarIO.basis(ocarFile) configIterator = parserGens.parseOutcarAtoms(atomByteNums,ocarFile,nAtom) atomsTime = [array(atoms) for atoms in configIterator] atomsTime = unwrap(atomsTime,basis) else: lmpFile = inputFile atomByteNums = lammpsIO.atomsBytes(lmpFile) nAtom = lammpsIO.nAtoms(lmpFile) basis = lammpsIO.basis(lmpFile) bounds=[[0,basis[0][0]],[0,basis[1][1]],[0,basis[2][2]]] configIterator = parserGens.parseLammpsAtoms(atomByteNums,lmpFile,nAtom) atomsTime = [array(atoms) for atoms in configIterator] bounds=[[0,basis[0][0]],[0,basis[1][1]],[0,basis[2][2]]] if len(crTime)+1 == nAtom: crTime=crTime[1:] #chop off the average if necessary if sh2Enable: