find volume at given pressure using brenth in scipy.optimize

    :param p: pressure
    :param v0: volume at reference conditions
    :param k0: bulk modulus at reference conditions
    :param k0p: pressure derivative of bulk modulus at different conditions
    :param p_ref: reference pressure (default = 0)
    :param min_strain: minimum strain value to find solution (default = 0.01)
    :return: volume at high pressure

def bm3_v(p, v0, k0, k0p, p_ref=0.0, min_strain=0.01):
    """
    find volume at given pressure using brenth in scipy.optimize

    :param p: pressure
    :param v0: volume at reference conditions
    :param k0: bulk modulus at reference conditions
    :param k0p: pressure derivative of bulk modulus at different conditions
    :param p_ref: reference pressure (default = 0)
    :param min_strain: minimum strain value to find solution (default = 0.01)
    :return: volume at high pressure
    """
    if isuncertainties([p, v0, k0, k0p]):
        f_u = np.vectorize(uct.wrap(bm3_v_single), excluded=[1, 2, 3, 4, 5])
        return f_u(p, v0, k0, k0p, p_ref=p_ref, min_strain=min_strain)
    else:
        f_v = np.vectorize(bm3_v_single, excluded=[1, 2, 3, 4, 5])
        return f_v(p, v0, k0, k0p, p_ref=p_ref, min_strain=min_strain)