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.
Files changed (124) hide show
  1. thermofluids-2.0.5/PKG-INFO +78 -0
  2. thermofluids-2.0.5/README.md +61 -0
  3. thermofluids-2.0.5/docs/build/doctrees/environment.pickle +0 -0
  4. thermofluids-2.0.5/docs/build/doctrees/index.doctree +0 -0
  5. thermofluids-2.0.5/docs/build/html/_sources/index.rst.txt +150 -0
  6. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/index.html +103 -21
  7. thermofluids-2.0.5/docs/build/html/objects.inv +0 -0
  8. thermofluids-2.0.5/docs/build/html/searchindex.js +1 -0
  9. thermofluids-2.0.5/docs/source/index.rst +150 -0
  10. {thermofluids-2.0.3 → thermofluids-2.0.5}/poetry.lock +15 -7
  11. {thermofluids-2.0.3 → thermofluids-2.0.5}/pyproject.toml +3 -2
  12. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/Statepoint.py +8 -8
  13. thermofluids-2.0.3/PKG-INFO +0 -33
  14. thermofluids-2.0.3/README.md +0 -17
  15. thermofluids-2.0.3/docs/build/doctrees/environment.pickle +0 -0
  16. thermofluids-2.0.3/docs/build/doctrees/index.doctree +0 -0
  17. thermofluids-2.0.3/docs/build/html/_sources/index.rst.txt +0 -68
  18. thermofluids-2.0.3/docs/build/html/objects.inv +0 -0
  19. thermofluids-2.0.3/docs/build/html/searchindex.js +0 -1
  20. thermofluids-2.0.3/docs/source/index.rst +0 -68
  21. {thermofluids-2.0.3 → thermofluids-2.0.5}/.gitlab-ci.yml +0 -0
  22. {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/.gitignore +0 -0
  23. {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/thermofluids.iml +0 -0
  24. {thermofluids-2.0.3 → thermofluids-2.0.5}/.idea/workspace.xml +0 -0
  25. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/Makefile +0 -0
  26. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/.buildinfo +0 -0
  27. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  28. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/base-stemmer.js +0 -0
  29. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/basic.css +0 -0
  30. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/badge_only.css +0 -0
  31. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  32. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  33. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  34. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  35. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  36. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  37. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  38. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  39. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  40. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  41. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  42. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  43. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  44. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  45. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  46. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  47. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  48. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/css/theme.css +0 -0
  49. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/doctools.js +0 -0
  50. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/documentation_options.js +0 -0
  51. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/english-stemmer.js +0 -0
  52. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/file.png +0 -0
  53. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  54. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  55. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  56. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  57. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  58. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  59. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  60. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  61. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  62. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  63. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  64. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  65. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  66. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  67. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  68. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  69. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  70. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  71. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  72. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  73. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  74. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  75. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  76. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  77. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/jquery.js +0 -0
  78. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/badge_only.js +0 -0
  79. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/theme.js +0 -0
  80. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/js/versions.js +0 -0
  81. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/language_data.js +0 -0
  82. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/minus.png +0 -0
  83. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/plus.png +0 -0
  84. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/pygments.css +0 -0
  85. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/searchtools.js +0 -0
  86. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/_static/sphinx_highlight.js +0 -0
  87. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/genindex.html +0 -0
  88. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/py-modindex.html +0 -0
  89. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/build/html/search.html +0 -0
  90. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/make.bat +0 -0
  91. {thermofluids-2.0.3 → thermofluids-2.0.5}/docs/source/conf.py +0 -0
  92. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/__init__.py +0 -0
  93. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/Quantity.py +0 -0
  94. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/ThermoExceptions.py +0 -0
  95. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/__init__.py +0 -0
  96. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Base/thermofluids_registry.txt +0 -0
  97. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Drag.py +0 -0
  98. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Moody.py +0 -0
  99. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/PressureDrop.py +0 -0
  100. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/Re.py +0 -0
  101. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Fluids/__init__.py +0 -0
  102. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Gr.py +0 -0
  103. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/NTU.py +0 -0
  104. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Nusselt.py +0 -0
  105. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/Ra.py +0 -0
  106. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/TwoPhase.py +0 -0
  107. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/__init__.py +0 -0
  108. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/HeatTransfer/lmtd.py +0 -0
  109. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Column.py +0 -0
  110. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Compressor.py +0 -0
  111. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Ejector.py +0 -0
  112. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/HeatExchanger.py +0 -0
  113. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/IsoCompressor.py +0 -0
  114. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Pipe.py +0 -0
  115. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Pump.py +0 -0
  116. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Turbine.py +0 -0
  117. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/Valve.py +0 -0
  118. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/ProcessEquipment/__init__.py +0 -0
  119. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/BrineProps.py +0 -0
  120. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/VLE_data.py +0 -0
  121. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Properties/__init__.py +0 -0
  122. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Utilities/FlowDiagram.py +0 -0
  123. {thermofluids-2.0.3 → thermofluids-2.0.5}/src/thermofluids/Utilities/__init__.py +0 -0
  124. {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/
@@ -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>Thermofluids &mdash; Thermofluids 2.0 documentation</title>
9
+ <title>Getting Started &mdash; 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="#">Thermofluids</a><ul>
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="#module-thermofluids.Fluids.Drag">Fluids</a><ul>
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="#module-thermofluids.HeatTransfer.lmtd">Heat Transfer</a><ul>
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="#module-thermofluids.Properties">Special Properties</a><ul>
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="#module-thermofluids.ProcessEquipment">Process Equipment</a><ul>
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">Thermofluids</li>
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="thermofluids">
130
- <h1>Thermofluids<a class="headerlink" href="#thermofluids" title="Link to this heading"></a></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">&gt;&gt;&gt;</span> <span class="p">(</span><span class="o">&lt;</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">&gt;</span><span class="p">,</span> <span class="o">&lt;</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">&gt;</span><span class="p">,</span> <span class="o">&lt;</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">&gt;</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">&gt;&gt;&gt;</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">&gt;&gt;&gt;</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">&gt;&gt;&gt;</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">&gt;&gt;&gt;</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="module-thermofluids.Fluids.Drag">
215
- <span id="fluids"></span><h2>Fluids<a class="headerlink" href="#module-thermofluids.Fluids.Drag" title="Link to this heading"></a></h2>
216
- <dl class="py function">
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="module-thermofluids.HeatTransfer.lmtd">
335
- <span id="heat-transfer"></span><h2>Heat Transfer<a class="headerlink" href="#module-thermofluids.HeatTransfer.lmtd" title="Link to this heading"></a></h2>
336
- <dl class="py function">
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="module-thermofluids.Properties">
465
- <span id="special-properties"></span><h2>Special Properties<a class="headerlink" href="#module-thermofluids.Properties" title="Link to this heading"></a></h2>
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-&gt;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="module-thermofluids.ProcessEquipment">
517
- <span id="process-equipment"></span><h2>Process Equipment<a class="headerlink" href="#module-thermofluids.ProcessEquipment" title="Link to this heading"></a></h2>
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">
@@ -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}})