calculate Kunc EOS,
    see Dorogokupets2015 for functional form

    :param v: unit-cell volume in A^3
    :param k: [v0, k0, k0p]
    :param order: order for the Kunc equation
    :param uncertainties: use of uncertainties package
    :return: pressure in GPa
    :note: internal function

def cal_p_kunc(v, k, order=5, uncertainties=True):
    """
    calculate Kunc EOS,
    see Dorogokupets2015 for functional form

    :param v: unit-cell volume in A^3
    :param k: [v0, k0, k0p]
    :param order: order for the Kunc equation
    :param uncertainties: use of uncertainties package
    :return: pressure in GPa
    :note: internal function
    """
    v0 = k[0]
    k0 = k[1]
    k0p = k[2]
    x = np.power(v / v0, 1. / 3.)
    f1 = (1. - x) / (np.power(x, order))
    if uncertainties:
        f2 = unp.exp((1.5 * k0p - order + 0.5) * (1. - x))
    else:
        f2 = np.exp((1.5 * k0p - order + 0.5) * (1. - x))
    p = 3. * k0 * f1 * f2
    return p