ThermoData#
- class ThermoData(data)[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': {} ... }, ... '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 Chemicals([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:
Then we could create the chemicals in just a few lines:
>>> # thermo_data = tmo.ThermoData.from_yaml('example_chemicals.yaml') >>> # thermo_data.create_chemicals() >>> # Chemicals([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.