Exemple #1
0
def LFL_methods(Hc=None, atoms=None, CASRN=''):
    """Return all methods available to obtain LFL for the desired chemical.

    Parameters
    ----------
    Hc : float, optional
        Heat of combustion of gas [J/mol].
    atoms : dict, optional
        Dictionary of atoms and atom counts.
    CASRN : str, optional
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain LFL with the given inputs.

    See Also
    --------
    LFL
    
    Examples
    --------
    Methane
    
    >>> LFL_methods(Hc=-890590.0, atoms={'C': 1, 'H': 4}, CASRN='74-82-8')
    ['IEC 60079-20-1 (2010)', 'NFPA 497 (2008)', 'Suzuki (1994)', 'Crowl and Louvar (2001)']
    """
    if not _safety_data_loaded: _load_safety_data()
    methods = list_available_methods_from_df_dict(LFL_sources, CASRN, 'LFL')
    if Hc is not None:
        methods.append(SUZUKI)
    if atoms is not None:
        methods.append(CROWLLOUVAR)
    return methods
def molecular_diameter_methods(CASRN=None,
                               Tc=None,
                               Pc=None,
                               Vc=None,
                               Zc=None,
                               omega=None,
                               Vm=None,
                               Vb=None):
    """Return all methods available to obtain the molecular diameter for the
    desired chemical.

    Parameters
    ----------
    CASRN : str, optional
        CASRN [-]
    Tc : float, optional
        Critical temperature, [K]
    Pc : float, optional
        Critical pressure, [Pa]
    Vc : float, optional
        Critical volume, [m^3/mol]
    Zc : float, optional
        Critical compressibility, [-]
    omega : float, optional
        Acentric factor of compound, [-]
    Vm : float, optional
        Molar volume of liquid at the melting point of the fluid [K]
    Vb : float, optional
        Molar volume of liquid at the boiling point of the fluid [K]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain `molecular_diameter` with the given inputs.

    See Also
    --------
    molecular_diameter
    """
    methods = list_available_methods_from_df_dict(LJ_sources, CASRN, 'sigma')
    if Tc:
        if Pc:
            if omega: methods.append(TEEGOTOSTEWARD4)
            methods.append(SILVALIUMACEDO)
            methods.append(BSLC2)
            methods.append(TEEGOTOSTEWARD3)
    if Vc:
        if Zc: methods.append(STIELTHODOSMD)
        methods.append(FLYNN)
        methods.append(BSLC1)
    if Vb: methods.append(BSLB)
    if Vm: methods.append(BSLM)
    return methods
def Stockmayer_methods(CASRN=None,
                       Tm=None,
                       Tb=None,
                       Tc=None,
                       Zc=None,
                       omega=None):
    """Return all methods available to obtain the Stockmayer parameter for the
    desired chemical.

    Parameters
    ----------
    CASRN : str, optional
        CASRN [-]
    Tm : float, optional
        Melting temperature of compound [K]
    Tb : float, optional
        Boiling temperature of compound [K]
    Tc : float, optional
        Critical temperature of compound, [K]
    Zc : float, optional
        Critical compressibility of compound, [-]
    omega : float, optional
        Acentric factor of compound, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain `Stockmayer` with the given inputs.

    See Also
    --------
    Stockmayer
    """
    if not _LJ_data_loaded: _load_LJ_data()
    methods = list_available_methods_from_df_dict(LJ_sources, CASRN, 'epsilon')
    if Tc:
        if omega: methods.append(TEEGOTOSTEWARD2)
        if Zc: methods.append(STIELTHODOS)
        methods.append(FLYNN)
        methods.append(BSLC)
        methods.append(TEEGOTOSTEWARD1)
    if Tb: methods.append(BSLB)
    if Tm: methods.append(BSLM)
    return methods
def Tm_methods(CASRN):
    """Return all methods available to obtain the Tm for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the Tm with the given inputs.

    See Also
    --------
    Tm
    """
    if not _phase_change_const_loaded: _load_phase_change_constants()
    return list_available_methods_from_df_dict(Tm_sources, CASRN, 'Tm')
Exemple #5
0
def omega_methods(CASRN):
    """Return all methods available for obtaining omega for the desired
    chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain omega with the given inputs.

    See Also
    --------
    omega
    """
    return list_available_methods_from_df_dict(critical.omega_sources, CASRN, 'omega')
Exemple #6
0
def logP_methods(CASRN):
    """Return all methods available to obtain logP for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain logP with the given inputs.

    See Also
    --------
    logP
    """
    if not _logP_data_loaded: _load_logP_data()
    return list_available_methods_from_df_dict(logP_sources, CASRN, 'logP')
Exemple #7
0
def Pt_methods(CASRN):
    """Return all methods available to obtain the Pt for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the Pt with the given
        inputs.

    See Also
    --------
    Pt
    """
    if not _triple_data_loaded: _load_triple_data()
    return list_available_methods_from_df_dict(Pt_sources, CASRN, 'Pt')
Exemple #8
0
def RI_methods(CASRN):
    """Return all methods available to obtain the RI for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the RI with the given
        inputs.

    See Also
    --------
    RI
    """
    if not _RI_data_loaded: _load_RI_data()
    return list_available_methods_from_df_dict(RI_sources, CASRN, 'RI')
def S0g_methods(CASRN):
    """Return all methods available to obtain the S0g for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the S0g with the given
        inputs.

    See Also
    --------
    S0g
    """
    if not _reaction_data_loaded: _load_reaction_data()
    return list_available_methods_from_df_dict(S0g_sources, CASRN, 'S0g')
Exemple #10
0
def T_flash_methods(CASRN):
    """Return all methods available to obtain T_flash for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain T_flash with the given inputs.

    See Also
    --------
    T_flash
    """
    if not _safety_data_loaded: _load_safety_data()
    return list_available_methods_from_df_dict(Tflash_sources, CASRN,
                                               'T_flash')
Exemple #11
0
def dipole_moment_methods(CASRN):
    """Return all methods available to obtain the dipole moment for the desired
    chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the dipole moment with the given
        inputs.

    See Also
    --------
    dipole_moment
    """
    if not _dipole_data_loaded: _load_dipole_data()
    return list_available_methods_from_df_dict(dipole_sources, CASRN, 'Dipole')
Exemple #12
0
def Tt_methods(CASRN):
    """Return all methods available to obtain the Tt for the desired chemical.

    Parameters
    ----------
    CASRN : str
        CASRN, [-]

    Returns
    -------
    methods : list[str]
        Methods which can be used to obtain the Tt with the given
        inputs.

    See Also
    --------
    Tt
    """
    if not _triple_data_loaded: _load_triple_data()
    methods = list_available_methods_from_df_dict(Tt_sources, CASRN, 'Tt68')
    if Tm(CASRN): methods.append(MELTING)
    return methods