
====================
Transport Properties
====================

Transport
---------

.. mat:class:: Transport(th, model, loglevel)

    Transport class constructor.

    Create a new instance of class :mat:func:`Transport`. One to three arguments
    may be supplied. The first must be an instance of class
    :mat:func:`ThermoPhase`. The second (optional) argument is the type of
    model desired, specified by the string ``'default'`` or a specific transport model
    name such as ``'mixture-averaged'`` or ``'multicomponent'``.
    ``'default'`` uses the default transport specified in the
    phase definition. The third argument is the logging level desired.
    
    :param th:
        Instance of class :mat:func:`ThermoPhase`
    :param model:
        String indicating the transport model to use. Possible values
        are ``'default'``, ``'none'``, ``'mixture-averaged'``, and ``'multicomponent'``,
        among others. Optional.
    :param loglevel:
        Level of diagnostic logging. Default if not specified is 4.
    :return:
        Instance of class :mat:func:`Transport`
    

    .. mat:function:: binDiffCoeffs(a)

        Get the binary diffusion coefficents.

        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which binary diffusion coefficients are desired.
        :return:
            A matrix of binary diffusion coefficients.
            The matrix is symmetric: d(i,j) = d(j,i). Units: m**2/s
        

    .. mat:function:: electricalConductivity(a)

        Get the electrical conductivity.

        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which the electrical conductivity is desired.
        :return:
            Electrical conductivity in S/m
        

    .. mat:function:: mixDiffCoeffs(a)

        Get the mixture-averaged diffusion coefficients.

        Object ``a`` must belong to a class derived from
        Transport, and that was constructed using a model that implements
        mixture-averaged transport properties. If not, you will get the error message ::
        
            **** Method getMixDiffCoeffs not implemented. ****
        
        In this case, create a new gas mixture model that uses a mixture-averaged
        transport manager, for example::
        
            >> gas = GRI30('mixture-averaged');
        
        See also: :mat:func:`MultiDiffCoeffs`
        
        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which mixture-averaged diffusion coefficients are desired.
        :return:
            Vector of length nSpecies with the mixture-averaged diffusion
            coefficients. Units: m**2/s
        

    .. mat:function:: multiDiffCoeffs(a)

        Get the multicomponent diffusion coefficients.

        Object ``a`` must belong to a class derived from
        Transport, and that was constructed by specifying the ``'multicomponent'``
        option. If ``'multicomponent'`` was not specified, you will get the
        error message ::
        
            **** Method getMultiDiffCoeffs not implemented. ****
        
        In this case, try method :mat:func:`mixDiffCoeffs`, or create a
        new gas mixture model that uses a mixture-averaged transport manager,
        for example::
        
            >> gas = GRI30('multicompnent');
        
        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which multicomponent diffusion coefficients are desired.
        :return:
            Matrix of size [nSpecies, nSpecies] with the multicomponent 
            diffusion coefficients D(i,j), the diffusion coefficient for 
            species i due to concentration gradients in species j. 
            Units: m^2/s
        

    .. mat:function:: setParameters(tr, type, k, p)

        Set the parameters.

        Set parameters of the :mat:func:`Transport` instance.
        Not defined for all transport types.
        
        :param tr:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
        :param type:
        :param k:
        :param p:
        

    .. mat:function:: setThermalConductivity(tr, lam)

        Set the thermal conductivity.

        This method can only be used with transport models that
        support directly setting the value of the thermal
        conductivity.
        
        :param tr:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
        :param lam:
            Thermal conductivity in W/(m-K)
        

    .. mat:function:: thermalConductivity(a)

        Get the thermal conductivity.

        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which the thermal conductivity is desired.
        :return:
            Thermal conductivity. Units: W/m-K
        

    .. mat:function:: thermalDiffCoeffs(a)

        Get the thermal diffusion coefficients.

        Object ``a`` must belong to a class derived from
        Transport, and that was constructed by specifying the ``'multicomponent'``
        option. If ``'multicomponent'`` was not specified, the returned values will
        all be zero.
        
        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which the thermal diffusion coefficients are desired.
        :return:
            Vector of thermal diffusion coefficients of length nSpecies
        

    .. mat:function:: viscosity(a)

        Get the dynamic viscosity.

        :param a:
            Instance of class :mat:func:`Transport` (or another
            object derived from Transport)
            for which the viscosity is desired.
        :return:
            Dynamic viscosity. Units: Pa*s
        


