Пример #1
0
    'collision_integral_Neufeld_Janzen_Aziz', 'As_collision', 'Bs_collision',
    'Cs_collision', 'collision_integral_Kim_Monroe', 'T_star'
]

import os
from fluids.constants import k
from chemicals.utils import exp, log, sin
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)
#  Register data sources and lazy load them

folder = os_path_join(source_path, 'Viscosity')
register_df_source(folder, 'MagalhaesLJ.tsv')

FLYNN = 'Flynn (1960)'
STIELTHODOS = 'Stiel and Thodos Tc, Zc (1962)'
MAGALHAES = 'Magalhães, Lito, Da Silva, and Silva (2013)'
TEEGOTOSTEWARD1 = 'Tee, Gotoh, and Stewart CSP with Tc (1966)'
TEEGOTOSTEWARD2 = 'Tee, Gotoh, and Stewart CSP with Tc, omega (1966)'
BSLC = 'Bird, Stewart, and Light (2002) critical relation'
BSLB = 'Bird, Stewart, and Light (2002) boiling relation'
BSLM = 'Bird, Stewart, and Light (2002) melting relation'

_LJ_data_loaded = False


def _load_LJ_data():
    global _LJ_data_loaded, LJ_data_Magalhaes, LJ_sources
Пример #2
0
    'DIPPR101_ABC_coeffs_from_point'
]

import os
from fluids.constants import R
from fluids.numerics import numpy as np
from math import e
from chemicals.utils import log, exp, sqrt, isnan
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.dippr import EQ101
from chemicals import miscdata
from chemicals.data_reader import register_df_source, data_source

folder = os_path_join(source_path, 'Vapor Pressure')

register_df_source(folder, 'Antoine Collection Poling.tsv')
register_df_source(
    folder, 'Table 2-8 Vapor Pressure of Inorganic and Organic Liquids.tsv')

register_df_source(folder,
                   'Wagner Original McGarry.tsv',
                   csv_kwargs={
                       'dtype': {
                           'A': float,
                           'B': float,
                           'C': float,
                           'D': float,
                           'Pc': float,
                           'Tc': float,
                           'Tmin': float
                       }
Пример #3
0
    In [2]: chemicals.permittivity.permittivity_data_CRC

"""

from __future__ import division

__all__ = ['permittivity_IAPWS']

import os
from fluids.numerics import numpy as np
from fluids.constants import N_A, epsilon_0, k
from chemicals.utils import sqrt, PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import register_df_source, data_source

folder = os_path_join(source_path, 'Electrolytes')
register_df_source(folder, 'Permittivity (Dielectric Constant) of Liquids.tsv')

_permittivity_data_loaded = False


def _load_permittivity_data():
    global _permittivity_data_loaded, permittivity_values_CRC, permittivity_data_CRC
    permittivity_data_CRC = data_source(
        'Permittivity (Dielectric Constant) of Liquids.tsv')
    permittivity_values_CRC = np.array(permittivity_data_CRC.values[:, 1:],
                                       dtype=float)


if PY37:

    def __getattr__(name):
Пример #4
0
__all__ = [
    'Tt_all_methods', 'Tt_methods', 'Tt', 'Pt_all_methods', 'Pt_methods', 'Pt'
]

import os
from chemicals.utils import mark_numba_incompatible
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.phase_change import Tm
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)

# Register data sources and lazy load them
folder = os_path_join(source_path, 'Triple Properties')
register_df_source(folder, 'Staveley 1981.tsv')

STAVELEY = 'STAVELEY'
MELTING = 'MELTING'

_triple_data_loaded = False


def _load_triple_data():
    global triple_data_Staveley, _triple_data_loaded, Tt_sources, Pt_sources
    triple_data_Staveley = data_source('Staveley 1981.tsv')
    _triple_data_loaded = True
    Tt_sources = {
        STAVELEY: triple_data_Staveley,
    }
    Pt_sources = Tt_sources.copy()
Пример #5
0
from chemicals import heat_capacity
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)

# %% Register data sources and lazy load them
CRC = 'CRC'
YAWS = 'YAWS'
API_TDB_G = 'API_TDB_G'
ATCT_L = 'ATCT_L'
ATCT_G = 'ATCT_G'
TRC = 'TRC'

folder = os_path_join(source_path, 'Reactions')
register_df_source(folder, 'API TDB Albahri Hf (g).tsv')
register_df_source(folder, 'ATcT 1.112 (g).tsv')
register_df_source(folder, 'ATcT 1.112 (l).tsv')
register_df_source(folder, 'Yaws Hf S0 (g).tsv')
_reaction_data_loaded = False


def _load_reaction_data():
    global Hfg_API_TDB_data, Hfg_ATcT_data, Hfl_ATcT_data, Hfg_S0g_YAWS_data
    global Hfg_sources, Hfl_sources, Hfs_sources
    global S0g_sources, S0l_sources, S0s_sources
    global _reaction_data_loaded
    Hfg_API_TDB_data = data_source('API TDB Albahri Hf (g).tsv')
    Hfg_ATcT_data = data_source('ATcT 1.112 (g).tsv')
    Hfl_ATcT_data = data_source('ATcT 1.112 (l).tsv')
    Hfg_S0g_YAWS_data = data_source('Yaws Hf S0 (g).tsv')
Пример #6
0
from fluids.numerics import interp
from fluids.constants import pi, N_A
from chemicals.utils import mark_numba_incompatible
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.utils import sqrt, isnan
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)

# Register data sources and lazy load them

folder = os_path_join(source_path, 'Misc')
register_df_source(folder,
                   'CRC Handbook Organic RI.csv',
                   csv_kwargs={'dtype': {
                       'RI': float,
                       'RIT': float
                   }})

CRC = 'CRC'

_RI_data_loaded = False


def _load_RI_data():
    global _RI_data_loaded, RI_data_CRC_organic, RI_sources
    RI_data_CRC_organic = data_source('CRC Handbook Organic RI.csv')
    RI_sources = {
        CRC: RI_data_CRC_organic,
    }
Пример #7
0
           'Mersmann_Kind_surface_tension', 'API10A32',
           'Hakim_Steinberg_Stiel', 'Miqueu', 'Aleem', 
           'Winterfeld_Scriven_Davis', 'Diguilio_Teja', 'Weinaug_Katz',
           'Meybodi_Daryasafar_Karimi']

import os
from fluids.numerics import numpy as np
from fluids.constants import N_A, k
from chemicals.utils import log, exp, sqrt
from chemicals.utils import mixing_simple, PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import register_df_source, data_source

folder = os_path_join(source_path, 'Interface')


register_df_source(folder, 'MuleroCachadinaParameters.tsv')
register_df_source(folder, 'Jasper-Lange.tsv')
register_df_source(folder, 'Somayajulu.tsv')
register_df_source(folder, 'SomayajuluRevised.tsv')
register_df_source(folder, 'VDI PPDS surface tensions.tsv')

_interface_dfs_loaded = False
def load_interface_dfs():
    global _interface_dfs_loaded, sigma_data_Mulero_Cachadina, sigma_values_Mulero_Cachadina
    global sigma_data_Jasper_Lange, sigma_values_Jasper_Lange
    global sigma_data_Somayajulu, sigma_values_Somayajulu, sigma_data_Somayajulu2
    global sigma_values_Somayajulu2, sigma_data_VDI_PPDS_11, sigma_values_VDI_PPDS_11

    sigma_data_Mulero_Cachadina = data_source('MuleroCachadinaParameters.tsv')
    sigma_values_Mulero_Cachadina = np.array(sigma_data_Mulero_Cachadina.values[:, 1:], dtype=float)
Пример #8
0
import os
from fluids.numerics import numpy as np
from fluids.constants import R, N_A, pi
from chemicals.utils import log
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals import miscdata
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)

###  Register data sources and lazy load them

folder = os_path_join(source_path, 'Phase Change')
register_df_source(folder, 'Yaws Boiling Points.tsv')
register_df_source(folder, 'OpenNotebook Melting Points.tsv')
register_df_source(folder,
                   'Ghazerati Appendix Vaporization Enthalpy.tsv',
                   csv_kwargs={'dtype': {
                       'Hvap298': float
                   }})
register_df_source(folder, 'CRC Handbook Heat of Vaporization.tsv')
register_df_source(folder, 'CRC Handbook Heat of Fusion.tsv')
register_df_source(folder, 'Ghazerati Appendix Sublimation Enthalpy.tsv')
register_df_source(
    folder,
    'Table 2-150 Heats of Vaporization of Inorganic and Organic Liquids.tsv')
register_df_source(folder, 'VDI PPDS Enthalpies of vaporization.tsv')
register_df_source(folder,
                   'Alibakhshi one-coefficient enthalpy of vaporization.tsv')
Пример #9
0
    'GWP', 'ODP', 'logP', 'GWP_all_methods', 'ODP_all_methods',
    'logP_all_methods', 'GWP_methods', 'ODP_methods', 'logP_methods'
]
from chemicals.utils import mark_numba_incompatible
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df, retrieve_any_from_df,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df,
                                   list_available_methods_from_df_dict)

### Register data sources and lazy load them

folder = os_path_join(source_path, 'Environment')
register_df_source(folder, 'Official Global Warming Potentials.tsv')
register_df_source(folder, 'Ozone Depletion Potentials.tsv')
register_df_source(folder, 'CRC logP table.tsv')
register_df_source(folder,
                   'Syrres logP data.csv.gz',
                   csv_kwargs={'compression': 'gzip'})

_GWP_ODP_data_loaded = False


@mark_numba_incompatible
def _load_GWP_ODP_data():
    global _GWP_ODP_data_loaded, GWP_data, ODP_data
    global _GWP_keys_by_method, _ODP_keys_by_method
    GWP_data = data_source('Official Global Warming Potentials.tsv')
    ODP_data = data_source('Ozone Depletion Potentials.tsv')
Пример #10
0
    'Rackett_fit',
    'TDE_VDNS_rho',
    'PPDS17',
]

import os
from fluids.numerics import np, splev, implementation_optimize_tck
from fluids.constants import R, atm_inv, root_two
from chemicals.utils import log, exp, isnan, sqrt
from chemicals.utils import Vm_to_rho, mixing_simple, mark_numba_incompatible
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import data_source, register_df_source

folder = os_path_join(source_path, 'Density')

register_df_source(folder, 'COSTALD Parameters.tsv')
register_df_source(folder, 'Mchaweh SN0 deltas.tsv')
register_df_source(folder, 'Perry Parameters 105.tsv')
register_df_source(folder, 'CRC Liquid Inorganic Constant Densities.tsv')
register_df_source(folder, 'CRC Solid Inorganic Constant Densities.tsv')

register_df_source(folder,
                   'VDI PPDS Density of Saturated Liquids.tsv',
                   csv_kwargs={'dtype': {
                       'rhoc': float
                   }})
register_df_source(folder,
                   'CRC Inorganics densties of molten compounds and salts.tsv',
                   csv_kwargs={'dtype': {
                       'rho': float
                   }})
Пример #11
0
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import (register_df_source, data_source,
                                   retrieve_from_df_dict,
                                   retrieve_any_from_df_dict,
                                   list_available_methods_from_df_dict)

# %% Register data sources and lazy load them

folder = os_path_join(source_path, 'Misc')

CCCBDB = 'CCCBDB'
MULLER = 'MULLER'
POLING = 'POLING'

register_df_source(folder, 'Poling Dipole.csv')
register_df_source(folder, 'cccbdb.nist.gov Dipoles.csv')
register_df_source(folder, 'Muller Supporting Info Dipoles.csv')

_dipole_data_loaded = False


def _load_dipole_data():
    global dipole_data_CCDB, dipole_data_Muller, dipole_data_Poling, dipole_sources
    dipole_data_CCDB = data_source('cccbdb.nist.gov Dipoles.csv')
    dipole_data_Muller = data_source('Muller Supporting Info Dipoles.csv')
    dipole_data_Poling = data_source('Poling Dipole.csv')
    dipole_sources = {
        CCCBDB: dipole_data_CCDB,
        MULLER: dipole_data_Muller,
        POLING: dipole_data_Poling,
Пример #12
0
    return ppm


### Data

NTP_codes = {1: 'Known', 2: 'Reasonably Anticipated'}
IARC_codes = {
    1: 'Carcinogenic to humans (1)',
    11: 'Probably carcinogenic to humans (2A)',  # 2A
    12: 'Possibly carcinogenic to humans (2B)',  # 2B
    3: 'Not classifiable as to its carcinogenicity to humans (3)',
    4: 'Probably not carcinogenic to humans (4)'
}

folder = os.path.join(os.path.dirname(__file__), 'Safety')
register_df_source(folder, 'NFPA 497 2008.tsv')
register_df_source(folder, 'IS IEC 60079-20-1 2010.tsv')
register_df_source(folder, 'DIPPR T_flash Serat.csv')
register_df_source(folder, 'National Toxicology Program Carcinogens.tsv')
register_df_source(folder, 'IARC Carcinogen Database.tsv')
_safety_data_loaded = False

IEC = 'IEC 60079-20-1 (2010)'
NFPA = 'NFPA 497 (2008)'
SERAT = 'Serat DIPPR (2017)'

SUZUKI = 'Suzuki (1994)'
CROWLLOUVAR = 'Crowl and Louvar (2001)'


def _load_safety_data():
Пример #13
0
.. autofunction:: chemicals.miscdata.lookup_VDI_tabular_data

"""

__all__ = ['lookup_VDI_tabular_data']

import os
from chemicals.utils import PY37, source_path, os_path_join, can_load_data
from chemicals.data_reader import register_df_source, data_source

### Register data sources and lazy load them

folder = os_path_join(source_path, 'Misc')

### CRC Handbook general tables
register_df_source(folder, 'Physical Constants of Inorganic Compounds.csv')
register_df_source(folder, 'Physical Constants of Organic Compounds.csv')

_VDI_dict_loaded = False


def _load_VDI_saturation_dict():
    """Read in a dict of assorted chemical properties at saturation for 58
    industrially important chemicals, from:

    Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2E. Berlin : Springer, 2010.
    This listing is the successor to that in:
    Schlunder, Ernst U, and International Center for Heat and Mass Transfer.
    Heat Exchanger Design Handbook. Washington: Hemisphere Pub. Corp., 1983.
    """
    import json