Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions util/qbox_angle.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# qbox_angle.py
# extract angle defined by three atoms from Qbox output
# use: qbox_angle.py name1 name2 name3 file.r
Expand All @@ -7,7 +7,7 @@
import math

if len(sys.argv) != 5:
print "use: ",sys.argv[0]," name1 name2 name3 file.r"
print("use: ",sys.argv[0]," name1 name2 name3 file.r")
sys.exit()

name1 = ""
Expand Down Expand Up @@ -77,7 +77,7 @@ def endElement(self, name):
c = sp
c = max(-1.0,min(1.0,sp))
a = (180.0/math.pi)*math.acos(c)
print '%.4f' % a
print('%.4f' % a)
elif name == "position":
self.readPos1 = 0
self.readPos2 = 0
Expand Down
8 changes: 4 additions & 4 deletions util/qbox_distance.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# qbox_distance.py
# extract distance between two atoms from Qbox output
# use: qbox_distance.py name1 name2 file.r
Expand All @@ -7,7 +7,7 @@
import math

if len(sys.argv) != 4:
print "use: ",sys.argv[0]," name1 name2 file.r"
print("use: ",sys.argv[0]," name1 name2 file.r")
sys.exit()

name1 = ""
Expand Down Expand Up @@ -54,9 +54,9 @@ def endElement(self, name):
r2z = float(pos2[2])
#print "r1: ",self.r1x,self.r1y,self.r1z
#print "r2: ",self.r2x,self.r2y,self.r2z
print '%.4f' % math.sqrt((r1x-r2x)**2+
print('%.4f' % math.sqrt((r1x-r2x)**2+
(r1y-r2y)**2+
(r1z-r2z)**2)
(r1z-r2z)**2))
elif name == "position":
self.readPos1 = 0
self.readPos2 = 0
Expand Down
20 changes: 10 additions & 10 deletions util/qbox_dos.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# qbox_dos.py: extract electronic DOS from Qbox output
# generate DOS plot in gnuplot format
# use: qbox_dos.py [-last] [mu] emin emax [mu] width file.r
Expand All @@ -16,7 +16,7 @@

argc=len(sys.argv)
if (argc < 5) or (argc > 7) :
print "use: ",sys.argv[0]," [-last] [mu] emin emax width file.r"
print("use: ",sys.argv[0]," [-last] [mu] emin emax width file.r")
sys.exit()

# default chemical potential mu=0.0
Expand All @@ -29,15 +29,15 @@
lastonly = True
iarg += 1
if (argc < 6):
print "use: ",sys.argv[0]," [-last] [mu] emin emax width file.r"
print("use: ",sys.argv[0]," [-last] [mu] emin emax width file.r")
sys.exit()

# check for mu argument
if ((lastonly and (argc == 7)) or ((not lastonly) and (argc == 6))):
mu = float(sys.argv[iarg])
iarg += 1
if (argc < 6):
print "use: ",sys.argv[0]," [-last] [mu] emin emax width file.r"
print("use: ",sys.argv[0]," [-last] [mu] emin emax width file.r")
sys.exit()

emin = float(sys.argv[iarg])
Expand Down Expand Up @@ -108,17 +108,17 @@ def accumulate_dos(self):
self.dos_dn[j] += gauss(float(self.e[i])-self.mu-ej, width ) * self.weight

def print_dos(self):
print "# ",infile," mu=",self.mu," spin=0 width=",width
print("# ",infile," mu=",self.mu," spin=0 width=",width)
for j in range(ndos):
ej = emin + j * de
print ej, self.dos_up[j]
print(ej, self.dos_up[j])
if self.nspin == 2:
print
print
print "# ",infile," mu=",mu," spin=1 width=",width
print()
print()
print("# ",infile," mu=",mu," spin=1 width=",width)
for j in range(ndos):
ej = emin + j * de
print ej, self.dos_dn[j]
print(ej, self.dos_dn[j])

parser = xml.sax.make_parser()
handler = QboxOutputHandler()
Expand Down
12 changes: 6 additions & 6 deletions util/qbox_eig.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# qbox_eig.py: extract eigenvalues from Qbox output
# use: qbox_eig.py kpoint n ispin file.r
# extracts eigenvalue n at (ispin,kpoint)
Expand All @@ -10,8 +10,8 @@

argc=len(sys.argv)
if ( not ( argc in [3,4,6,7] ) ):
print "use: ",sys.argv[0]," [ispin] [kx ky kz] n file.r"
print " ispin = 0..1, n = 1..neig"
print("use: ",sys.argv[0]," [ispin] [kx ky kz] n file.r")
print(" ispin = 0..1, n = 1..neig")
sys.exit()

if argc == 7:
Expand Down Expand Up @@ -46,7 +46,7 @@
n = int(sys.argv[1])
infile = sys.argv[2]

print "# ",infile," ispin=",ispin, " n=", n, " k=", kx, ky, kz
print("# ",infile," ispin=",ispin, " n=", n, " k=", kx, ky, kz)

# Qbox output handler to extract and process data
class QboxOutputHandler(xml.sax.handler.ContentHandler):
Expand Down Expand Up @@ -81,9 +81,9 @@ def endElement(self, name):
def print_eig(self):
self.e = self.buffer.split()
if n > int(self.n):
print "n>neig: neig=", self.n
print("n>neig: neig=", self.n)
else:
print self.e[n-1]
print(self.e[n-1])

parser = xml.sax.make_parser()
handler = QboxOutputHandler()
Expand Down
6 changes: 3 additions & 3 deletions util/qbox_force.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# qbox_force.py
# extract force of an atom from Qbox output
# use: qbox_force.py atom_name file.r
Expand All @@ -7,7 +7,7 @@
import math

if len(sys.argv) != 3:
print "use: ",sys.argv[0]," atom_name file.r"
print("use: ",sys.argv[0]," atom_name file.r")
sys.exit()

# Qbox output handler to extract and process <atomset>
Expand Down Expand Up @@ -36,7 +36,7 @@ def endElement(self, name):
fx = float(force[0])
fy = float(force[1])
fz = float(force[2])
print '%.8f'%fx,'%.8f'%fy,'%.8f'%fz
print('%.8f'%fx,'%.8f'%fy,'%.8f'%fz)
self.readForce = 0

atom_name = sys.argv[1]
Expand Down
35 changes: 21 additions & 14 deletions util/qbox_maxforce.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# Copyright 2016 The Regents of the University of California
# This file is part of Qbox
#
Expand All @@ -9,10 +9,11 @@
import os.path
import xml.sax
import sys
import urllib2
from urllib.error import HTTPError, URLError
from urllib.request import urlopen

def usage():
print "use: ",sys.argv[0]," {file|URL}"
print("use: ",sys.argv[0]," {file|URL}")
sys.exit()

argc=len(sys.argv)
Expand Down Expand Up @@ -76,9 +77,9 @@ def endElement(self, name):
if ( fz*fz > fzmax*fzmax ):
fzmax = fz
z_name = self.atomname[i]
print '%10.3e'%fxmax,'%-8s'%x_name,\
print('%10.3e'%fxmax,'%-8s'%x_name,\
'%10.3e'%fymax,'%-8s'%y_name,\
'%10.3e'%fzmax,'%-8s'%z_name
'%10.3e'%fzmax,'%-8s'%z_name)
self.inAtomset = 0

parser = xml.sax.make_parser()
Expand All @@ -96,14 +97,20 @@ def endElement(self, name):
else:
# attempt to open as a URL
try:
f = urllib2.urlopen(input_source)
s = f.read(8192)
while ( s !="" ):
parser.feed(s)
s = f.read(8192)
f.close()
except (ValueError,urllib2.HTTPError) as e:
print e
sys.exit()
with urlopen(input_source, timeout=10) as f:
s = f.read(8192)
while ( s !="" ):
parser.feed(s)
s = f.read(8192)
f.close()
except HTTPError as error:
print(error.status, error.reason)
sys.exit()
except URLError as error:
print(error.reason)
sys.exit()
except TimeoutError:
print("Request timed out")
sys.exit()

parser.reset()
43 changes: 25 additions & 18 deletions util/qbox_move_subsample.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# Copyright 2018 The Regents of the University of California
# This file is part of Qbox
#
Expand All @@ -10,10 +10,11 @@
import os.path
import xml.sax
import sys
import urllib2
from urllib.error import HTTPError, URLError
from urllib.request import urlopen

def usage():
print "use: ",sys.argv[0]," interval cmd {file|URL}"
print("use: ",sys.argv[0]," interval cmd {file|URL}")
sys.exit()

argc=len(sys.argv)
Expand Down Expand Up @@ -62,17 +63,17 @@ def endElement(self, name):
elif name == "atomset":
self.step += 1
if ( self.step % interval == 0 ):
print "#",input_source,"iteration",self.step
print("#",input_source,"iteration",self.step)
avec = self.cell_a.split()
bvec = self.cell_b.split()
cvec = self.cell_c.split()
print "set cell ",avec[0],avec[1],avec[2],\
print("set cell ",avec[0],avec[1],avec[2],\
bvec[0],bvec[1],bvec[2],\
cvec[0],cvec[1],cvec[2]
cvec[0],cvec[1],cvec[2])
for i in range(len(self.tau)):
print "move ",self.atomname[i]," to ",\
self.tau[i][0],self.tau[i][1],self.tau[i][2]
print cmd
print("move ",self.atomname[i]," to ",\
self.tau[i][0],self.tau[i][1],self.tau[i][2])
print(cmd)
self.inAtomset = 0

parser = xml.sax.make_parser()
Expand All @@ -90,14 +91,20 @@ def endElement(self, name):
else:
# attempt to open as a URL
try:
f = urllib2.urlopen(input_source)
s = f.read(8192)
while ( s !="" ):
parser.feed(s)
s = f.read(8192)
f.close()
except (ValueError,urllib2.HTTPError) as e:
print e
sys.exit()
with urlopen(input_source, timeout=10) as f:
s = f.read(8192)
while ( s !="" ):
parser.feed(s)
s = f.read(8192)
f.close()
except HTTPError as error:
print(error.status, error.reason)
sys.exit()
except URLError as error:
print(error.reason)
sys.exit()
except TimeoutError:
print("Request timed out")
sys.exit()

parser.reset()
43 changes: 25 additions & 18 deletions util/qbox_move_to.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python2
#!/usr/bin/env python3
# Copyright 2018 The Regents of the University of California
# This file is part of Qbox
#
Expand All @@ -9,10 +9,11 @@
import os.path
import xml.sax
import sys
import urllib2
from urllib.error import HTTPError, URLError
from urllib.request import urlopen

def usage():
print "use: ",sys.argv[0]," [-iter i] {file|URL}"
print("use: ",sys.argv[0]," [-iter i] {file|URL}")
sys.exit()

argc=len(sys.argv)
Expand Down Expand Up @@ -72,18 +73,18 @@ def endElement(self, name):
self.step += 1
if ( self.step == iter ):
if ( iter_option ):
print "#",input_source,"iteration",iter
print("#",input_source,"iteration",iter)
else:
print "#",input_source
print("#",input_source)
avec = self.cell_a.split()
bvec = self.cell_b.split()
cvec = self.cell_c.split()
print "set cell ",avec[0],avec[1],avec[2],\
print("set cell ",avec[0],avec[1],avec[2],\
bvec[0],bvec[1],bvec[2],\
cvec[0],cvec[1],cvec[2]
cvec[0],cvec[1],cvec[2])
for i in range(len(self.tau)):
print "move ",self.atomname[i]," to ",\
self.tau[i][0],self.tau[i][1],self.tau[i][2]
print("move ",self.atomname[i]," to ",\
self.tau[i][0],self.tau[i][1],self.tau[i][2])
self.inAtomset = 0
self.done = ( self.step >= iter )

Expand All @@ -102,14 +103,20 @@ def endElement(self, name):
else:
# attempt to open as a URL
try:
f = urllib2.urlopen(input_source)
s = f.read(8192)
while ( s !="" and not handler.done ):
parser.feed(s)
s = f.read(8192)
f.close()
except (ValueError,urllib2.HTTPError) as e:
print e
sys.exit()
with urlopen(input_source, timeout=10) as f:
s = f.read(8192)
while ( s !="" and not handler.done ):
parser.feed(s)
s = f.read(8192)
f.close()
except HTTPError as error:
print(error.status, error.reason)
sys.exit()
except URLError as error:
print(error.reason)
sys.exit()
except TimeoutError:
print("Request timed out")
sys.exit()

parser.reset()
Loading