def fuller(target, MA, MB, vA, vB, temperature='pore.temperature', pressure
    ='pore.pressure'):
    """
    Uses Fuller model to estimate diffusion coefficient for gases from first
    principles at conditions of interest

    Parameters
    ----------
    target : OpenPNM Object
        The object for which these values are being calculated.  This
        controls the length of the calculated array, and also provides
        access to other necessary thermofluid properties.

    MA : float, array_like
        Molecular weight of component A [kg/mol]

    MB : float, array_like
        Molecular weight of component B [kg/mol]

    vA:  float, array_like
        Sum of atomic diffusion volumes for component A

    vB:  float, array_like
        Sum of atomic diffusion volumes for component B

    pressure : string
        The dictionary key containing the pressure values in Pascals (Pa)

    temperature : string
        The dictionary key containing the temperature values in Kelvin (K)

    Returns
    -------
    value : NumPy ndarray
        Array containing gas diffusion coefficient values [m2/s].

    """
    T = target[temperature]
    P = target[pressure]
    MAB = 2 * (1.0 / MA + 1.0 / MB) ** -1
    MAB = MAB * 1000.0
    P = P * 1e-05
    value = 0.00143 * T ** 1.75 / (P * MAB ** 0.5 * (vA ** (1.0 / 3) + vB **
        (1.0 / 3)) ** 2) * 0.0001
    return value
