a = np.sqrt(volume / c) return a, c / a, energy if __name__ == '__main__': # volPercRange = scipy.linspace(0.1, 3.0, 29) volPercRange = scipy.linspace(0.2, 2.4, 12) # !!!!!! Make sure you have correct starting scf.in at equilibrium qe = QECalc('config.ini') a0 = qe.structure.lattice.a c0 = qe.structure.lattice.c apar = [a0] c_apar = [c0 / a0] # obtain total energy at equilibrium: qe.pwscfLauncher() energy = qe.getTotalEnergy() print volPercRange for volPrcnt in volPercRange: print "Optimizing volume at " + str(volPrcnt) + "% expansion" a, c_a, e = hexVolOpt(a0, c0 / a0, volPrcnt) print e, a, c_a apar.append(a) c_apar.append(c_a) energy.append(e) print "a:" print apar print "c/a:" print c_apar print "Energy:" print energy
a = np.sqrt(volume/c) return a, c/a, energy if __name__ == '__main__': # volPercRange = scipy.linspace(0.1, 3.0, 29) volPercRange = scipy.linspace(0.2, 2.4 , 12) # !!!!!! Make sure you have correct starting scf.in at equilibrium qe = QECalc('config.ini') a0 = qe.structure.lattice.a c0 = qe.structure.lattice.c apar = [a0] c_apar = [c0/a0] # obtain total energy at equilibrium: qe.pwscfLauncher() energy = qe.getTotalEnergy() print volPercRange for volPrcnt in volPercRange: print "Optimizing volume at " + str(volPrcnt) + "% expansion" a, c_a, e = hexVolOpt(a0, c0/a0, volPrcnt) print e, a, c_a apar.append(a) c_apar.append(c_a) energy.append(e) print "a:" print apar print "c/a:" print c_apar print "Energy:" print energy