Esempio n. 1
0
            map(float,
                outcar.readline().split()[:3]) for a in range(nAtoms)
        ]
        tet, rcut = orderParam.tetrahedral(atoms, basis, rcut=rcut)
        tAvg = sum(tet) / len(tet)
        tets = " ".join(map(str, tet))
        tetraOut.write(str(tAvg) + " " + tets + "\n")

if lammpsFlag:
    nAtoms = lammpsIO.nAtoms(filename)
    basisByteNums = lammpsIO.basisBytes(filename)
    atomsByteNums = lammpsIO.atomsBytes(filename)

    tetraOut = open(filename + ".tetra", "w")

    tetraOut.write("AverageTetra PerAtomTetra\n")
    for i, (bByte, aByte) in enumerate(zip(basisByteNums, atomsByteNums)):
        basis = lammpsIO.parseBasis(filename, bByte)
        atoms, dummy = lammpsIO.parseAtoms(filename, aByte, nAtoms, basis)

        tet, rcut = orderParam.tetrahedral(atoms, basis, rcut=rcut)
        tAvg = sum(tet) / len(tet)
        tets = " ".join(map(str, tet))
        tetraOut.write(str(tAvg) + " " + tets + "\n")

#mencoder "mf://*.png" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4

#opt="vbitrate=2160000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3"
#mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=1:$opt -mf type=png:fps=48 -nosound -o /dev/null mf://\*.png
#mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=2:$opt -mf type=png:fps=48 -nosound -o output.avi mf://\*.png
Esempio n. 2
0
    for i,b in enumerate(bytenums):
        outcar.seek(b)
        outcar.readline()
        outcar.readline()
        atoms.append([map(float,outcar.readline().split()[:3]) for a in range(nAtoms)])
    scale = 5E-15

if lammpsFlag:
    nAtoms = lammpsIO.nAtoms(filename)
    basisByteNums = lammpsIO.basisBytes(filename)
    atomsByteNums = lammpsIO.atomsBytes(filename)

    for i,(bByte,aByte) in enumerate(zip(basisByteNums,atomsByteNums)):
        basis = lammpsIO.parseBasis(filename,bByte)
        try:
            a,dummy = lammpsIO.parseAtoms(filename,aByte,nAtoms,basis)
        except IndexError:
            break
        atoms.append(a)
    scale = 0.001E-12

scale /= 1E-12 #picosecond conversion

atoms = array(atoms)
steps,rmsd =rootMeanSquareDist.rootMeanSquareCorrelate(atoms,basis)

steps = [i*scale for i in steps]
rmsddata+=[str(y)+" "+str(z)+"\n" for y,z in zip(steps,rmsd)]

rmsdfile=filename+".rmsdCorrelate"
Esempio n. 3
0
dumpFilename = fname+"lmp.dump"
possibleSuffix = [i for i in possibleSuffix if os.path.isfile(fname+i)]
print possibleSuffix
ensembleHead   = " ".join([i.strip(".") for i in possibleSuffix])
ensembles = None
if len(possibleSuffix)>0:
    ensembles  = [parserGens.parseEnsemble(fname+i) for i in possibleSuffix]

if "OUTCAR" in fname:
    nAtoms = outcarIO.nAtoms(fname)
    basis = array(map(array,outcarIO.basis(fname)))
    bounds = [[0,basis[0][0]],[0,basis[1][1]],[0,basis[2][2]]]
    types = outcarIO.types(fname)

    #Find the starting locations of atomic data in outcarfile
    grepResults = subprocess.check_output("grep -b POSITION %s"%fname,shell=True).split("\n")
    bytenums=[int(i.split(":")[0]) for i in grepResults if len(i)>2]
    outcarParsed = parserGens.parseOutcarAtoms(bytenums,fname,nAtoms)

    lammpsIO.writeDump(dumpFilename,basis,types,outcarParsed,ensembles,ensembleHead)

else:
    nAtoms = lammpsIO.nAtoms(fname)
    basis = lammpsIO.basis(fname)
    bounds = [[0,basis[0][0]],[0,basis[1][1]],[0,basis[2][2]]]
    b = lammpsIO.atomsBytes(fname)
    dummy,types = lammpsIO.parseAtoms(fname,b[0],nAtoms,basis)
    dumpParsed = parserGens.parseLammpsAtoms(b,fname,nAtoms)

    lammpsIO.writeDump(dumpFilename,basis,types,dumpParsed,ensembles,ensembleHead)