thermofluids 2.0.3__tar.gz → 2.0.4__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.4/PKG-INFO +78 -0
- thermofluids-2.0.4/README.md +61 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/doctrees/environment.pickle +0 -0
- thermofluids-2.0.4/docs/build/doctrees/index.doctree +0 -0
- thermofluids-2.0.4/docs/build/html/_sources/index.rst.txt +120 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/index.html +54 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/searchindex.js +1 -1
- thermofluids-2.0.4/docs/source/index.rst +120 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/pyproject.toml +3 -2
- thermofluids-2.0.3/PKG-INFO +0 -33
- thermofluids-2.0.3/README.md +0 -17
- 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/source/index.rst +0 -68
- {thermofluids-2.0.3 → thermofluids-2.0.4}/.gitlab-ci.yml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/.idea/.gitignore +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/.idea/thermofluids.iml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/.idea/workspace.xml +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/Makefile +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/.buildinfo +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/base-stemmer.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/basic.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/badge_only.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/css/theme.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/doctools.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/documentation_options.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/english-stemmer.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/file.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/jquery.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/js/badge_only.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/js/theme.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/js/versions.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/language_data.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/minus.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/plus.png +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/pygments.css +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/searchtools.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/genindex.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/objects.inv +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/py-modindex.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/build/html/search.html +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/make.bat +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/docs/source/conf.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/poetry.lock +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Base/Quantity.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Base/Statepoint.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Base/ThermoExceptions.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Base/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Base/thermofluids_registry.txt +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Fluids/Drag.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Fluids/Moody.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Fluids/PressureDrop.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Fluids/Re.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Fluids/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/Gr.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/NTU.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/Nusselt.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/Ra.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/TwoPhase.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/HeatTransfer/lmtd.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Column.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Compressor.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Ejector.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/HeatExchanger.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/IsoCompressor.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Pipe.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Pump.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Turbine.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/Valve.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/ProcessEquipment/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Properties/BrineProps.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Properties/VLE_data.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Properties/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Utilities/FlowDiagram.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/Utilities/__init__.py +0 -0
- {thermofluids-2.0.3 → thermofluids-2.0.4}/src/thermofluids/__init__.py +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: thermofluids
|
|
3
|
+
Version: 2.0.4
|
|
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,120 @@
|
|
|
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
|
+
Thermofluids
|
|
7
|
+
============
|
|
8
|
+
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::
|
|
9
|
+
|
|
10
|
+
sp = Statepoint(fluid='water', # define a fluid
|
|
11
|
+
t=25.0, # define one independent variable
|
|
12
|
+
p=1.0, # define a second independent variable
|
|
13
|
+
m=0.1) # define extensive varible
|
|
14
|
+
|
|
15
|
+
sp.rho, sp.h, sp.visc
|
|
16
|
+
|
|
17
|
+
>>> (<Quantity(997.047039, 'kilogram / meter ** 3')>, <Quantity(104.918893, 'kilojoule / kilogram')>, <Quantity(0.000890022674, 'kilogram / meter / second')>)
|
|
18
|
+
|
|
19
|
+
Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
20
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
21
|
+
refrigeration cycle::
|
|
22
|
+
|
|
23
|
+
from thermofluids import Statepoint, Quantity
|
|
24
|
+
from thermofluids.ProcessEquipment import Compressor
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# Select a refrigerant
|
|
28
|
+
REFR = 'R134A'
|
|
29
|
+
|
|
30
|
+
# Find the saturation pressures of the refrigerant
|
|
31
|
+
ssp = Statepoint(fluid=REFR, t=-10, x=1.).p
|
|
32
|
+
scp = Statepoint(fluid=REFR, t=25., x=1.).p
|
|
33
|
+
|
|
34
|
+
# Define a statepoint representing the state between the evaporator and compressor
|
|
35
|
+
evap_to_comp = Statepoint(fluid=REFR, t=-5., p=ssp, m=0.1)
|
|
36
|
+
|
|
37
|
+
# Use the built in compressor object to calculate the statepoint at the compressor outlet
|
|
38
|
+
comp = Compressor(inlet=evap_to_comp,
|
|
39
|
+
eta=0.7,
|
|
40
|
+
Pout=scp)
|
|
41
|
+
comp_to_cond = comp.get_outlet()
|
|
42
|
+
print(f'Compressor work: {comp.work.to("kW")}')
|
|
43
|
+
|
|
44
|
+
# Derive the statepoint representing the condensed state between the condenser and expansion valve
|
|
45
|
+
cond_to_exp = Statepoint(fluid=REFR, t=20., p=scp, m=evap_to_comp.m)
|
|
46
|
+
q_cond = cond_to_exp.m * (comp_to_cond.h - cond_to_exp.h)
|
|
47
|
+
print(f'Condenser heat: {q_cond.to("kW")}')
|
|
48
|
+
|
|
49
|
+
# Derive the statepoint representing the isenthalpically expanded refrigerant
|
|
50
|
+
exp_to_evap = Statepoint(fluid=REFR, p=ssp, h=cond_to_exp.h, m=cond_to_exp.m)
|
|
51
|
+
q_evap = evap_to_comp.m * (evap_to_comp.h - exp_to_evap.h)
|
|
52
|
+
print(f'Evaporator heat: {q_evap.to("kW")}')
|
|
53
|
+
cop = q_evap / comp.work
|
|
54
|
+
print(f'Coefficient of performance: {cop.to("")}')
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
>>> Compressor work: 3.637 kW
|
|
58
|
+
>>> Condenser heat: 20.58 kW
|
|
59
|
+
>>> Evaporator heat: 16.95 kW
|
|
60
|
+
>>> Coefficient of performance: 4.659
|
|
61
|
+
|
|
62
|
+
.. toctree::
|
|
63
|
+
:maxdepth: 2
|
|
64
|
+
:caption: Contents:
|
|
65
|
+
|
|
66
|
+
Essential Functionality
|
|
67
|
+
_______________________
|
|
68
|
+
.. autoclass:: thermofluids.Base.Statepoint.Statepoint
|
|
69
|
+
:members: __add__, __div__
|
|
70
|
+
.. autoclass:: ...src.Base.Quantity
|
|
71
|
+
|
|
72
|
+
Fluids
|
|
73
|
+
______
|
|
74
|
+
.. automodule:: thermofluids.Fluids.Drag
|
|
75
|
+
:members: f_drag, settling_vel
|
|
76
|
+
.. automodule:: thermofluids.Fluids.Moody
|
|
77
|
+
:members: frictionfactor
|
|
78
|
+
.. automodule:: thermofluids.Fluids.Re
|
|
79
|
+
:members: Re, Re_ext
|
|
80
|
+
.. automodule:: thermofluids.Fluids.PressureDrop
|
|
81
|
+
:members: pressure_drop, pressure_drop_fitting, pressure_drop_packed_bed, pressure_drop_corrugated_plates, flow_at_dp
|
|
82
|
+
|
|
83
|
+
Heat Transfer
|
|
84
|
+
_____________
|
|
85
|
+
.. automodule:: thermofluids.HeatTransfer.lmtd
|
|
86
|
+
:members: lmtd
|
|
87
|
+
.. automodule:: thermofluids.HeatTransfer.Nusselt
|
|
88
|
+
:members: Nu, Nu_natural
|
|
89
|
+
.. automodule:: thermofluids.HeatTransfer.Ra
|
|
90
|
+
:members: Ra
|
|
91
|
+
.. automodule:: thermofluids.HeatTransfer.Gr
|
|
92
|
+
:members: Gr
|
|
93
|
+
.. automodule:: thermofluids.HeatTransfer.NTU
|
|
94
|
+
:members: NTU
|
|
95
|
+
.. automodule:: thermofluids.HeatTransfer.TwoPhase
|
|
96
|
+
:members: Co, Bo, Fr_le, crit_heat_flux, heat_flux_nucleate_boiling, htc_conv_boil
|
|
97
|
+
|
|
98
|
+
Special Properties
|
|
99
|
+
__________________
|
|
100
|
+
.. automodule:: thermofluids.Properties
|
|
101
|
+
.. automodule:: thermofluids.Properties.BrineProps
|
|
102
|
+
: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
|
|
103
|
+
|
|
104
|
+
Process Equipment
|
|
105
|
+
_________________
|
|
106
|
+
.. automodule:: thermofluids.ProcessEquipment
|
|
107
|
+
.. automodule:: thermofluids.ProcessEquipment.Column
|
|
108
|
+
:members: Column
|
|
109
|
+
.. automodule:: thermofluids.ProcessEquipment.Compressor
|
|
110
|
+
:members: Compressor
|
|
111
|
+
.. automodule:: thermofluids.ProcessEquipment.HeatExchanger
|
|
112
|
+
:members: HX_Energy
|
|
113
|
+
.. automodule:: thermofluids.ProcessEquipment.IsoCompressor
|
|
114
|
+
:members: IsoCompressor
|
|
115
|
+
.. automodule:: thermofluids.ProcessEquipment.Pump
|
|
116
|
+
:members: Pump
|
|
117
|
+
.. automodule:: thermofluids.ProcessEquipment.Turbine
|
|
118
|
+
:members: Turbine
|
|
119
|
+
.. automodule:: thermofluids.ProcessEquipment.Valve
|
|
120
|
+
:members: get_valve_flow_rate, get_valve_dP, get_valve_C_v
|
|
@@ -128,6 +128,60 @@
|
|
|
128
128
|
|
|
129
129
|
<section id="thermofluids">
|
|
130
130
|
<h1>Thermofluids<a class="headerlink" href="#thermofluids" title="Link to this heading"></a></h1>
|
|
131
|
+
<p>Thermofluids makes modeling thermofluid systems easier. The essential element is the <cite>statepoint</cite>. <cite>statepoint</cite> objects work like physical statepoints: they have two independent variables, many dependent variables, and sometimes extensive variables. You can use them like this:</p>
|
|
132
|
+
<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>
|
|
133
|
+
<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>
|
|
134
|
+
<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>
|
|
135
|
+
<span class="n">m</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</span> <span class="c1"># define extensive varible</span>
|
|
136
|
+
|
|
137
|
+
<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>
|
|
138
|
+
|
|
139
|
+
<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>
|
|
140
|
+
</pre></div>
|
|
141
|
+
</div>
|
|
142
|
+
<p>Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
143
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
144
|
+
refrigeration cycle:</p>
|
|
145
|
+
<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>
|
|
146
|
+
<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>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
<span class="c1"># Select a refrigerant</span>
|
|
150
|
+
<span class="n">REFR</span> <span class="o">=</span> <span class="s1">'R134A'</span>
|
|
151
|
+
|
|
152
|
+
<span class="c1"># Find the saturation pressures of the refrigerant</span>
|
|
153
|
+
<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>
|
|
154
|
+
<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>
|
|
155
|
+
|
|
156
|
+
<span class="c1"># Define a statepoint representing the state between the evaporator and compressor</span>
|
|
157
|
+
<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>
|
|
158
|
+
|
|
159
|
+
<span class="c1"># Use the built in compressor object to calculate the statepoint at the compressor outlet</span>
|
|
160
|
+
<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>
|
|
161
|
+
<span class="n">eta</span><span class="o">=</span><span class="mf">0.7</span><span class="p">,</span>
|
|
162
|
+
<span class="n">Pout</span><span class="o">=</span><span class="n">scp</span><span class="p">)</span>
|
|
163
|
+
<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>
|
|
164
|
+
<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>
|
|
165
|
+
|
|
166
|
+
<span class="c1"># Derive the statepoint representing the condensed state between the condenser and expansion valve</span>
|
|
167
|
+
<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>
|
|
168
|
+
<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>
|
|
169
|
+
<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>
|
|
170
|
+
|
|
171
|
+
<span class="c1"># Derive the statepoint representing the isenthalpically expanded refrigerant</span>
|
|
172
|
+
<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>
|
|
173
|
+
<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>
|
|
174
|
+
<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>
|
|
175
|
+
<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>
|
|
176
|
+
<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>
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<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>
|
|
180
|
+
<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>
|
|
181
|
+
<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>
|
|
182
|
+
<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>
|
|
183
|
+
</pre></div>
|
|
184
|
+
</div>
|
|
131
185
|
<div class="toctree-wrapper compound">
|
|
132
186
|
</div>
|
|
133
187
|
<section id="essential-functionality">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Search.setIndex({"alltitles":{"Essential Functionality":[[0,"essential-functionality"]],"Fluids":[[0,"module-thermofluids.Fluids.Drag"]],"Heat Transfer":[[0,"module-thermofluids.HeatTransfer.lmtd"]],"Process Equipment":[[0,"module-thermofluids.ProcessEquipment"]],"Special Properties":[[0,"module-thermofluids.Properties"]],"Thermofluids":[[0,null]]},"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,"array":0,"assum":0,"attempt":0,"attribut":0,"auto":0,"automat":0,"avail":0,"backend":0,"balanc":0,"bar":0,"base":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,"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,"code":0,"coe":0,"coeffici":0,"column":0,"com":0,"combin":0,"combo":0,"come":0,"compar":0,"complet":0,"complex":0,"compressor":0,"comput":0,"conc":0,"concentr":0,"condit":0,"conduct":0,"conserv":0,"constant":0,"contain":0,"contrast":0,"convect":0,"convenct":0,"converg":0,"cool":0,"coolprop":0,"coordin":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,"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,"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,"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,"ed":0,"edit":0,"effici":0,"either":0,"elbow":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,"everi":0,"everyth":0,"exampl":0,"except":0,"exchang":0,"exergi":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":0,"get_c_freez":0,"get_diabatic_curv":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,"graviti":0,"h":0,"h_tray":0,"h_v":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,"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,"librari":0,"libtsl":0,"like":0,"line":0,"linear":0,"liquid":0,"lmtd":0,"log":0,"long":0,"lookup":0,"loss":0,"lower":0,"luke":0,"m":0,"majeau":0,"make":0,"manipul":0,"mass":0,"match":0,"mayb":0,"mccabe":0,"mccabe_diabat":0,"mccabe_diabatic_bottomup":0,"me_bal":0,"mean":0,"methanol":0,"method":0,"metropump":0,"minim":0,"minimum":0,"mix":0,"mixtur":0,"mma":0,"mode":0,"model":0,"moodi":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,"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,"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,"pi":0,"pictur":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,"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,"prop":0,"pump":0,"py":0,"q":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,"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,"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,"secondari":0,"section":0,"see":0,"seem":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,"size":0,"slower":0,"solid":0,"solv":0,"solver":0,"someth":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,"state":0,"statepoint":0,"step":0,"stoke":0,"str":0,"stream":0,"string":0,"style":0,"subcool":0,"substitut":0,"sum":0,"suppress":0,"surfac":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,"tdp":0,"technolog":0,"temp":0,"temperatur":0,"tend":0,"tension":0,"theil":0,"thermal":0,"thiel":0,"thing":0,"think":0,"three":0,"time":0,"tlsat":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,"typic":0,"u":0,"unit":0,"use":0,"v":0,"val":0,"valu":0,"valv":0,"vapor":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,"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":["Thermofluids"],"titleterms":{"equip":0,"essenti":0,"fluid":0,"function":0,"heat":0,"process":0,"properti":0,"special":0,"thermofluid":0,"transfer":0}})
|
|
1
|
+
Search.setIndex({"alltitles":{"Essential Functionality":[[0,"essential-functionality"]],"Fluids":[[0,"module-thermofluids.Fluids.Drag"]],"Heat Transfer":[[0,"module-thermofluids.HeatTransfer.lmtd"]],"Process Equipment":[[0,"module-thermofluids.ProcessEquipment"]],"Special Properties":[[0,"module-thermofluids.Properties"]],"Thermofluids":[[0,null]]},"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,"array":0,"assum":0,"attempt":0,"attribut":0,"auto":0,"automat":0,"avail":0,"backend":0,"balanc":0,"bar":0,"base":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,"code":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,"coolprop":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,"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,"effici":0,"either":0,"elbow":0,"element":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":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,"graviti":0,"h":0,"h_tray":0,"h_v":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,"librari":0,"libtsl":0,"like":0,"line":0,"linear":0,"liquid":0,"lmtd":0,"log":0,"long":0,"lookup":0,"loss":0,"lower":0,"luke":0,"m":0,"majeau":0,"make":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,"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,"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,"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,"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,"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,"prop":0,"pump":0,"py":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,"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,"state":0,"statepoint":0,"step":0,"stoke":0,"str":0,"stream":0,"string":0,"style":0,"subcool":0,"substitut":0,"sum":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,"tdp":0,"technolog":0,"temp":0,"temperatur":0,"tend":0,"tension":0,"theil":0,"thermal":0,"thermodynam":0,"thiel":0,"thing":0,"think":0,"three":0,"time":0,"tlsat":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,"typic":0,"u":0,"unit":0,"use":0,"v":0,"val":0,"valu":0,"valv":0,"vapor":0,"variabl":0,"varibl":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,"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":["Thermofluids"],"titleterms":{"equip":0,"essenti":0,"fluid":0,"function":0,"heat":0,"process":0,"properti":0,"special":0,"thermofluid":0,"transfer":0}})
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
Thermofluids
|
|
7
|
+
============
|
|
8
|
+
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::
|
|
9
|
+
|
|
10
|
+
sp = Statepoint(fluid='water', # define a fluid
|
|
11
|
+
t=25.0, # define one independent variable
|
|
12
|
+
p=1.0, # define a second independent variable
|
|
13
|
+
m=0.1) # define extensive varible
|
|
14
|
+
|
|
15
|
+
sp.rho, sp.h, sp.visc
|
|
16
|
+
|
|
17
|
+
>>> (<Quantity(997.047039, 'kilogram / meter ** 3')>, <Quantity(104.918893, 'kilojoule / kilogram')>, <Quantity(0.000890022674, 'kilogram / meter / second')>)
|
|
18
|
+
|
|
19
|
+
Representing statepoints this way makes it easy to model thermodynamic cycles. The module includes some common
|
|
20
|
+
thermodynamic unit processes to manipulate statepoints in physically meaningful ways. For example, we can model a
|
|
21
|
+
refrigeration cycle::
|
|
22
|
+
|
|
23
|
+
from thermofluids import Statepoint, Quantity
|
|
24
|
+
from thermofluids.ProcessEquipment import Compressor
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# Select a refrigerant
|
|
28
|
+
REFR = 'R134A'
|
|
29
|
+
|
|
30
|
+
# Find the saturation pressures of the refrigerant
|
|
31
|
+
ssp = Statepoint(fluid=REFR, t=-10, x=1.).p
|
|
32
|
+
scp = Statepoint(fluid=REFR, t=25., x=1.).p
|
|
33
|
+
|
|
34
|
+
# Define a statepoint representing the state between the evaporator and compressor
|
|
35
|
+
evap_to_comp = Statepoint(fluid=REFR, t=-5., p=ssp, m=0.1)
|
|
36
|
+
|
|
37
|
+
# Use the built in compressor object to calculate the statepoint at the compressor outlet
|
|
38
|
+
comp = Compressor(inlet=evap_to_comp,
|
|
39
|
+
eta=0.7,
|
|
40
|
+
Pout=scp)
|
|
41
|
+
comp_to_cond = comp.get_outlet()
|
|
42
|
+
print(f'Compressor work: {comp.work.to("kW")}')
|
|
43
|
+
|
|
44
|
+
# Derive the statepoint representing the condensed state between the condenser and expansion valve
|
|
45
|
+
cond_to_exp = Statepoint(fluid=REFR, t=20., p=scp, m=evap_to_comp.m)
|
|
46
|
+
q_cond = cond_to_exp.m * (comp_to_cond.h - cond_to_exp.h)
|
|
47
|
+
print(f'Condenser heat: {q_cond.to("kW")}')
|
|
48
|
+
|
|
49
|
+
# Derive the statepoint representing the isenthalpically expanded refrigerant
|
|
50
|
+
exp_to_evap = Statepoint(fluid=REFR, p=ssp, h=cond_to_exp.h, m=cond_to_exp.m)
|
|
51
|
+
q_evap = evap_to_comp.m * (evap_to_comp.h - exp_to_evap.h)
|
|
52
|
+
print(f'Evaporator heat: {q_evap.to("kW")}')
|
|
53
|
+
cop = q_evap / comp.work
|
|
54
|
+
print(f'Coefficient of performance: {cop.to("")}')
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
>>> Compressor work: 3.637 kW
|
|
58
|
+
>>> Condenser heat: 20.58 kW
|
|
59
|
+
>>> Evaporator heat: 16.95 kW
|
|
60
|
+
>>> Coefficient of performance: 4.659
|
|
61
|
+
|
|
62
|
+
.. toctree::
|
|
63
|
+
:maxdepth: 2
|
|
64
|
+
:caption: Contents:
|
|
65
|
+
|
|
66
|
+
Essential Functionality
|
|
67
|
+
_______________________
|
|
68
|
+
.. autoclass:: thermofluids.Base.Statepoint.Statepoint
|
|
69
|
+
:members: __add__, __div__
|
|
70
|
+
.. autoclass:: ...src.Base.Quantity
|
|
71
|
+
|
|
72
|
+
Fluids
|
|
73
|
+
______
|
|
74
|
+
.. automodule:: thermofluids.Fluids.Drag
|
|
75
|
+
:members: f_drag, settling_vel
|
|
76
|
+
.. automodule:: thermofluids.Fluids.Moody
|
|
77
|
+
:members: frictionfactor
|
|
78
|
+
.. automodule:: thermofluids.Fluids.Re
|
|
79
|
+
:members: Re, Re_ext
|
|
80
|
+
.. automodule:: thermofluids.Fluids.PressureDrop
|
|
81
|
+
:members: pressure_drop, pressure_drop_fitting, pressure_drop_packed_bed, pressure_drop_corrugated_plates, flow_at_dp
|
|
82
|
+
|
|
83
|
+
Heat Transfer
|
|
84
|
+
_____________
|
|
85
|
+
.. automodule:: thermofluids.HeatTransfer.lmtd
|
|
86
|
+
:members: lmtd
|
|
87
|
+
.. automodule:: thermofluids.HeatTransfer.Nusselt
|
|
88
|
+
:members: Nu, Nu_natural
|
|
89
|
+
.. automodule:: thermofluids.HeatTransfer.Ra
|
|
90
|
+
:members: Ra
|
|
91
|
+
.. automodule:: thermofluids.HeatTransfer.Gr
|
|
92
|
+
:members: Gr
|
|
93
|
+
.. automodule:: thermofluids.HeatTransfer.NTU
|
|
94
|
+
:members: NTU
|
|
95
|
+
.. automodule:: thermofluids.HeatTransfer.TwoPhase
|
|
96
|
+
:members: Co, Bo, Fr_le, crit_heat_flux, heat_flux_nucleate_boiling, htc_conv_boil
|
|
97
|
+
|
|
98
|
+
Special Properties
|
|
99
|
+
__________________
|
|
100
|
+
.. automodule:: thermofluids.Properties
|
|
101
|
+
.. automodule:: thermofluids.Properties.BrineProps
|
|
102
|
+
: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
|
|
103
|
+
|
|
104
|
+
Process Equipment
|
|
105
|
+
_________________
|
|
106
|
+
.. automodule:: thermofluids.ProcessEquipment
|
|
107
|
+
.. automodule:: thermofluids.ProcessEquipment.Column
|
|
108
|
+
:members: Column
|
|
109
|
+
.. automodule:: thermofluids.ProcessEquipment.Compressor
|
|
110
|
+
:members: Compressor
|
|
111
|
+
.. automodule:: thermofluids.ProcessEquipment.HeatExchanger
|
|
112
|
+
:members: HX_Energy
|
|
113
|
+
.. automodule:: thermofluids.ProcessEquipment.IsoCompressor
|
|
114
|
+
:members: IsoCompressor
|
|
115
|
+
.. automodule:: thermofluids.ProcessEquipment.Pump
|
|
116
|
+
:members: Pump
|
|
117
|
+
.. automodule:: thermofluids.ProcessEquipment.Turbine
|
|
118
|
+
:members: Turbine
|
|
119
|
+
.. automodule:: thermofluids.ProcessEquipment.Valve
|
|
120
|
+
:members: get_valve_flow_rate, get_valve_dP, get_valve_C_v
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "thermofluids"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.4"
|
|
4
4
|
authors = [
|
|
5
5
|
{ email = "russell@rebound-tech.com"},
|
|
6
6
|
{ name="Luke Erickson, Russell Goldfarbmuren"}
|
|
@@ -26,7 +26,8 @@ requires =["hatchling >= 1.26"]
|
|
|
26
26
|
build-backend = "hatchling.build"
|
|
27
27
|
|
|
28
28
|
[project.urls]
|
|
29
|
-
|
|
29
|
+
Documentation = "https://thermofluids-24bc0b.gitlab.io/"
|
|
30
|
+
Repository = "https://gitlab.com/ericksonla/thermofluids"
|
|
30
31
|
|
|
31
32
|
|
|
32
33
|
[tool.poetry]
|