예제 #1
0
 N = np.rint(Nkppra / totatoms).astype(int)
 oldROD = pos.rod
 oldbvecs = np.array(pos.bvecs)
 reallatt = np.array((pos.avecs[0], pos.avecs[1], pos.avecs[2]))
 print "Real lattice"
 print reallatt
 print "Recip lattice"
 reciplatt = np.array((pos.bvecs[0], pos.bvecs[1], pos.bvecs[2]))
 print reciplatt
 print "Recip lattice/2pi"
 reciplatt = np.array((pos.bvecs[0], pos.bvecs[1], pos.bvecs[2]))
 print reciplatt / 2 / np.pi
 print "Real lattice orth defect:", pos.orthogonality_defect
 print "Recp lattice orth defect:", pos.rod
 pos.kmink_reduce(
     1e-1
 )  ####THIS DOES NOT CHANGE THE BVECS.  HAVE TO WRITE A NEW POSCAR, AS THE PROPERTIES ARE READ ONLY
 sys.stdout.flush()
 newROD = pos.rod
 newbvecs = np.array(pos.bvecs)
 reciplatt = np.array((pos.bvecs[0], pos.bvecs[1], pos.bvecs[2]))
 #        print reciplatt
 test = []
 if abs(newROD - oldROD) < 1e-3 and np.equal(newbvecs, oldbvecs).all:
     #        if abs(newROD - oldROD) < 1e-3 :
     print "Recip lattice already reduced"
     print reciplatt
     pos.name = pos.name + ' k-space mink reduced OK'
 else:
     pos.name = pos.name + ' New lattice for k-space mink reduced'
     print "Old recip lattice"
예제 #2
0
 #        back = subprocess.check_output(["echo", "Hello World!"])
 #        back = check_out(["echo", "Hello World!"])
 #        back = os.system('mink_reduction.py < POSCAR0 ')
 #        back = subprocess.check_output(['mink_reduction.py',' <',' POSCAR0 '], shell=True,)
 #        back = nstrip(subprocess.check_output(['mink_reduction.py < POSCAR0'], shell=True,).split())
 #        print 'back'
 #        print back
 N = np.rint(Nkppra / totatoms).astype(int)
 pfile = open('POSCAR0', 'r')
 rlines = [i.strip() for i in pfile.readlines()]
 pos = POSCAR(lines=rlines)
 oldROD = pos.rod
 oldbvecs = np.array(pos.bvecs)
 print "Real lattice orth defect:", pos.orthogonality_defect
 print "Recp lattice orth defect:", pos.rod
 pos.kmink_reduce(1e-1)
 sys.stdout.flush()
 newROD = pos.rod
 newbvecs = np.array(pos.bvecs)
 reciplatt = np.array((pos.bvecs[0], pos.bvecs[1], pos.bvecs[2]))
 #        print reciplatt
 test = []
 if abs(newROD - oldROD) < 1e-3 and np.equal(newbvecs, oldbvecs).all:
     #        if abs(newROD - oldROD) < 1e-3 :
     print "Recip lattice already reduced"
 else:
     print "Old recip lattice"
     print oldbvecs
     print "New recip lattice orth defect", newROD
     print "New recip lattice"
     print newbvecs
예제 #3
0
        totatoms = np.sum(pos.types)
        N = np.rint(Nkppra/totatoms).astype(int)   
        oldROD = pos.rod
        oldbvecs = np.array(pos.bvecs)
        reallatt = np.array((pos.avecs[0],pos.avecs[1],pos.avecs[2]))
        print "Real lattice"
        print  reallatt  
        print "Recip lattice"
        reciplatt = np.array((pos.bvecs[0],pos.bvecs[1],pos.bvecs[2]))
        print  reciplatt
        print "Recip lattice/2pi"         
        reciplatt = np.array((pos.bvecs[0],pos.bvecs[1],pos.bvecs[2]))
        print reciplatt/2/np.pi     
        print "Real lattice orth defect:",pos.orthogonality_defect
        print "Recp lattice orth defect:",pos.rod
        pos.kmink_reduce(1e-1) ####THIS DOES NOT CHANGE THE BVECS.  HAVE TO WRITE A NEW POSCAR, AS THE PROPERTIES ARE READ ONLY
        sys.stdout.flush()
        newROD = pos.rod
        newbvecs = np.array(pos.bvecs)
        reciplatt = np.array((pos.bvecs[0],pos.bvecs[1],pos.bvecs[2]))
#        print reciplatt
        test = []
        if abs(newROD - oldROD) < 1e-3 and np.equal(newbvecs,oldbvecs).all:
#        if abs(newROD - oldROD) < 1e-3 :
            print "Recip lattice already reduced"
            print reciplatt
            pos.name = pos.name + ' k-space mink reduced OK'    
        else:
            pos.name = pos.name + ' New lattice for k-space mink reduced'
            print "Old recip lattice"
            print oldbvecs
예제 #4
0
#        back = subprocess.check_output(["echo", "Hello World!"])  
#        back = check_out(["echo", "Hello World!"])
#        back = os.system('mink_reduction.py < POSCAR0 ')
#        back = subprocess.check_output(['mink_reduction.py',' <',' POSCAR0 '], shell=True,)
#        back = nstrip(subprocess.check_output(['mink_reduction.py < POSCAR0'], shell=True,).split())
#        print 'back'
#        print back
        N = np.rint(Nkppra/totatoms).astype(int)
        pfile = open('POSCAR0','r')
        rlines  = [i.strip() for i in pfile.readlines()]       
        pos = POSCAR(lines=rlines)   
        oldROD = pos.rod
        oldbvecs = np.array(pos.bvecs)
        print "Real lattice orth defect:",pos.orthogonality_defect
        print "Recp lattice orth defect:",pos.rod
        pos.kmink_reduce(1e-1)
        sys.stdout.flush()
        newROD = pos.rod
        newbvecs = np.array(pos.bvecs)
        reciplatt = np.array((pos.bvecs[0],pos.bvecs[1],pos.bvecs[2]))
#        print reciplatt
        test = []
        if abs(newROD - oldROD) < 1e-3 and np.equal(newbvecs,oldbvecs).all:
#        if abs(newROD - oldROD) < 1e-3 :
            print "Recip lattice already reduced"         
        else:
            print "Old recip lattice"
            print oldbvecs
            print "New recip lattice orth defect", newROD
            print "New recip lattice"
            print newbvecs