calculate bulk modulus numerically from volume, not pressure
    according to test this differs from analytical result by 1.e-5

    :param v: volume
    :param v0: volume at reference conditions
    :param k0: bulk modulus at reference conditions
    :param k0p: pressure derivative of bulk modulus at different conditions
    :param precision: precision for numerical calculation (default = 1.e-5*v0)
    :return: dP/dV

def bm3_k_num(v, v0, k0, k0p, precision=1.e-5):
    """
    calculate bulk modulus numerically from volume, not pressure
    according to test this differs from analytical result by 1.e-5

    :param v: volume
    :param v0: volume at reference conditions
    :param k0: bulk modulus at reference conditions
    :param k0p: pressure derivative of bulk modulus at different conditions
    :param precision: precision for numerical calculation (default = 1.e-5*v0)
    :return: dP/dV
    """
    return -1. * v * bm3_dPdV(v, v0, k0, k0p, precision=precision)