ThermoData
- class thermosteam.ThermoData(data: dict)[source]
Create a ThermoData object for creating thermodynamic property packages and streams.
- Parameters
data (dict) –
Examples
>>> import thermosteam as tmo >>> data = { ... 'Chemicals': { ... 'Water': {}, ... 'Ethanol': {}, ... 'O2': {'phase': 'gas'}, ... 'Cellulose': { ... 'search_db': False, ... 'phase': 'solid', ... 'formula': 'C6H10O5', ... 'Hf': -975708.8, ... 'default': True ... }, ... 'Octane': {} ... }, ... 'Synonyms': { ... 'Water': 'H2O', ... 'Ethanol': [ ... 'CH3CH2OH', ... 'EthylAlcohol', ... ] ... }, ... 'Streams': { ... 'process_water': { ... 'Water': 500, ... 'units': 'kg/hr', ... 'price': 0.00035, ... }, ... 'gasoline': { ... 'Octane': 400, ... 'units': 'kg/hr', ... 'price': 0.756, ... }, ... } ... } >>> thermo_data = tmo.ThermoData(data) >>> chemicals = thermo_data.create_chemicals() >>> chemicals CompiledChemicals([Water, Ethanol, O2, Cellulose, Octane]) >>> tmo.settings.set_thermo(chemicals) >>> thermo_data.create_streams() [<Stream: process_water>, <Stream: gasoline>]
It is also possible to create a ThermoData object from json or yaml files For example, lets say we have a yaml file that looks like this:
# File name: example_chemicals.yaml Chemicals: Water: Ethanol: O2: phase: gas Cellulose: search_db: False phase: solid formula: C6H10O5 Hf: -975708.8 default: True Octane: Synonyms: Water: H2O Ethanol: - CH3CH2OH - EthylAlcohol
Then we could create the chemicals in just a few lines:
>>> # thermo_data = tmo.ThermoData.from_yaml('example_chemicals.yaml') >>> # thermo_data.create_chemicals() >>> # CompiledChemicals([Water, Ethanol, O2, Cellulose, Octane])
- classmethod from_yaml(file)[source]
Create a ThermoData object from a yaml file given its directory.
- classmethod from_json(file)[source]
Create a ThermoData object from a json file given its directory.
- create_stream(ID)[source]
Create stream from data.
- Parameters
ID=None (str) – ID of stream to create.
- create_streams(IDs=None)[source]
Create streams from data.
- Parameters
IDs=None (Iterable[str], optional) – IDs of streams to create. Defaults to all streams.
- create_chemicals(IDs=None)[source]
Create chemicals from data.
- Parameters
IDs=None (Iterable[str] or str, optional) – IDs of chemicals to create. Defaults to all chemicals.
- set_synonyms(chemicals)[source]
Set synonyms to chemicals.
- Parameters
chemicals (CompiledChemicals) –