示例#1
0
 def update_volume(line):
     if line.startswith("     unit-cell volume"):
         volume = float(line.split()[3])
         cuds_entity = sim.get(oclass=QE.Cell)[0].get(oclass=QE.Volume)
         if cuds_entity:
             cuds_entity[0].value = volume
             cuds_entity[0].unit = "au^3"
         else:
             sim.get(oclass=QE.Cell)[0].add(
                 QE.Volume(value=volume, unit="au^3"))
                                      [0., 0.5, 0.5]], unit = "")
SiCell.add(Si1, SiParams)
Si1.add(QE.Position(vector = (0, 0, 0), unit = ""))
SiCell.add(celldm1)

# Specifies the values of the cell parameters


# Adds cell and element to simulation
sim.add(SiCell)
sim.add(Si)
sim.add(k)
sim.add(QE.Pressure(value = 100, unit = "kbar"))
sim.add(QE.StressTensor(tensor2 = np.zeros((3, 3)), unit = "kbar"))
root = ""
SiCell.add(QE.Volume(value = 22, unit = "au^3"))
sim.add(QE.TotalEnergy(value = -434, unit = "Ry"))
q = QE.QPoint(vector = (0, 0, 0), unit = "", calculate = True)
sim.add(q)
q.add(QE.Mode(number = 3))
q.add(QE.Mode(number = 2))
q.add(QE.Mode(number = 1))

sim2 = QE.Simulation()
fd = QE.Cell()
sim2.add(fd)

fd.add(QE.Volume(value = 33, unit = "au^3"))
sim2.add(QE.TotalEnergy(value = -432, unit = "Ry"))
 
with qeSession(root) as session: