thermofluids 2.0.3__tar.gz → 2.0.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- thermofluids-2.0.5/PKG-INFO +78 -0
- thermofluids-2.0.5/README.md +61 -0
- thermofluids-2.0.5/docs/build/doctrees/environment.pickle +0 -0
- thermofluids-2.0.5/docs/build/doctrees/index.doctree +0 -0
- thermofluids-2.0.5/docs/build/html/_sources/index.rst.txt +150 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/index.html +103 -21
- thermofluids-2.0.5/docs/build/html/objects.inv +0 -0
- thermofluids-2.0.5/docs/build/html/searchindex.js +1 -0
- thermofluids-2.0.5/docs/source/index.rst +150 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/poetry.lock +15 -7
- {thermofluids-2.0.3 → thermofluids-2.0.5}/pyproject.toml +3 -2
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/Statepoint.py +8 -8
- thermofluids-2.0.3/PKG-INFO +0 -33
- thermofluids-2.0.3/README.md +0 -17
- thermofluids-2.0.3/docs/build/doctrees/environment.pickle +0 -0
- thermofluids-2.0.3/docs/build/doctrees/index.doctree +0 -0
- thermofluids-2.0.3/docs/build/html/_sources/index.rst.txt +0 -68
- thermofluids-2.0.3/docs/build/html/objects.inv +0 -0
- thermofluids-2.0.3/docs/build/html/searchindex.js +0 -1
- thermofluids-2.0.3/docs/source/index.rst +0 -68
- {thermofluids-2.0.3 → thermofluids-2.0.5}/.gitlab-ci.yml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/.gitignore +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/thermofluids.iml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/workspace.xml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/Makefile +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/.buildinfo +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/base-stemmer.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/basic.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/badge_only.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/theme.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/doctools.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/documentation_options.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/english-stemmer.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/file.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/jquery.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/badge_only.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/theme.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/versions.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/language_data.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/minus.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/plus.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/pygments.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/searchtools.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/genindex.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/py-modindex.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/search.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/make.bat +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/source/conf.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/Quantity.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/ThermoExceptions.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/thermofluids_registry.txt +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Drag.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Moody.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/PressureDrop.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Re.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Gr.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/NTU.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Nusselt.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Ra.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/TwoPhase.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/lmtd.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Column.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Compressor.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Ejector.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/HeatExchanger.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/IsoCompressor.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Pipe.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Pump.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Turbine.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Valve.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/BrineProps.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/VLE_data.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Utilities/FlowDiagram.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Utilities/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/__init__.py +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: thermofluids
|
|
3
|
+
Version: 2.0.5
|
|
4
|
+
Summary: Physically-consistent thermal and fluids modeling tools
|
|
5
|
+
Project-URL: Documentation, https://thermofluids-24bc0b.gitlab.io/
|
|
6
|
+
Project-URL: Repository, https://gitlab.com/ericksonla/thermofluids
|
|
7
|
+
Author: Luke Erickson, Russell Goldfarbmuren
|
|
8
|
+
Author-email: russell@rebound-tech.com
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >3.11
|
|
13
|
+
Requires-Dist: coolprop
|
|
14
|
+
Requires-Dist: pint
|
|
15
|
+
Requires-Dist: scipy
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
|
|
18
|
+
# Thermofluids
|
|
19
|
+
|
|
20
|
+
Thermofluids makes modeling thermofluid systems easier. The essential element is the `statepoint`. `statepoint` objects work like physical statepoints: they have two independent variables, many dependent variables, and sometimes extensive variables. You can use them like this:
|
|
21
|
+
````python
|
|
22
|
+
sp = Statepoint(fluid='water', # define a fluid
|
|
23
|
+
t=25.0, # define one independent variable
|
|
24
|
+
p=1.0, # define a second independent variable
|
|
25
|
+
m=0.1) # define extensive varible
|
|
26
|
+
|
|
27
|
+
sp.rho, sp.h, sp.visc
|
|
28
|
+
# (<Quantity(997.047039, 'kilogram / meter ** 3')>, <Quantity(104.918893, 'kilojoule / kilogram')>, <Quantity(0.000890022674, 'kilogram / meter / second')>)
|
|
29
|
+
````
|
|
30
|
+
|
|
31
|
+
Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
32
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
33
|
+
refrigeration cycle:
|
|
34
|
+
|
|
35
|
+
````python
|
|
36
|
+
from thermofluids import Statepoint, Quantity
|
|
37
|
+
from thermofluids.ProcessEquipment import Compressor
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Select a refrigerant
|
|
41
|
+
REFR = 'R134A'
|
|
42
|
+
|
|
43
|
+
# Find the saturation pressures of the refrigerant
|
|
44
|
+
ssp = Statepoint(fluid=REFR, t=-10, x=1.).p
|
|
45
|
+
scp = Statepoint(fluid=REFR, t=25., x=1.).p
|
|
46
|
+
|
|
47
|
+
# Define a statepoint representing the state between the evaporator and compressor
|
|
48
|
+
evap_to_comp = Statepoint(fluid=REFR, t=-5., p=ssp, m=0.1)
|
|
49
|
+
|
|
50
|
+
# Use the built in compressor object to calculate the statepoint at the compressor outlet
|
|
51
|
+
comp = Compressor(inlet=evap_to_comp,
|
|
52
|
+
eta=0.7,
|
|
53
|
+
Pout=scp)
|
|
54
|
+
comp_to_cond = comp.get_outlet()
|
|
55
|
+
print(f'Compressor work: {comp.work.to("kW")}')
|
|
56
|
+
|
|
57
|
+
# Derive the statepoint representing the condensed state between the condenser and expansion valve
|
|
58
|
+
cond_to_exp = Statepoint(fluid=REFR, t=20., p=scp, m=evap_to_comp.m)
|
|
59
|
+
q_cond = cond_to_exp.m * (comp_to_cond.h - cond_to_exp.h)
|
|
60
|
+
print(f'Condenser heat: {q_cond.to("kW")}')
|
|
61
|
+
|
|
62
|
+
# Derive the statepoint representing the isenthalpically expanded refrigerant
|
|
63
|
+
exp_to_evap = Statepoint(fluid=REFR, p=ssp, h=cond_to_exp.h, m=cond_to_exp.m)
|
|
64
|
+
q_evap = evap_to_comp.m * (evap_to_comp.h - exp_to_evap.h)
|
|
65
|
+
print(f'Evaporator heat: {q_evap.to("kW")}')
|
|
66
|
+
cop = q_evap / comp.work
|
|
67
|
+
print(f'Coefficient of performance: {cop.to("")}')
|
|
68
|
+
````
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
>>> Compressor work: 3.637 kW
|
|
72
|
+
>>> Condenser heat: 20.58 kW
|
|
73
|
+
>>> Evaporator heat: 16.95 kW
|
|
74
|
+
>>> Coefficient of performance: 4.659
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
# Documentation
|
|
78
|
+
Read the full documentation at https://thermofluids-24bc0b.gitlab.io/
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Thermofluids
|
|
2
|
+
|
|
3
|
+
Thermofluids makes modeling thermofluid systems easier. The essential element is the `statepoint`. `statepoint` objects work like physical statepoints: they have two independent variables, many dependent variables, and sometimes extensive variables. You can use them like this:
|
|
4
|
+
````python
|
|
5
|
+
sp = Statepoint(fluid='water', # define a fluid
|
|
6
|
+
t=25.0, # define one independent variable
|
|
7
|
+
p=1.0, # define a second independent variable
|
|
8
|
+
m=0.1) # define extensive varible
|
|
9
|
+
|
|
10
|
+
sp.rho, sp.h, sp.visc
|
|
11
|
+
# (<Quantity(997.047039, 'kilogram / meter ** 3')>, <Quantity(104.918893, 'kilojoule / kilogram')>, <Quantity(0.000890022674, 'kilogram / meter / second')>)
|
|
12
|
+
````
|
|
13
|
+
|
|
14
|
+
Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
15
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
16
|
+
refrigeration cycle:
|
|
17
|
+
|
|
18
|
+
````python
|
|
19
|
+
from thermofluids import Statepoint, Quantity
|
|
20
|
+
from thermofluids.ProcessEquipment import Compressor
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# Select a refrigerant
|
|
24
|
+
REFR = 'R134A'
|
|
25
|
+
|
|
26
|
+
# Find the saturation pressures of the refrigerant
|
|
27
|
+
ssp = Statepoint(fluid=REFR, t=-10, x=1.).p
|
|
28
|
+
scp = Statepoint(fluid=REFR, t=25., x=1.).p
|
|
29
|
+
|
|
30
|
+
# Define a statepoint representing the state between the evaporator and compressor
|
|
31
|
+
evap_to_comp = Statepoint(fluid=REFR, t=-5., p=ssp, m=0.1)
|
|
32
|
+
|
|
33
|
+
# Use the built in compressor object to calculate the statepoint at the compressor outlet
|
|
34
|
+
comp = Compressor(inlet=evap_to_comp,
|
|
35
|
+
eta=0.7,
|
|
36
|
+
Pout=scp)
|
|
37
|
+
comp_to_cond = comp.get_outlet()
|
|
38
|
+
print(f'Compressor work: {comp.work.to("kW")}')
|
|
39
|
+
|
|
40
|
+
# Derive the statepoint representing the condensed state between the condenser and expansion valve
|
|
41
|
+
cond_to_exp = Statepoint(fluid=REFR, t=20., p=scp, m=evap_to_comp.m)
|
|
42
|
+
q_cond = cond_to_exp.m * (comp_to_cond.h - cond_to_exp.h)
|
|
43
|
+
print(f'Condenser heat: {q_cond.to("kW")}')
|
|
44
|
+
|
|
45
|
+
# Derive the statepoint representing the isenthalpically expanded refrigerant
|
|
46
|
+
exp_to_evap = Statepoint(fluid=REFR, p=ssp, h=cond_to_exp.h, m=cond_to_exp.m)
|
|
47
|
+
q_evap = evap_to_comp.m * (evap_to_comp.h - exp_to_evap.h)
|
|
48
|
+
print(f'Evaporator heat: {q_evap.to("kW")}')
|
|
49
|
+
cop = q_evap / comp.work
|
|
50
|
+
print(f'Coefficient of performance: {cop.to("")}')
|
|
51
|
+
````
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
>>> Compressor work: 3.637 kW
|
|
55
|
+
>>> Condenser heat: 20.58 kW
|
|
56
|
+
>>> Evaporator heat: 16.95 kW
|
|
57
|
+
>>> Coefficient of performance: 4.659
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
# Documentation
|
|
61
|
+
Read the full documentation at https://thermofluids-24bc0b.gitlab.io/
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
.. Thermofluids documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Thu Oct 8 13:47:07 2026.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
***************
|
|
7
|
+
Getting Started
|
|
8
|
+
***************
|
|
9
|
+
|
|
10
|
+
Thermofluids makes modeling thermofluid systems easier. The essential element is the ``statepoint``. ``statepoint``
|
|
11
|
+
objects work like physical statepoints: they have two independent variables, many dependent variables, and sometimes
|
|
12
|
+
extensive variables. You can use them like this::
|
|
13
|
+
|
|
14
|
+
sp = Statepoint(fluid='water', # define a fluid
|
|
15
|
+
t=25.0, # define one independent variable
|
|
16
|
+
p=1.0, # define a second independent variable
|
|
17
|
+
m=0.1) # define extensive variable
|
|
18
|
+
|
|
19
|
+
print(sp.rho, sp.h, sp.visc)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
>>> (<Quantity(997.047039, 'kilogram / meter ** 3')>, <Quantity(104.918893, 'kilojoule / kilogram')>, <Quantity(0.000890022674, 'kilogram / meter / second')>)
|
|
23
|
+
|
|
24
|
+
Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
25
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
26
|
+
refrigeration cycle::
|
|
27
|
+
|
|
28
|
+
from thermofluids import Statepoint, Quantity
|
|
29
|
+
from thermofluids.ProcessEquipment import Compressor
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Select a refrigerant
|
|
33
|
+
REFR = 'R134A'
|
|
34
|
+
|
|
35
|
+
# Find the saturation pressures of the refrigerant
|
|
36
|
+
ssp = Statepoint(fluid=REFR, t=-10, x=1.).p
|
|
37
|
+
scp = Statepoint(fluid=REFR, t=25., x=1.).p
|
|
38
|
+
|
|
39
|
+
# Define a statepoint representing the state between the evaporator and compressor
|
|
40
|
+
evap_to_comp = Statepoint(fluid=REFR, t=-5., p=ssp, m=0.1)
|
|
41
|
+
|
|
42
|
+
# Use the built in compressor object to calculate the statepoint at the compressor outlet
|
|
43
|
+
comp = Compressor(inlet=evap_to_comp,
|
|
44
|
+
eta=0.7,
|
|
45
|
+
Pout=scp)
|
|
46
|
+
comp_to_cond = comp.get_outlet()
|
|
47
|
+
print(f'Compressor work: {comp.work.to("kW")}')
|
|
48
|
+
|
|
49
|
+
# Derive the statepoint representing the condensed state between the condenser and expansion valve
|
|
50
|
+
cond_to_exp = Statepoint(fluid=REFR, t=20., p=scp, m=evap_to_comp.m)
|
|
51
|
+
q_cond = cond_to_exp.m * (comp_to_cond.h - cond_to_exp.h)
|
|
52
|
+
print(f'Condenser heat: {q_cond.to("kW")}')
|
|
53
|
+
|
|
54
|
+
# Derive the statepoint representing the isenthalpically expanded refrigerant
|
|
55
|
+
exp_to_evap = Statepoint(fluid=REFR, p=ssp, h=cond_to_exp.h, m=cond_to_exp.m)
|
|
56
|
+
q_evap = evap_to_comp.m * (evap_to_comp.h - exp_to_evap.h)
|
|
57
|
+
print(f'Evaporator heat: {q_evap.to("kW")}')
|
|
58
|
+
cop = q_evap / comp.work
|
|
59
|
+
print(f'Coefficient of performance: {cop.to("")}')
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
>>> Compressor work: 3.637 kW
|
|
63
|
+
>>> Condenser heat: 20.58 kW
|
|
64
|
+
>>> Evaporator heat: 16.95 kW
|
|
65
|
+
>>> Coefficient of performance: 4.659
|
|
66
|
+
|
|
67
|
+
Installation
|
|
68
|
+
____________
|
|
69
|
+
Thermofluids is installable using standard python tools such as ``pip install python``. See https://pypi.org/project/thermofluids/
|
|
70
|
+
|
|
71
|
+
Acknowledgement of CoolProp and Pint
|
|
72
|
+
____________________________________
|
|
73
|
+
Statepoints are, at a basic level, a nice looking wrapper around `CoolProp <https://pypi.org/project/thermofluids/>`__
|
|
74
|
+
property lookups and `Pint <https://pint.readthedocs.io/en/stable/>`__ Quantity for unit management. We're grateful to those projects!
|
|
75
|
+
|
|
76
|
+
*********
|
|
77
|
+
Code Docs
|
|
78
|
+
*********
|
|
79
|
+
|
|
80
|
+
.. toctree::
|
|
81
|
+
:maxdepth: 2
|
|
82
|
+
:caption: Contents:
|
|
83
|
+
|
|
84
|
+
Essential Functionality
|
|
85
|
+
_______________________
|
|
86
|
+
.. autoclass:: thermofluids.Base.Statepoint.Statepoint
|
|
87
|
+
:members: __add__, __div__
|
|
88
|
+
.. autoclass:: ...src.Base.Quantity
|
|
89
|
+
|
|
90
|
+
Fluids
|
|
91
|
+
______
|
|
92
|
+
The Fluids submodule supplies functions to perform common fluids calculations including non-dimensional characterization
|
|
93
|
+
and pressure drops in various situations.
|
|
94
|
+
|
|
95
|
+
.. automodule:: thermofluids.Fluids.Drag
|
|
96
|
+
:members: f_drag, settling_vel
|
|
97
|
+
.. automodule:: thermofluids.Fluids.Moody
|
|
98
|
+
:members: frictionfactor
|
|
99
|
+
.. automodule:: thermofluids.Fluids.Re
|
|
100
|
+
:members: Re, Re_ext
|
|
101
|
+
.. automodule:: thermofluids.Fluids.PressureDrop
|
|
102
|
+
:members: pressure_drop, pressure_drop_fitting, pressure_drop_packed_bed, pressure_drop_corrugated_plates, flow_at_dp
|
|
103
|
+
|
|
104
|
+
Heat Transfer
|
|
105
|
+
_____________
|
|
106
|
+
The Heat Transfer module supplies functions to perform common heat transfer calculations including non-dimensional
|
|
107
|
+
characterization, effective temperature differences, two-phase flow regime prediction, and heat transfer coefficients.
|
|
108
|
+
|
|
109
|
+
.. automodule:: thermofluids.HeatTransfer.lmtd
|
|
110
|
+
:members: lmtd
|
|
111
|
+
.. automodule:: thermofluids.HeatTransfer.Nusselt
|
|
112
|
+
:members: Nu, Nu_natural
|
|
113
|
+
.. automodule:: thermofluids.HeatTransfer.Ra
|
|
114
|
+
:members: Ra
|
|
115
|
+
.. automodule:: thermofluids.HeatTransfer.Gr
|
|
116
|
+
:members: Gr
|
|
117
|
+
.. automodule:: thermofluids.HeatTransfer.NTU
|
|
118
|
+
:members: NTU
|
|
119
|
+
.. automodule:: thermofluids.HeatTransfer.TwoPhase
|
|
120
|
+
:members: Co, Bo, Fr_le, crit_heat_flux, heat_flux_nucleate_boiling, htc_conv_boil
|
|
121
|
+
|
|
122
|
+
Special Properties
|
|
123
|
+
__________________
|
|
124
|
+
Special properties are a handful of properties we've needed over time that aren't available in CoolProp.
|
|
125
|
+
|
|
126
|
+
.. automodule:: thermofluids.Properties
|
|
127
|
+
.. automodule:: thermofluids.Properties.BrineProps
|
|
128
|
+
:members: get_c_freeze, get_T_liq_sat, get_T_vap_sat, get_P_liq_sat, get_P_vap_sat, get_h_mix, get_C_vap_sat, get_C_liq_sat
|
|
129
|
+
|
|
130
|
+
Process Equipment
|
|
131
|
+
_________________
|
|
132
|
+
The Process Equipment supplies classes and functions that represent unit functions that take and produce thermodynamic
|
|
133
|
+
statepoints. The performance/outputs are mostly theoretically derived as opposed to empirically derived from specific
|
|
134
|
+
implementations of these types of process equipment.
|
|
135
|
+
|
|
136
|
+
.. automodule:: thermofluids.ProcessEquipment
|
|
137
|
+
.. automodule:: thermofluids.ProcessEquipment.Column
|
|
138
|
+
:members: Column
|
|
139
|
+
.. automodule:: thermofluids.ProcessEquipment.Compressor
|
|
140
|
+
:members: Compressor
|
|
141
|
+
.. automodule:: thermofluids.ProcessEquipment.HeatExchanger
|
|
142
|
+
:members: HX_Energy
|
|
143
|
+
.. automodule:: thermofluids.ProcessEquipment.IsoCompressor
|
|
144
|
+
:members: IsoCompressor
|
|
145
|
+
.. automodule:: thermofluids.ProcessEquipment.Pump
|
|
146
|
+
:members: Pump
|
|
147
|
+
.. automodule:: thermofluids.ProcessEquipment.Turbine
|
|
148
|
+
:members: Turbine
|
|
149
|
+
.. automodule:: thermofluids.ProcessEquipment.Valve
|
|
150
|
+
:members: get_valve_flow_rate, get_valve_dP, get_valve_C_v
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
9
|
-
<title>
|
|
9
|
+
<title>Getting Started — Thermofluids 2.0 documentation</title>
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
|
|
11
11
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=9edc463e" />
|
|
12
12
|
|
|
@@ -42,7 +42,12 @@
|
|
|
42
42
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
43
43
|
<!-- Local TOC -->
|
|
44
44
|
<div class="local-toc"><ul>
|
|
45
|
-
<li><a class="reference internal" href="#">
|
|
45
|
+
<li><a class="reference internal" href="#">Getting Started</a><ul>
|
|
46
|
+
<li><a class="reference internal" href="#installation">Installation</a></li>
|
|
47
|
+
<li><a class="reference internal" href="#acknowledgement-of-coolprop-and-pint">Acknowledgement of CoolProp and Pint</a></li>
|
|
48
|
+
</ul>
|
|
49
|
+
</li>
|
|
50
|
+
<li><a class="reference internal" href="#code-docs">Code Docs</a><ul>
|
|
46
51
|
<li><a class="reference internal" href="#essential-functionality">Essential Functionality</a><ul>
|
|
47
52
|
<li><a class="reference internal" href="#thermofluids.Base.Statepoint.Statepoint"><code class="docutils literal notranslate"><span class="pre">Statepoint</span></code></a><ul>
|
|
48
53
|
<li><a class="reference internal" href="#thermofluids.Base.Statepoint.Statepoint.__add__"><code class="docutils literal notranslate"><span class="pre">Statepoint.__add__()</span></code></a></li>
|
|
@@ -51,7 +56,7 @@
|
|
|
51
56
|
</li>
|
|
52
57
|
</ul>
|
|
53
58
|
</li>
|
|
54
|
-
<li><a class="reference internal" href="#
|
|
59
|
+
<li><a class="reference internal" href="#fluids">Fluids</a><ul>
|
|
55
60
|
<li><a class="reference internal" href="#thermofluids.Fluids.Drag.f_drag"><code class="docutils literal notranslate"><span class="pre">f_drag()</span></code></a></li>
|
|
56
61
|
<li><a class="reference internal" href="#thermofluids.Fluids.Drag.settling_vel"><code class="docutils literal notranslate"><span class="pre">settling_vel()</span></code></a></li>
|
|
57
62
|
<li><a class="reference internal" href="#thermofluids.Fluids.Moody.frictionfactor"><code class="docutils literal notranslate"><span class="pre">frictionfactor()</span></code></a></li>
|
|
@@ -61,7 +66,7 @@
|
|
|
61
66
|
<li><a class="reference internal" href="#thermofluids.Fluids.PressureDrop.pressure_drop_fitting"><code class="docutils literal notranslate"><span class="pre">pressure_drop_fitting()</span></code></a></li>
|
|
62
67
|
</ul>
|
|
63
68
|
</li>
|
|
64
|
-
<li><a class="reference internal" href="#
|
|
69
|
+
<li><a class="reference internal" href="#heat-transfer">Heat Transfer</a><ul>
|
|
65
70
|
<li><a class="reference internal" href="#thermofluids.HeatTransfer.lmtd.lmtd"><code class="docutils literal notranslate"><span class="pre">lmtd()</span></code></a></li>
|
|
66
71
|
<li><a class="reference internal" href="#thermofluids.HeatTransfer.Nusselt.Nu"><code class="docutils literal notranslate"><span class="pre">Nu()</span></code></a></li>
|
|
67
72
|
<li><a class="reference internal" href="#thermofluids.HeatTransfer.Nusselt.Nu_natural"><code class="docutils literal notranslate"><span class="pre">Nu_natural()</span></code></a></li>
|
|
@@ -74,7 +79,7 @@
|
|
|
74
79
|
<li><a class="reference internal" href="#thermofluids.HeatTransfer.TwoPhase.htc_conv_boil"><code class="docutils literal notranslate"><span class="pre">htc_conv_boil()</span></code></a></li>
|
|
75
80
|
</ul>
|
|
76
81
|
</li>
|
|
77
|
-
<li><a class="reference internal" href="#
|
|
82
|
+
<li><a class="reference internal" href="#special-properties">Special Properties</a><ul>
|
|
78
83
|
<li><a class="reference internal" href="#thermofluids.Properties.BrineProps.get_P_liq_sat"><code class="docutils literal notranslate"><span class="pre">get_P_liq_sat()</span></code></a></li>
|
|
79
84
|
<li><a class="reference internal" href="#thermofluids.Properties.BrineProps.get_P_vap_sat"><code class="docutils literal notranslate"><span class="pre">get_P_vap_sat()</span></code></a></li>
|
|
80
85
|
<li><a class="reference internal" href="#thermofluids.Properties.BrineProps.get_T_liq_sat"><code class="docutils literal notranslate"><span class="pre">get_T_liq_sat()</span></code></a></li>
|
|
@@ -82,7 +87,7 @@
|
|
|
82
87
|
<li><a class="reference internal" href="#thermofluids.Properties.BrineProps.get_c_freeze"><code class="docutils literal notranslate"><span class="pre">get_c_freeze()</span></code></a></li>
|
|
83
88
|
</ul>
|
|
84
89
|
</li>
|
|
85
|
-
<li><a class="reference internal" href="#
|
|
90
|
+
<li><a class="reference internal" href="#process-equipment">Process Equipment</a><ul>
|
|
86
91
|
<li><a class="reference internal" href="#thermofluids.ProcessEquipment.Column.Column"><code class="docutils literal notranslate"><span class="pre">Column</span></code></a><ul>
|
|
87
92
|
<li><a class="reference internal" href="#thermofluids.ProcessEquipment.Column.Column.ME_balance"><code class="docutils literal notranslate"><span class="pre">Column.ME_balance()</span></code></a></li>
|
|
88
93
|
<li><a class="reference internal" href="#thermofluids.ProcessEquipment.Column.Column.get_diabatic_curves"><code class="docutils literal notranslate"><span class="pre">Column.get_diabatic_curves()</span></code></a></li>
|
|
@@ -116,7 +121,7 @@
|
|
|
116
121
|
<div role="navigation" aria-label="Page navigation">
|
|
117
122
|
<ul class="wy-breadcrumbs">
|
|
118
123
|
<li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
|
|
119
|
-
<li class="breadcrumb-item active">
|
|
124
|
+
<li class="breadcrumb-item active">Getting Started</li>
|
|
120
125
|
<li class="wy-breadcrumbs-aside">
|
|
121
126
|
<a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
|
|
122
127
|
</li>
|
|
@@ -126,8 +131,77 @@
|
|
|
126
131
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
127
132
|
<div itemprop="articleBody">
|
|
128
133
|
|
|
129
|
-
<section id="
|
|
130
|
-
<h1>
|
|
134
|
+
<section id="getting-started">
|
|
135
|
+
<h1>Getting Started<a class="headerlink" href="#getting-started" title="Link to this heading"></a></h1>
|
|
136
|
+
<p>Thermofluids makes modeling thermofluid systems easier. The essential element is the <code class="docutils literal notranslate"><span class="pre">statepoint</span></code>. <code class="docutils literal notranslate"><span class="pre">statepoint</span></code>
|
|
137
|
+
objects work like physical statepoints: they have two independent variables, many dependent variables, and sometimes
|
|
138
|
+
extensive variables. You can use them like this:</p>
|
|
139
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sp</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="s1">'water'</span><span class="p">,</span> <span class="c1"># define a fluid</span>
|
|
140
|
+
<span class="n">t</span><span class="o">=</span><span class="mf">25.0</span><span class="p">,</span> <span class="c1"># define one independent variable</span>
|
|
141
|
+
<span class="n">p</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="c1"># define a second independent variable</span>
|
|
142
|
+
<span class="n">m</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span> <span class="c1"># define extensive variable</span>
|
|
143
|
+
|
|
144
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">rho</span><span class="p">,</span> <span class="n">sp</span><span class="o">.</span><span class="n">h</span><span class="p">,</span> <span class="n">sp</span><span class="o">.</span><span class="n">visc</span><span class="p">)</span>
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
<span class="o">>>></span> <span class="p">(</span><span class="o"><</span><span class="n">Quantity</span><span class="p">(</span><span class="mf">997.047039</span><span class="p">,</span> <span class="s1">'kilogram / meter ** 3'</span><span class="p">)</span><span class="o">></span><span class="p">,</span> <span class="o"><</span><span class="n">Quantity</span><span class="p">(</span><span class="mf">104.918893</span><span class="p">,</span> <span class="s1">'kilojoule / kilogram'</span><span class="p">)</span><span class="o">></span><span class="p">,</span> <span class="o"><</span><span class="n">Quantity</span><span class="p">(</span><span class="mf">0.000890022674</span><span class="p">,</span> <span class="s1">'kilogram / meter / second'</span><span class="p">)</span><span class="o">></span><span class="p">)</span>
|
|
148
|
+
</pre></div>
|
|
149
|
+
</div>
|
|
150
|
+
<p>Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
151
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
152
|
+
refrigeration cycle:</p>
|
|
153
|
+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">thermofluids</span><span class="w"> </span><span class="kn">import</span> <span class="n">Statepoint</span><span class="p">,</span> <span class="n">Quantity</span>
|
|
154
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">thermofluids.ProcessEquipment</span><span class="w"> </span><span class="kn">import</span> <span class="n">Compressor</span>
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
<span class="c1"># Select a refrigerant</span>
|
|
158
|
+
<span class="n">REFR</span> <span class="o">=</span> <span class="s1">'R134A'</span>
|
|
159
|
+
|
|
160
|
+
<span class="c1"># Find the saturation pressures of the refrigerant</span>
|
|
161
|
+
<span class="n">ssp</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="n">REFR</span><span class="p">,</span> <span class="n">t</span><span class="o">=-</span><span class="mi">10</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="mf">1.</span><span class="p">)</span><span class="o">.</span><span class="n">p</span>
|
|
162
|
+
<span class="n">scp</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="n">REFR</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="mf">25.</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="mf">1.</span><span class="p">)</span><span class="o">.</span><span class="n">p</span>
|
|
163
|
+
|
|
164
|
+
<span class="c1"># Define a statepoint representing the state between the evaporator and compressor</span>
|
|
165
|
+
<span class="n">evap_to_comp</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="n">REFR</span><span class="p">,</span> <span class="n">t</span><span class="o">=-</span><span class="mf">5.</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="n">ssp</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span>
|
|
166
|
+
|
|
167
|
+
<span class="c1"># Use the built in compressor object to calculate the statepoint at the compressor outlet</span>
|
|
168
|
+
<span class="n">comp</span> <span class="o">=</span> <span class="n">Compressor</span><span class="p">(</span><span class="n">inlet</span><span class="o">=</span><span class="n">evap_to_comp</span><span class="p">,</span>
|
|
169
|
+
<span class="n">eta</span><span class="o">=</span><span class="mf">0.7</span><span class="p">,</span>
|
|
170
|
+
<span class="n">Pout</span><span class="o">=</span><span class="n">scp</span><span class="p">)</span>
|
|
171
|
+
<span class="n">comp_to_cond</span> <span class="o">=</span> <span class="n">comp</span><span class="o">.</span><span class="n">get_outlet</span><span class="p">()</span>
|
|
172
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Compressor work: </span><span class="si">{</span><span class="n">comp</span><span class="o">.</span><span class="n">work</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="s2">"kW"</span><span class="p">)</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
|
173
|
+
|
|
174
|
+
<span class="c1"># Derive the statepoint representing the condensed state between the condenser and expansion valve</span>
|
|
175
|
+
<span class="n">cond_to_exp</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="n">REFR</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="mf">20.</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="n">scp</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="n">evap_to_comp</span><span class="o">.</span><span class="n">m</span><span class="p">)</span>
|
|
176
|
+
<span class="n">q_cond</span> <span class="o">=</span> <span class="n">cond_to_exp</span><span class="o">.</span><span class="n">m</span> <span class="o">*</span> <span class="p">(</span><span class="n">comp_to_cond</span><span class="o">.</span><span class="n">h</span> <span class="o">-</span> <span class="n">cond_to_exp</span><span class="o">.</span><span class="n">h</span><span class="p">)</span>
|
|
177
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Condenser heat: </span><span class="si">{</span><span class="n">q_cond</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="s2">"kW"</span><span class="p">)</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
|
178
|
+
|
|
179
|
+
<span class="c1"># Derive the statepoint representing the isenthalpically expanded refrigerant</span>
|
|
180
|
+
<span class="n">exp_to_evap</span> <span class="o">=</span> <span class="n">Statepoint</span><span class="p">(</span><span class="n">fluid</span><span class="o">=</span><span class="n">REFR</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="n">ssp</span><span class="p">,</span> <span class="n">h</span><span class="o">=</span><span class="n">cond_to_exp</span><span class="o">.</span><span class="n">h</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="n">cond_to_exp</span><span class="o">.</span><span class="n">m</span><span class="p">)</span>
|
|
181
|
+
<span class="n">q_evap</span> <span class="o">=</span> <span class="n">evap_to_comp</span><span class="o">.</span><span class="n">m</span> <span class="o">*</span> <span class="p">(</span><span class="n">evap_to_comp</span><span class="o">.</span><span class="n">h</span> <span class="o">-</span> <span class="n">exp_to_evap</span><span class="o">.</span><span class="n">h</span><span class="p">)</span>
|
|
182
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Evaporator heat: </span><span class="si">{</span><span class="n">q_evap</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="s2">"kW"</span><span class="p">)</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
|
183
|
+
<span class="n">cop</span> <span class="o">=</span> <span class="n">q_evap</span> <span class="o">/</span> <span class="n">comp</span><span class="o">.</span><span class="n">work</span>
|
|
184
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Coefficient of performance: </span><span class="si">{</span><span class="n">cop</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
<span class="o">>>></span> <span class="n">Compressor</span> <span class="n">work</span><span class="p">:</span> <span class="mf">3.637</span> <span class="n">kW</span>
|
|
188
|
+
<span class="o">>>></span> <span class="n">Condenser</span> <span class="n">heat</span><span class="p">:</span> <span class="mf">20.58</span> <span class="n">kW</span>
|
|
189
|
+
<span class="o">>>></span> <span class="n">Evaporator</span> <span class="n">heat</span><span class="p">:</span> <span class="mf">16.95</span> <span class="n">kW</span>
|
|
190
|
+
<span class="o">>>></span> <span class="n">Coefficient</span> <span class="n">of</span> <span class="n">performance</span><span class="p">:</span> <span class="mf">4.659</span>
|
|
191
|
+
</pre></div>
|
|
192
|
+
</div>
|
|
193
|
+
<section id="installation">
|
|
194
|
+
<h2>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h2>
|
|
195
|
+
<p>Thermofluids is installable using standard python tools such as <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">python</span></code>. See <a class="reference external" href="https://pypi.org/project/thermofluids/">https://pypi.org/project/thermofluids/</a></p>
|
|
196
|
+
</section>
|
|
197
|
+
<section id="acknowledgement-of-coolprop-and-pint">
|
|
198
|
+
<h2>Acknowledgement of CoolProp and Pint<a class="headerlink" href="#acknowledgement-of-coolprop-and-pint" title="Link to this heading"></a></h2>
|
|
199
|
+
<p>Statepoints are, at a basic level, a nice looking wrapper around <a class="reference external" href="https://pypi.org/project/thermofluids/">CoolProp</a>
|
|
200
|
+
property lookups and <a class="reference external" href="https://pint.readthedocs.io/en/stable/">Pint</a> Quantity for unit management. We’re grateful to those projects!</p>
|
|
201
|
+
</section>
|
|
202
|
+
</section>
|
|
203
|
+
<section id="code-docs">
|
|
204
|
+
<h1>Code Docs<a class="headerlink" href="#code-docs" title="Link to this heading"></a></h1>
|
|
131
205
|
<div class="toctree-wrapper compound">
|
|
132
206
|
</div>
|
|
133
207
|
<section id="essential-functionality">
|
|
@@ -211,9 +285,11 @@ The function returns another statepoint instance with fluid, mass, enthalpy, and
|
|
|
211
285
|
</dd></dl>
|
|
212
286
|
|
|
213
287
|
</section>
|
|
214
|
-
<section id="
|
|
215
|
-
<
|
|
216
|
-
<
|
|
288
|
+
<section id="fluids">
|
|
289
|
+
<h2>Fluids<a class="headerlink" href="#fluids" title="Link to this heading"></a></h2>
|
|
290
|
+
<p>The Fluids submodule supplies functions to perform common fluids calculations including non-dimensional characterization
|
|
291
|
+
and pressure drops in various situations.</p>
|
|
292
|
+
<dl class="py function" id="module-thermofluids.Fluids.Drag">
|
|
217
293
|
<dt class="sig sig-object py" id="thermofluids.Fluids.Drag.f_drag">
|
|
218
294
|
<span class="sig-prename descclassname"><span class="pre">thermofluids.Fluids.Drag.</span></span><span class="sig-name descname"><span class="pre">f_drag</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shape</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">density</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">velocity</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">area</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#thermofluids.Fluids.Drag.f_drag" title="Link to this definition"></a></dt>
|
|
219
295
|
<dd><dl class="field-list simple">
|
|
@@ -331,9 +407,11 @@ Secondary source for L/d values: <a class="reference external" href="http://www.
|
|
|
331
407
|
</dd></dl>
|
|
332
408
|
|
|
333
409
|
</section>
|
|
334
|
-
<section id="
|
|
335
|
-
<
|
|
336
|
-
<
|
|
410
|
+
<section id="heat-transfer">
|
|
411
|
+
<h2>Heat Transfer<a class="headerlink" href="#heat-transfer" title="Link to this heading"></a></h2>
|
|
412
|
+
<p>The Heat Transfer module supplies functions to perform common heat transfer calculations including non-dimensional
|
|
413
|
+
characterization, effective temperature differences, two-phase flow regime prediction, and heat transfer coefficients.</p>
|
|
414
|
+
<dl class="py function" id="module-thermofluids.HeatTransfer.lmtd">
|
|
337
415
|
<dt class="sig sig-object py" id="thermofluids.HeatTransfer.lmtd.lmtd">
|
|
338
416
|
<span class="sig-prename descclassname"><span class="pre">thermofluids.HeatTransfer.lmtd.</span></span><span class="sig-name descname"><span class="pre">lmtd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">t_hot_in</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">t_hot_out</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">t_cold_in</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">t_cold_out</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#thermofluids.HeatTransfer.lmtd.lmtd" title="Link to this definition"></a></dt>
|
|
339
417
|
<dd><p>Log Mean Temperature Difference
|
|
@@ -461,10 +539,11 @@ Carey ‘Liquid-Vapor Phase-Change Phenomena’ p616.
|
|
|
461
539
|
</dd></dl>
|
|
462
540
|
|
|
463
541
|
</section>
|
|
464
|
-
<section id="
|
|
465
|
-
<
|
|
542
|
+
<section id="special-properties">
|
|
543
|
+
<h2>Special Properties<a class="headerlink" href="#special-properties" title="Link to this heading"></a></h2>
|
|
544
|
+
<p>Special properties are a handful of properties we’ve needed over time that aren’t available in CoolProp.</p>
|
|
466
545
|
<dl class="py function" id="module-thermofluids.Properties.BrineProps">
|
|
467
|
-
<dt class="sig sig-object py" id="thermofluids.Properties.BrineProps.get_P_liq_sat">
|
|
546
|
+
<span id="module-thermofluids.Properties"></span><dt class="sig sig-object py" id="thermofluids.Properties.BrineProps.get_P_liq_sat">
|
|
468
547
|
<span class="sig-prename descclassname"><span class="pre">thermofluids.Properties.BrineProps.</span></span><span class="sig-name descname"><span class="pre">get_P_liq_sat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fluid</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">t</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#thermofluids.Properties.BrineProps.get_P_liq_sat" title="Link to this definition"></a></dt>
|
|
469
548
|
<dd><p>Calculates the pressure at which a fluid is a saturated liquid, aka bubble point
|
|
470
549
|
:param fluid: fluid name- must be a legal CoolProp->Refprop input
|
|
@@ -513,10 +592,13 @@ Carey ‘Liquid-Vapor Phase-Change Phenomena’ p616.
|
|
|
513
592
|
</dd></dl>
|
|
514
593
|
|
|
515
594
|
</section>
|
|
516
|
-
<section id="
|
|
517
|
-
<
|
|
595
|
+
<section id="process-equipment">
|
|
596
|
+
<h2>Process Equipment<a class="headerlink" href="#process-equipment" title="Link to this heading"></a></h2>
|
|
597
|
+
<p>The Process Equipment supplies classes and functions that represent unit functions that take and produce thermodynamic
|
|
598
|
+
statepoints. The performance/outputs are mostly theoretically derived as opposed to empirically derived from specific
|
|
599
|
+
implementations of these types of process equipment.</p>
|
|
518
600
|
<dl class="py class" id="module-thermofluids.ProcessEquipment.Column">
|
|
519
|
-
<dt class="sig sig-object py" id="thermofluids.ProcessEquipment.Column.Column">
|
|
601
|
+
<span id="module-thermofluids.ProcessEquipment"></span><dt class="sig sig-object py" id="thermofluids.ProcessEquipment.Column.Column">
|
|
520
602
|
<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-prename descclassname"><span class="pre">thermofluids.ProcessEquipment.Column.</span></span><span class="sig-name descname"><span class="pre">Column</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">P_col</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inlet</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outlet_vap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outlet_liq_c</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fluid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#thermofluids.ProcessEquipment.Column.Column" title="Link to this definition"></a></dt>
|
|
521
603
|
<dd><p>This class models distillation processes. There are three performance models:</p>
|
|
522
604
|
<ol class="arabic simple">
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Search.setIndex({"alltitles":{"Acknowledgement of CoolProp and Pint":[[0,"acknowledgement-of-coolprop-and-pint"]],"Code Docs":[[0,"code-docs"]],"Essential Functionality":[[0,"essential-functionality"]],"Fluids":[[0,"fluids"]],"Getting Started":[[0,null]],"Heat Transfer":[[0,"heat-transfer"]],"Installation":[[0,"installation"]],"Process Equipment":[[0,"process-equipment"]],"Special Properties":[[0,"special-properties"]]},"docnames":["index"],"envversion":{"sphinx":66,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{"__add__() (thermofluids.base.statepoint.statepoint method)":[[0,"thermofluids.Base.Statepoint.Statepoint.__add__",false]],"__div__() (thermofluids.base.statepoint.statepoint method)":[[0,"thermofluids.Base.Statepoint.Statepoint.__div__",false]],"bo() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.Bo",false]],"co() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.Co",false]],"column (class in thermofluids.processequipment.column)":[[0,"thermofluids.ProcessEquipment.Column.Column",false]],"compressor (class in thermofluids.processequipment.compressor)":[[0,"thermofluids.ProcessEquipment.Compressor.Compressor",false]],"crit_heat_flux() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.crit_heat_flux",false]],"f_drag() (in module thermofluids.fluids.drag)":[[0,"thermofluids.Fluids.Drag.f_drag",false]],"fr_le() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.Fr_le",false]],"frictionfactor() (in module thermofluids.fluids.moody)":[[0,"thermofluids.Fluids.Moody.frictionfactor",false]],"get_c_freeze() (in module thermofluids.properties.brineprops)":[[0,"thermofluids.Properties.BrineProps.get_c_freeze",false]],"get_diabatic_curves() (thermofluids.processequipment.column.column method)":[[0,"thermofluids.ProcessEquipment.Column.Column.get_diabatic_curves",false]],"get_p_liq_sat() (in module thermofluids.properties.brineprops)":[[0,"thermofluids.Properties.BrineProps.get_P_liq_sat",false]],"get_p_vap_sat() (in module thermofluids.properties.brineprops)":[[0,"thermofluids.Properties.BrineProps.get_P_vap_sat",false]],"get_t_liq_sat() (in module thermofluids.properties.brineprops)":[[0,"thermofluids.Properties.BrineProps.get_T_liq_sat",false]],"get_t_vap_sat() (in module thermofluids.properties.brineprops)":[[0,"thermofluids.Properties.BrineProps.get_T_vap_sat",false]],"get_valve_c_v() (in module thermofluids.processequipment.valve)":[[0,"thermofluids.ProcessEquipment.Valve.get_valve_C_v",false]],"get_valve_dp() (in module thermofluids.processequipment.valve)":[[0,"thermofluids.ProcessEquipment.Valve.get_valve_dP",false]],"get_valve_flow_rate() (in module thermofluids.processequipment.valve)":[[0,"thermofluids.ProcessEquipment.Valve.get_valve_flow_rate",false]],"heat_flux_nucleate_boiling() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.heat_flux_nucleate_boiling",false]],"htc_conv_boil() (in module thermofluids.heattransfer.twophase)":[[0,"thermofluids.HeatTransfer.TwoPhase.htc_conv_boil",false]],"lmtd() (in module thermofluids.heattransfer.lmtd)":[[0,"thermofluids.HeatTransfer.lmtd.lmtd",false]],"mccabe() (thermofluids.processequipment.column.column method)":[[0,"thermofluids.ProcessEquipment.Column.Column.mccabe",false]],"mccabe_diabatic() (thermofluids.processequipment.column.column method)":[[0,"thermofluids.ProcessEquipment.Column.Column.mccabe_diabatic",false]],"me_balance() (thermofluids.processequipment.column.column method)":[[0,"thermofluids.ProcessEquipment.Column.Column.ME_balance",false]],"module":[[0,"module-thermofluids.Fluids.Drag",false],[0,"module-thermofluids.Fluids.Moody",false],[0,"module-thermofluids.Fluids.PressureDrop",false],[0,"module-thermofluids.Fluids.Re",false],[0,"module-thermofluids.HeatTransfer.Gr",false],[0,"module-thermofluids.HeatTransfer.NTU",false],[0,"module-thermofluids.HeatTransfer.Nusselt",false],[0,"module-thermofluids.HeatTransfer.Ra",false],[0,"module-thermofluids.HeatTransfer.TwoPhase",false],[0,"module-thermofluids.HeatTransfer.lmtd",false],[0,"module-thermofluids.ProcessEquipment",false],[0,"module-thermofluids.ProcessEquipment.Column",false],[0,"module-thermofluids.ProcessEquipment.Compressor",false],[0,"module-thermofluids.ProcessEquipment.HeatExchanger",false],[0,"module-thermofluids.ProcessEquipment.IsoCompressor",false],[0,"module-thermofluids.ProcessEquipment.Pump",false],[0,"module-thermofluids.ProcessEquipment.Turbine",false],[0,"module-thermofluids.ProcessEquipment.Valve",false],[0,"module-thermofluids.Properties",false],[0,"module-thermofluids.Properties.BrineProps",false]],"nu() (in module thermofluids.heattransfer.nusselt)":[[0,"thermofluids.HeatTransfer.Nusselt.Nu",false]],"nu_natural() (in module thermofluids.heattransfer.nusselt)":[[0,"thermofluids.HeatTransfer.Nusselt.Nu_natural",false]],"off_design() (thermofluids.processequipment.column.column method)":[[0,"thermofluids.ProcessEquipment.Column.Column.off_design",false]],"pressure_drop() (in module thermofluids.fluids.pressuredrop)":[[0,"thermofluids.Fluids.PressureDrop.pressure_drop",false]],"pressure_drop_corrugated_plates() (in module thermofluids.fluids.pressuredrop)":[[0,"thermofluids.Fluids.PressureDrop.pressure_drop_corrugated_plates",false]],"pressure_drop_fitting() (in module thermofluids.fluids.pressuredrop)":[[0,"thermofluids.Fluids.PressureDrop.pressure_drop_fitting",false]],"ra() (in module thermofluids.heattransfer.ra)":[[0,"thermofluids.HeatTransfer.Ra.Ra",false]],"re_ext() (in module thermofluids.fluids.re)":[[0,"thermofluids.Fluids.Re.Re_ext",false]],"settling_vel() (in module thermofluids.fluids.drag)":[[0,"thermofluids.Fluids.Drag.settling_vel",false]],"statepoint (class in thermofluids.base.statepoint)":[[0,"thermofluids.Base.Statepoint.Statepoint",false]],"thermofluids.fluids.drag":[[0,"module-thermofluids.Fluids.Drag",false]],"thermofluids.fluids.moody":[[0,"module-thermofluids.Fluids.Moody",false]],"thermofluids.fluids.pressuredrop":[[0,"module-thermofluids.Fluids.PressureDrop",false]],"thermofluids.fluids.re":[[0,"module-thermofluids.Fluids.Re",false]],"thermofluids.heattransfer.gr":[[0,"module-thermofluids.HeatTransfer.Gr",false]],"thermofluids.heattransfer.lmtd":[[0,"module-thermofluids.HeatTransfer.lmtd",false]],"thermofluids.heattransfer.ntu":[[0,"module-thermofluids.HeatTransfer.NTU",false]],"thermofluids.heattransfer.nusselt":[[0,"module-thermofluids.HeatTransfer.Nusselt",false]],"thermofluids.heattransfer.ra":[[0,"module-thermofluids.HeatTransfer.Ra",false]],"thermofluids.heattransfer.twophase":[[0,"module-thermofluids.HeatTransfer.TwoPhase",false]],"thermofluids.processequipment":[[0,"module-thermofluids.ProcessEquipment",false]],"thermofluids.processequipment.column":[[0,"module-thermofluids.ProcessEquipment.Column",false]],"thermofluids.processequipment.compressor":[[0,"module-thermofluids.ProcessEquipment.Compressor",false]],"thermofluids.processequipment.heatexchanger":[[0,"module-thermofluids.ProcessEquipment.HeatExchanger",false]],"thermofluids.processequipment.isocompressor":[[0,"module-thermofluids.ProcessEquipment.IsoCompressor",false]],"thermofluids.processequipment.pump":[[0,"module-thermofluids.ProcessEquipment.Pump",false]],"thermofluids.processequipment.turbine":[[0,"module-thermofluids.ProcessEquipment.Turbine",false]],"thermofluids.processequipment.valve":[[0,"module-thermofluids.ProcessEquipment.Valve",false]],"thermofluids.properties":[[0,"module-thermofluids.Properties",false]],"thermofluids.properties.brineprops":[[0,"module-thermofluids.Properties.BrineProps",false]],"turbine (class in thermofluids.processequipment.turbine)":[[0,"thermofluids.ProcessEquipment.Turbine.Turbine",false]]},"objects":{"thermofluids":[[0,2,0,"-","ProcessEquipment"],[0,2,0,"-","Properties"]],"thermofluids.Base.Statepoint":[[0,0,1,"","Statepoint"]],"thermofluids.Base.Statepoint.Statepoint":[[0,1,1,"","__add__"],[0,1,1,"","__div__"]],"thermofluids.Fluids":[[0,2,0,"-","Drag"],[0,2,0,"-","Moody"],[0,2,0,"-","PressureDrop"],[0,2,0,"-","Re"]],"thermofluids.Fluids.Drag":[[0,3,1,"","f_drag"],[0,3,1,"","settling_vel"]],"thermofluids.Fluids.Moody":[[0,3,1,"","frictionfactor"]],"thermofluids.Fluids.PressureDrop":[[0,3,1,"","pressure_drop"],[0,3,1,"","pressure_drop_corrugated_plates"],[0,3,1,"","pressure_drop_fitting"]],"thermofluids.Fluids.Re":[[0,3,1,"","Re_ext"]],"thermofluids.HeatTransfer":[[0,2,0,"-","Gr"],[0,2,0,"-","NTU"],[0,2,0,"-","Nusselt"],[0,2,0,"-","Ra"],[0,2,0,"-","TwoPhase"],[0,2,0,"-","lmtd"]],"thermofluids.HeatTransfer.Nusselt":[[0,3,1,"","Nu"],[0,3,1,"","Nu_natural"]],"thermofluids.HeatTransfer.Ra":[[0,3,1,"","Ra"]],"thermofluids.HeatTransfer.TwoPhase":[[0,3,1,"","Bo"],[0,3,1,"","Co"],[0,3,1,"","Fr_le"],[0,3,1,"","crit_heat_flux"],[0,3,1,"","heat_flux_nucleate_boiling"],[0,3,1,"","htc_conv_boil"]],"thermofluids.HeatTransfer.lmtd":[[0,3,1,"","lmtd"]],"thermofluids.ProcessEquipment":[[0,2,0,"-","Column"],[0,2,0,"-","Compressor"],[0,2,0,"-","HeatExchanger"],[0,2,0,"-","IsoCompressor"],[0,2,0,"-","Pump"],[0,2,0,"-","Turbine"],[0,2,0,"-","Valve"]],"thermofluids.ProcessEquipment.Column":[[0,0,1,"","Column"]],"thermofluids.ProcessEquipment.Column.Column":[[0,1,1,"","ME_balance"],[0,1,1,"","get_diabatic_curves"],[0,1,1,"","mccabe"],[0,1,1,"","mccabe_diabatic"],[0,1,1,"","off_design"]],"thermofluids.ProcessEquipment.Compressor":[[0,0,1,"","Compressor"]],"thermofluids.ProcessEquipment.Turbine":[[0,0,1,"","Turbine"]],"thermofluids.ProcessEquipment.Valve":[[0,3,1,"","get_valve_C_v"],[0,3,1,"","get_valve_dP"],[0,3,1,"","get_valve_flow_rate"]],"thermofluids.Properties":[[0,2,0,"-","BrineProps"]],"thermofluids.Properties.BrineProps":[[0,3,1,"","get_P_liq_sat"],[0,3,1,"","get_P_vap_sat"],[0,3,1,"","get_T_liq_sat"],[0,3,1,"","get_T_vap_sat"],[0,3,1,"","get_c_freeze"]]},"objnames":{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","module","Python module"],"3":["py","function","Python function"]},"objtypes":{"0":"py:class","1":"py:method","2":"py:module","3":"py:function"},"terms":{"1st":0,"3rd":0,"45deg":0,"93thiele_method":0,"A":0,"All":0,"As":0,"Do":0,"For":0,"From":0,"I":0,"If":0,"In":0,"It":0,"Most":0,"Some":0,"That":0,"The":0,"There":0,"This":0,"To":0,"We":0,"You":0,"__add__":0,"__div__":0,"access":0,"accord":0,"account":0,"achp":0,"achpcompon":0,"across":0,"adapt":0,"add":0,"addit":0,"air":0,"aka":0,"al":0,"alfa":0,"allow_warn":0,"also":0,"analysi":0,"angl":0,"ani":0,"anoth":0,"approx":0,"approxim":0,"area":0,"aren":0,"around":0,"array":0,"assum":0,"attempt":0,"attribut":0,"auto":0,"automat":0,"avail":0,"backend":0,"balanc":0,"bar":0,"base":0,"basic":0,"becaus":0,"best":0,"beta":0,"better":0,"bigger":0,"bo":0,"boil":0,"boiling_heat_transfer_correl":0,"bottom":0,"braze":0,"brine":0,"brineprop":0,"bubbl":0,"buggi":0,"built":0,"bulb":0,"c":0,"c_v":0,"calcualt":0,"calcul":0,"call":0,"can":0,"capac":0,"carey":0,"celcius":0,"cengel":0,"chang":0,"channel":0,"character":0,"characterist":0,"chevron":0,"chevron_angl":0,"class":0,"co":0,"coe":0,"coeffici":0,"column":0,"com":0,"combin":0,"combo":0,"come":0,"common":0,"comp":0,"comp_to_cond":0,"compar":0,"complet":0,"complex":0,"compressor":0,"comput":0,"conc":0,"concentr":0,"cond_to_exp":0,"condens":0,"condit":0,"conduct":0,"conserv":0,"constant":0,"contain":0,"contrast":0,"convect":0,"convenct":0,"converg":0,"cool":0,"coordin":0,"cop":0,"correl":0,"correlations_for_critical_heat_flux":0,"corrug":0,"cp":0,"cp_l":0,"creat":0,"crit_heat_flux":0,"criteria":0,"critic":0,"critical_heat_flux":0,"csf":0,"current":0,"curv":0,"cv":0,"cvap":0,"cycl":0,"cylind":0,"d":0,"d1":0,"d2":0,"d_col":0,"d_h_ext":0,"d_solid":0,"damp":0,"darci":0,"debug":0,"default":0,"defin":0,"definit":0,"densiti":0,"depend":0,"deriv":0,"describ":0,"design":0,"desir":0,"destruct":0,"detail":0,"determin":0,"dew":0,"diabat":0,"diabatic_mccab":0,"diagram":0,"diamet":0,"differ":0,"dimens":0,"dimension":0,"direct":0,"distil":0,"dive":0,"divid":0,"doe":0,"don":0,"downward":0,"dp":0,"drag":0,"dri":0,"drop":0,"due":0,"dure":0,"dynam":0,"e2":0,"easi":0,"easier":0,"ed":0,"edit":0,"effect":0,"effici":0,"either":0,"elbow":0,"element":0,"empir":0,"en":0,"enabl":0,"energi":0,"enthalpi":0,"entrain":0,"entropi":0,"equal":0,"equilibrium":0,"equival":0,"erickson":0,"et":0,"eta":0,"evap_to_comp":0,"evapor":0,"everi":0,"everyth":0,"exampl":0,"except":0,"exchang":0,"exergi":0,"exp_to_evap":0,"expand":0,"expans":0,"extens":0,"extern":0,"f":0,"f_drag":0,"fact":0,"factor":0,"fals":0,"faster":0,"feed":0,"field":0,"file":0,"find":0,"fiona":0,"fit":0,"fitting_typ":0,"fix":0,"float":0,"flow":0,"flow_coeffici":0,"fluid_flow":0,"flux":0,"follow":0,"forc":0,"fr_le":0,"fraction":0,"freez":0,"friction":0,"frictionfactor":0,"frontal":0,"froud":0,"fulldetail":0,"fulli":0,"g":0,"gamma":0,"gas":0,"get_c_freez":0,"get_diabatic_curv":0,"get_outlet":0,"get_p_liq_sat":0,"get_p_vap_sat":0,"get_t_liq_sat":0,"get_t_vap_sat":0,"get_valve_c_v":0,"get_valve_dp":0,"get_valve_flow_r":0,"given":0,"go":0,"gr":0,"graphic":0,"grashof":0,"grate":0,"graviti":0,"h":0,"h_tray":0,"h_v":0,"hand":0,"head":0,"heat_flux_nucleate_boil":0,"heating_stream":0,"heattransf":0,"height":0,"high":0,"higher":0,"horizont":0,"htc":0,"htc_conv_boil":0,"html":0,"http":0,"https":0,"humid":0,"hx":0,"hydraul":0,"hydrodynam":0,"icentrop":0,"implement":0,"import":0,"improv":0,"inclin":0,"includ":0,"incomp":0,"incompress":0,"independ":0,"inertia":0,"info":0,"inform":0,"inject":0,"inlet":0,"input":0,"instanc":0,"instead":0,"integ":0,"intens":0,"interfaci":0,"internal":0,"isenthalp":0,"isoforc":0,"juli":0,"june":0,"just":0,"k":0,"k_l":0,"kg":0,"kilogram":0,"kilojoul":0,"kinemat":0,"kj":0,"known":0,"kw":0,"l":0,"laminar":0,"latent":0,"laval":0,"leav":0,"left":0,"legal":0,"length":0,"let":0,"level":0,"librari":0,"libtsl":0,"like":0,"line":0,"linear":0,"liquid":0,"lmtd":0,"log":0,"long":0,"look":0,"lookup":0,"loss":0,"lower":0,"luke":0,"m":0,"majeau":0,"make":0,"manag":0,"mani":0,"manipul":0,"mass":0,"match":0,"mayb":0,"mccabe":0,"mccabe_diabat":0,"mccabe_diabatic_bottomup":0,"me_bal":0,"mean":0,"meaning":0,"meter":0,"methanol":0,"method":0,"metropump":0,"minim":0,"minimum":0,"mix":0,"mixtur":0,"mma":0,"mode":0,"model":0,"modul":0,"moodi":0,"mostly":0,"move":0,"mr_darci":0,"mu":0,"mu_l":0,"much":0,"must":0,"n":0,"n_tray":0,"name":0,"natur":0,"necessari":0,"need":0,"net":0,"neutrium":0,"new":0,"nice":0,"non":0,"none":0,"nov":0,"now":0,"nu":0,"nu_natur":0,"nucleat":0,"nucleate_boil":0,"nulleg":0,"num_tray":0,"number":0,"nusselt":0,"object":0,"off_design":0,"omega":0,"onc":0,"one":0,"onli":0,"oper":0,"oper_shift":0,"oppos":0,"optim":0,"option":0,"order":0,"org":0,"outlet":0,"outlet_liq_c":0,"outlet_vap":0,"output":0,"output_nam":0,"p":0,"p511":0,"p616":0,"p_col":0,"parallel":0,"param":0,"paramet":0,"particl":0,"pdf":0,"perform":0,"perimet":0,"perpendicular":0,"phase":0,"phenomena":0,"physic":0,"pi":0,"pictur":0,"pip":0,"pipe":0,"plate":0,"plateheatexchang":0,"pleas":0,"plot":0,"plotfil":0,"png":0,"point":0,"pout":0,"pr":0,"pr_l":0,"prandtl":0,"predict":0,"pressur":0,"pressure_drop":0,"pressure_drop_corrugated_pl":0,"pressure_drop_fit":0,"pressuredrop":0,"pretti":0,"print":0,"printmod":0,"processequip":0,"produc":0,"product":0,"project":0,"prop":0,"pump":0,"py":0,"pypi":0,"python":0,"q":0,"q_cond":0,"q_evap":0,"q_feed_to_satliq":0,"q_flux":0,"q_input":0,"q_sen":0,"q_total":0,"q_trays_tot":0,"qualiti":0,"quantiti":0,"r134a":0,"r404a":0,"ra":0,"radian":0,"rang":0,"rate":0,"ratio":0,"rayleigh":0,"re":0,"re_ext":0,"rebound":0,"rectifi":0,"refer":0,"refprop":0,"refr":0,"refriger":0,"regim":0,"region":0,"relat":0,"relrough":0,"remain":0,"repres":0,"represent":0,"requir":0,"resourcesfrictionlossdata":0,"rest":0,"result":0,"return":0,"reynold":0,"rh":0,"rho":0,"rho_l":0,"rho_solid":0,"rho_v":0,"right":0,"rohsenow":0,"room":0,"rough":0,"round":0,"run":0,"s":0,"satisfi":0,"satur":0,"sauar":0,"scp":0,"second":0,"secondari":0,"section":0,"see":0,"seem":0,"select":0,"sensibl":0,"set":0,"settl":0,"settling_vel":0,"sg":0,"shah":0,"shape":0,"shift":0,"show":0,"sigma":0,"signific":0,"simpl":0,"simplest":0,"singl":0,"situat":0,"size":0,"slower":0,"solid":0,"solv":0,"solver":0,"someth":0,"sometim":0,"sound":0,"sourc":0,"source_var":0,"sourceforg":0,"southeast":0,"sp":0,"space":0,"specif":0,"specifi":0,"speed":0,"sphere":0,"sqrt":0,"squar":0,"src":0,"ss":0,"ssp":0,"standard":0,"state":0,"statepoint":0,"step":0,"stoke":0,"str":0,"stream":0,"string":0,"style":0,"subcool":0,"submodul":0,"substitut":0,"sum":0,"suppli":0,"suppress":0,"surfac":0,"system":0,"t":0,"t_cold_in":0,"t_cold_out":0,"t_freez":0,"t_hot_in":0,"t_hot_out":0,"t_s":0,"t_sat":0,"t_wall":0,"take":0,"tdp":0,"technolog":0,"temp":0,"temperatur":0,"tend":0,"tension":0,"theil":0,"theoret":0,"thermal":0,"thermodynam":0,"thermofluid":0,"thiel":0,"thing":0,"think":0,"three":0,"time":0,"tlsat":0,"tool":0,"top":0,"total":0,"transit":0,"tray":0,"tray_conc":0,"tray_mass":0,"tray_temp":0,"true":0,"tube":0,"tupl":0,"turbin":0,"turbo":0,"turbul":0,"tvsat":0,"twb":0,"two":0,"twophas":0,"type":0,"typic":0,"u":0,"unit":0,"use":0,"v":0,"val":0,"valu":0,"valv":0,"vapor":0,"variabl":0,"various":0,"ve":0,"vel":0,"veloc":0,"velocti":0,"vertic":0,"visc":0,"viscos":0,"vle":0,"volum":0,"volumetr":0,"vs":0,"wall":0,"warn":0,"water":0,"way":0,"well":0,"wet":0,"width":0,"wiki":0,"wikipedia":0,"will":0,"wise":0,"within":0,"without":0,"work":0,"wrapper":0,"written":0,"wt":0,"www":0,"x":0,"x_oper":0,"x_sat":0,"x_vle":0,"y_oper":0,"y_sat":0,"y_vle":0},"titles":["Getting Started"],"titleterms":{"acknowledg":0,"code":0,"coolprop":0,"doc":0,"equip":0,"essenti":0,"fluid":0,"function":0,"get":0,"heat":0,"instal":0,"pint":0,"process":0,"properti":0,"special":0,"start":0,"transfer":0}})
|