def read_pmd(self, fname='pmd0000'): f = open(fname, 'r') # 1st: lattice constant self.alc = float(f.readline().split()[0]) # 2nd-4th: cell vectors for i in range(3): data = f.readline().split() self.a1[i] = float(data[0]) self.a2[i] = float(data[1]) self.a3[i] = float(data[2]) # self.a1= np.array([float(x) for x in f.readline().split()]) # self.a2= np.array([float(x) for x in f.readline().split()]) # self.a3= np.array([float(x) for x in f.readline().split()]) # 5th-7th: velocity of cell vectors tmp = f.readline().split() tmp = f.readline().split() tmp = f.readline().split() # 8st: num of atoms natm = int(f.readline().split()[0]) # 9th-: atom positions self.atoms = [] for i in range(natm): data = [float(x) for x in f.readline().split()] ai = Atom() ai.decode_tag(data[0]) ai.set_pos(data[1], data[2], data[3]) ai.set_vel(data[4], data[5], data[6]) self.atoms.append(ai) f.close()
def read_akr(self,fname='akr0000'): f=open(fname,'r') # 1st: lattice constant self.alc= float(f.readline().split()[0]) # 2nd-4th: cell vectors self.a1= np.array([float(x) for x in f.readline().split()]) self.a2= np.array([float(x) for x in f.readline().split()]) self.a3= np.array([float(x) for x in f.readline().split()]) # 5th: num of atoms buff= f.readline().split()[0] natm= int(buff[0]) nauxd= int(buff[1]) if nauxd < 3: print '[Error] read_akr(): nauxd < 3 !!!' sys.exit() # 9th-: atom positions self.atoms= [] for i in range(natm): data= [float(x) for x in f.readline().split()] ai= Atom() ai.set_sid(data[0]) ai.set_pos(data[1],data[2],data[3]) # if there are less than 3 auxiliary data, there is not velocity ai.set_vel(data[4],data[5],data[6]) self.atoms.append(ai) f.close()
def read_akr(self, fname='akr0000'): f = open(fname, 'r') # 1st: lattice constant self.alc = float(f.readline().split()[0]) # 2nd-4th: cell vectors for i in range(3): data = f.readline().split() self.a1[i] = float(data[0]) self.a2[i] = float(data[1]) self.a3[i] = float(data[2]) # 5th: num of atoms natm = int(f.readline().split()[0]) # 9th-: atom positions self.atoms = [] for i in range(natm): data = [float(x) for x in f.readline().split()] ai = Atom() ai.set_sid(data[0]) ai.set_pos(data[1], data[2], data[3]) ai.set_vel(data[4], data[5], data[6]) self.atoms.append(ai) f.close()