calculate Gruneisen parameter for the Speziale equation

    :param v: unit-cell volume in A^3
    :param v0: unit-cell volume in A^3 at 1 bar
    :param gamma0: Gruneisen parameter at 1 bar
    :param q0: logarithmic derivative of Gruneisen parameter
    :param q1: logarithmic derivative of Gruneisen parameter
    :return: Gruneisen parameter

def speziale_grun(v, v0, gamma0, q0, q1):
    """
    calculate Gruneisen parameter for the Speziale equation

    :param v: unit-cell volume in A^3
    :param v0: unit-cell volume in A^3 at 1 bar
    :param gamma0: Gruneisen parameter at 1 bar
    :param q0: logarithmic derivative of Gruneisen parameter
    :param q1: logarithmic derivative of Gruneisen parameter
    :return: Gruneisen parameter
    """
    if isuncertainties([v, v0, gamma0, q0, q1]):
        gamma = gamma0 * unp.exp(q0 / q1 * ((v / v0) ** q1 - 1.))
    else:
        gamma = gamma0 * np.exp(q0 / q1 * ((v / v0) ** q1 - 1.))
    return gamma