Ejemplo n.º 1
0
    energy = brentOut[1]
    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
Ejemplo n.º 2
0
    energy = brentOut[1]
    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