Exemplo n.º 1
0
                array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))

    elif "OUTCAR" in pn:
        if len(cfgNums)==1:
            TE,stress,basis,atoms,forces,types = outcarIO.outcarReadConfig(pn,cfgNums)
            orderVals.append( orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))
        else:
            TEs,stresss,basiss,atomss,forcess,typess = outcarIO.outcarReadConfig(pn,cfgNums)
            for basis,atoms in zip(basiss,atomss):
                orderVals.append(orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))

    else: #LAMMPS DUMP
        if len(cfgNums)==1:
            basis,types,atoms =  lammpsIO.readConfig(pn,cfgNums)
            orderVals.append( orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))
        else:
            basiss,types,atomss = lammpsIO.readConfig(pn,cfgNums)
            for basis,atoms in zip(basiss,atomss):
                orderVals.append(orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))

#======================================================
#                       Plot!
#======================================================
labels=[]
if lval==None:
    lval=""
xylabels={"BO"  :[r"BondOrder($Q_%s$)"%str(lval), r"$P(Q_%s)$"%str(lval)],
Exemplo n.º 2
0
#Parse POSCAR
j=0
if "POSCAR" in configFile or "CONTCAR" in configFile:
    poscar=open(configFile,"r").readlines()
    [basis,atypes,atoms,head,poscar] = poscarIO.read(poscar)
    types=list()
    for i in atypes:
        types+=[j+1]*i
        j+=1

elif "OUTCAR" in configFile:
    TE,stress,basis,atoms,forces,types = outcarIO.outcarReadConfig(configFile,Nconfig)

#Parse LAMMPS DUMP
else: 
    basis,types,atoms = lammpsIO.readConfig(configFile,Nconfig)

ax,ay,az=map(np.array,zip(*atoms))
v1,v2,v3=basis

if rectifyFlag:
    ax,ay,az = ax%v1[0], ay%v2[1], az%v3[2]

fig=mlab.figure(bgcolor=(0.8,0.8,0.8))

#Set default rcut value for tetrahedral ordering
if op=="TET" and rcut==None:
    rcut=3.2

#Get the order parameter and convert to integer format (opsn) for
#coloring of atoms
Exemplo n.º 3
0
    print "%s <lammps dump> <config #> <POSCAR output>" % sys.argv[0].split("/")[-1]
    print "If only the dump file is provided, the number of configurations will be reported"
    print "Converts a lammps dump to POSCAR"


# If only the filename is provided, count the number of configurations and spit that out
if len(sys.argv) == 2:
    dumpdata = open(sys.argv[1], "r").readlines()
    usage()
    print "\nNumber of configurations:", len([i for i in dumpdata if "ITEM: TIMESTEP" in i]), "\n"
    exit(0)

if len(sys.argv) != 4:
    usage()
    exit(0)

dumpdata = sys.argv[1]  # open(sys.argv[1],"r").readlines()
configN = int(sys.argv[2])
posname = sys.argv[3]

# Read in lammps data
basis, types, atoms = lammpsIO.readConfig(dumpdata, configN)

# atoms,types = zip(*[[[i[0],i[1],i[2]-basis[2][2]/2.0],t] for i,t in zip(atoms,types) if i[2]>basis[2][2]/2.0])
# basis[2][2]/=2.0

header = "POSCAR generated by %s on %s" % (sys.argv[0].split("/")[-1], time.asctime())
# Write out POSCAR data
atypes = [types.count(j) for j in sorted(list(set(types)))]
poscarIO.write(posname, basis, atoms, atypes, header, autoFrac=False, frac=False)
Exemplo n.º 4
0
j=0
if "POSCAR" in configFile or "CONTCAR" in configFile:
    poscar=open(configFile,"r").readlines()
    [basis,atypes,atoms,head,poscar] = poscarIO.read(poscar)
    types=list()
    for i in atypes:
        types+=[j+1]*i
        j+=1

#Parse OUTCAR
elif "OUTCAR" in configFile:
    TE,stress,basis,atoms,forces,types = outcarIO.outcarReadConfig(configFile,Nconfig)

#Parse LAMMPS
else: 
    basis,types,atoms = lammpsIO.readConfig(configFile,Nconfig)

ax,ay,az=map(np.array,zip(*atoms))
nAtom = len(ax)
v1,v2,v3=basis

if shiftFlag:    
    atoms = [[a[0]+v1[0]/2.,a[1]+v2[1]/2.,a[2]+v3[2]/2.55] for a in atoms]
    rectifyFlag = True

if rectifyFlag:
    atoms = np.array(atoms) #unrectified for orderParam calculations.
    ax = np.mod(atoms[:,0],v1[0])
    ay = np.mod(atoms[:,1],v2[1])
    az = np.mod(atoms[:,2],v3[2])
Exemplo n.º 5
0
    elif "OUTCAR" in pn:
        if len(cfgNums) == 1:
            TE, stress, basis, atoms, forces, types = outcarIO.outcarReadConfig(
                pn, cfgNums)
            orderVals.append( orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))
        else:
            TEs, stresss, basiss, atomss, forcess, typess = outcarIO.outcarReadConfig(
                pn, cfgNums)
            for basis, atoms in zip(basiss, atomss):
                orderVals.append(orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))

    else:  #LAMMPS DUMP
        if len(cfgNums) == 1:
            basis, types, atoms = lammpsIO.readConfig(pn, cfgNums)
            orderVals.append( orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))
        else:
            basiss, types, atomss = lammpsIO.readConfig(pn, cfgNums)
            for basis, atoms in zip(basiss, atomss):
                orderVals.append(orderParams[op]( \
                    array(atoms),array(basis),l=lval,neighbs=neighbs,rcut=args.rcut,debug=args.debug))

#======================================================
#                       Plot!
#======================================================
labels = []
if lval == None:
    lval = ""
xylabels = {
Exemplo n.º 6
0
#!/usr/bin/python

import sys
#mine
import lammpsIO
import utils

utils.usage(["<input dump file>","<configuration #>","<output config file>"],3,3,"LAMMPS dump file must have bounds, atom type and atomic locations.")

iDump=sys.argv[1]
cfg=int(sys.argv[2])
bounds,types,atoms=lammpsIO.readConfig(iDump,cfg)
oCnfg=open(sys.argv[3],"w")
lammpsIO.dumpWriteConfig(oCnfg,bounds,types,atoms,"config made by %s, from file %s config %d"%(sys.argv[0].split("/")[-1],iDump,cfg))

Exemplo n.º 7
0
    dumpdata = open(sys.argv[1], "r").readlines()
    usage()
    print "\nNumber of configurations:", len(
        [i for i in dumpdata if "ITEM: TIMESTEP" in i]), "\n"
    exit(0)

if len(sys.argv) != 4:
    usage()
    exit(0)

dumpdata = sys.argv[1]  #open(sys.argv[1],"r").readlines()
configN = int(sys.argv[2])
posname = sys.argv[3]

#Read in lammps data
basis, types, atoms = lammpsIO.readConfig(dumpdata, configN)

#atoms,types = zip(*[[[i[0],i[1],i[2]-basis[2][2]/2.0],t] for i,t in zip(atoms,types) if i[2]>basis[2][2]/2.0])
#basis[2][2]/=2.0

header = "POSCAR generated by %s on %s" % (sys.argv[0].split("/")[-1],
                                           time.asctime())
#Write out POSCAR data
atypes = [types.count(j) for j in sorted(list(set(types)))]
poscarIO.write(posname,
               basis,
               atoms,
               atypes,
               header,
               autoFrac=False,
               frac=False)