def dipole(self): self.parameter['dipole'] = [] for k in range(len(self.parameter['e_amp'])): if self.d1 == 1: j2 = 1.0 / 2.0 else: j2 = 3.0 / 2.0 n = self.parameter['n'] tmp = [[0 for i in range(n)] for j in range(n)] cs = Atom() for i in range(n): for j in range(n): d1 = self.index2lfm(i) d2 = self.index2lfm(j) if d1[0] == 0 and d2[0] == 1: q_arr = self.parameter['e_amp'][k][1] for q in q_arr: coef = { 'q': q, 'L1': 0, 'L2': 1, 'F1': d1[1], 'F2': d2[1], 'mf1': d1[2], 'mf2': d2[2] + q, 'J1': 1.0 / 2.0, 'J2': j2, 'I': 7.0 / 2.0 } tmp[i][j] += cs.dipole_element(**coef) elif d2[0] == 0 and d1[0] == 1: q_arr = self.parameter['e_amp'][k][1] for q in q_arr: coef = { 'q': q, 'L1': 0, 'L2': 1, 'F1': d2[1], 'F2': d1[1], 'mf1': d2[2], 'mf2': d1[2] + q, 'J1': 1.0 / 2.0, 'J2': j2, 'I': 7.0 / 2.0 } tmp[i][j] += cs.dipole_element(**coef) else: tmp[i][j] = 0.0 self.parameter['dipole'].append(tmp)
def dipole(self): self.parameter['dipole'] = [] for k in range(len(self.parameter['e_amp'])): if self.d1 == 1: j2 = 1.0/2.0 else: j2 = 3.0/2.0 n=self.parameter['n'] tmp = [[0 for i in range(n)] for j in range(n)] cs = Atom() for i in range(n): for j in range(n): d1 = self.index2lfm(i) d2 = self.index2lfm(j) if d1[0] == 0 and d2[0] == 1: q_arr=self.parameter['e_amp'][k][1] for q in q_arr: coef = {'q':q, 'L1':0, 'L2':1, 'F1':d1[1], 'F2':d2[1], 'mf1':d1[2], 'mf2':d2[2]+q, 'J1':1.0/2.0, 'J2':j2, 'I':7.0/2.0} tmp[i][j] += cs.dipole_element(**coef) elif d2[0] == 0 and d1[0] == 1: q_arr=self.parameter['e_amp'][k][1] for q in q_arr: coef = {'q':q, 'L1':0, 'L2':1, 'F1':d2[1], 'F2':d1[1], 'mf1':d2[2], 'mf2':d1[2]+q, 'J1':1.0/2.0, 'J2':j2, 'I':7.0/2.0} tmp[i][j] += cs.dipole_element(**coef) else: tmp[i][j] = 0.0 self.parameter['dipole'].append(tmp)
def dipole(parameter): n = parameter['n'] parameter['dipole'] = [[0 for i in range(n)] for j in range(n)] cs = Atom() for i in range(n): for j in range(n): d1 = index2lfm(i) d2 = index2lfm(j) if d1[0] == 0 and d2[0] == 1: coef = { 'q': 0, 'L1': 0, 'L2': 1, 'F1': d1[1], 'F2': d2[1], 'mf1': d1[2], 'mf2': d2[2], 'J1': 1.0 / 2.0, 'J2': 1.0 / 2.0, 'I': 7.0 / 2.0 } parameter['dipole'][i][j] = cs.dipole_element(**coef) elif d2[0] == 0 and d1[0] == 1: coef = { 'q': 0, 'L1': 0, 'L2': 1, 'F1': d2[1], 'F2': d1[1], 'mf1': d2[2], 'mf2': d1[2], 'J1': 1.0 / 2.0, 'J2': 1.0 / 2.0, 'I': 7.0 / 2.0 } parameter['dipole'][i][j] = cs.dipole_element(**coef) else: parameter['dipole'][i][j] = 0.0 return parameter
def dipole(parameter): n = parameter["n"] parameter["dipole"] = [[0 for i in range(n)] for j in range(n)] cs = Atom() for i in range(n): for j in range(n): d1 = index2lfm(i) d2 = index2lfm(j) if d1[0] == 0 and d2[0] == 1: coef = { "q": 0, "L1": 0, "L2": 1, "F1": d1[1], "F2": d2[1], "mf1": d1[2], "mf2": d2[2], "J1": 1.0 / 2.0, "J2": 1.0 / 2.0, "I": 7.0 / 2.0, } parameter["dipole"][i][j] = cs.dipole_element(**coef) elif d2[0] == 0 and d1[0] == 1: coef = { "q": 0, "L1": 0, "L2": 1, "F1": d2[1], "F2": d1[1], "mf1": d2[2], "mf2": d1[2], "J1": 1.0 / 2.0, "J2": 1.0 / 2.0, "I": 7.0 / 2.0, } parameter["dipole"][i][j] = cs.dipole_element(**coef) else: parameter["dipole"][i][j] = 0.0 return parameter