processpi 0.2.1__tar.gz → 0.2.2__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 (572) hide show
  1. {processpi-0.2.1 → processpi-0.2.2}/PKG-INFO +4 -3
  2. {processpi-0.2.1 → processpi-0.2.2}/README.md +3 -2
  3. processpi-0.2.2/processpi/__main__.py +5 -0
  4. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/engine.py +7 -0
  5. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/conduction_heat_loss.py +1 -1
  6. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/convection_heat_loss.py +1 -1
  7. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/crossflow_tube.py +2 -0
  8. processpi-0.2.2/processpi/calculations/heat_transfer/heat_exchanger.py +167 -0
  9. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/hx_kern.py +19 -0
  10. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/distillation_stage_count.py +22 -8
  11. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/catalyst_activity.py +1 -1
  12. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/reaction_rate.py +2 -2
  13. processpi-0.2.2/processpi/cli.py +13 -0
  14. processpi-0.2.2/processpi/components/_112trichloroethane.py +57 -0
  15. processpi-0.2.2/processpi/components/_11dibromoethane.py +57 -0
  16. processpi-0.2.2/processpi/components/_11dichloroethane.py +57 -0
  17. processpi-0.2.2/processpi/components/_11dichloropropane.py +57 -0
  18. processpi-0.2.2/processpi/components/_11difluoroethane.py +95 -0
  19. processpi-0.2.2/processpi/components/_11dimethoxyethane.py +57 -0
  20. processpi-0.2.2/processpi/components/_11dimethylcyclohexane.py +57 -0
  21. processpi-0.2.2/processpi/components/_123trimethylbenzene.py +57 -0
  22. processpi-0.2.2/processpi/components/_124tetrahydronaphthalene.py +57 -0
  23. processpi-0.2.2/processpi/components/_124trimethylbenzene.py +57 -0
  24. processpi-0.2.2/processpi/components/_12butadiene.py +57 -0
  25. processpi-0.2.2/processpi/components/_12butanediol.py +74 -0
  26. processpi-0.2.2/processpi/components/_12dibromoethane.py +57 -0
  27. processpi-0.2.2/processpi/components/_12dichloroethane.py +57 -0
  28. processpi-0.2.2/processpi/components/_12dichloropropane.py +57 -0
  29. processpi-0.2.2/processpi/components/_12difluoroethane.py +57 -0
  30. processpi-0.2.2/processpi/components/_12dimethoxypropane.py +57 -0
  31. processpi-0.2.2/processpi/components/_12propyleneglycol.py +57 -0
  32. processpi-0.2.2/processpi/components/_135trinitrobenzene.py +57 -0
  33. processpi-0.2.2/processpi/components/_13butadiene.py +57 -0
  34. processpi-0.2.2/processpi/components/_13butanediol.py +74 -0
  35. processpi-0.2.2/processpi/components/_14dioxane.py +57 -0
  36. processpi-0.2.2/processpi/components/_1butanol.py +57 -0
  37. processpi-0.2.2/processpi/components/_1butene.py +57 -0
  38. processpi-0.2.2/processpi/components/_1butyne.py +57 -0
  39. processpi-0.2.2/processpi/components/_1chloropropane.py +57 -0
  40. processpi-0.2.2/processpi/components/_1decanol.py +57 -0
  41. processpi-0.2.2/processpi/components/_1decene.py +57 -0
  42. processpi-0.2.2/processpi/components/_1decyne.py +57 -0
  43. processpi-0.2.2/processpi/components/_1heptanol.py +57 -0
  44. processpi-0.2.2/processpi/components/_1heptene.py +57 -0
  45. processpi-0.2.2/processpi/components/_1heptyne.py +57 -0
  46. processpi-0.2.2/processpi/components/_1hexanol.py +57 -0
  47. processpi-0.2.2/processpi/components/_1hexene.py +57 -0
  48. processpi-0.2.2/processpi/components/_1hexyne.py +57 -0
  49. processpi-0.2.2/processpi/components/_1methylcyclohexanol.py +57 -0
  50. processpi-0.2.2/processpi/components/_1methylcyclopentene.py +57 -0
  51. processpi-0.2.2/processpi/components/_1nonanol.py +57 -0
  52. processpi-0.2.2/processpi/components/_1nonene.py +57 -0
  53. processpi-0.2.2/processpi/components/_1nonyne.py +57 -0
  54. processpi-0.2.2/processpi/components/_1octanol.py +57 -0
  55. processpi-0.2.2/processpi/components/_1octene.py +57 -0
  56. processpi-0.2.2/processpi/components/_1octyne.py +57 -0
  57. processpi-0.2.2/processpi/components/_1pentanol.py +57 -0
  58. processpi-0.2.2/processpi/components/_1pentene.py +57 -0
  59. processpi-0.2.2/processpi/components/_1pentyne.py +57 -0
  60. processpi-0.2.2/processpi/components/_1propanol.py +65 -0
  61. processpi-0.2.2/processpi/components/_1undecanol.py +57 -0
  62. processpi-0.2.2/processpi/components/_2233tetramethylbutane.py +57 -0
  63. processpi-0.2.2/processpi/components/_224trimethylpentane.py +57 -0
  64. processpi-0.2.2/processpi/components/_233trimethylpentane.py +57 -0
  65. processpi-0.2.2/processpi/components/_23dimethylbutane.py +57 -0
  66. processpi-0.2.2/processpi/components/_23dimethylpentane.py +57 -0
  67. processpi-0.2.2/processpi/components/_246trinitrotoluene.py +57 -0
  68. processpi-0.2.2/processpi/components/_2butanol.py +57 -0
  69. processpi-0.2.2/processpi/components/_2chloropropane.py +57 -0
  70. processpi-0.2.2/processpi/components/_2ethylbutanoicacid.py +57 -0
  71. processpi-0.2.2/processpi/components/_2ethylhexanoicacid.py +57 -0
  72. processpi-0.2.2/processpi/components/_2heptanol.py +57 -0
  73. processpi-0.2.2/processpi/components/_2heptanone.py +57 -0
  74. processpi-0.2.2/processpi/components/_2hexanol.py +57 -0
  75. processpi-0.2.2/processpi/components/_2hexanone.py +57 -0
  76. processpi-0.2.2/processpi/components/_2hexyne.py +57 -0
  77. processpi-0.2.2/processpi/components/_2methyl1butene.py +57 -0
  78. processpi-0.2.2/processpi/components/_2methyl1butene3yne.py +57 -0
  79. processpi-0.2.2/processpi/components/_2methyl2butene.py +57 -0
  80. processpi-0.2.2/processpi/components/_2methyl2propanol.py +57 -0
  81. processpi-0.2.2/processpi/components/_2methylbutane.py +57 -0
  82. processpi-0.2.2/processpi/components/_2methylbutanoicacid.py +57 -0
  83. processpi-0.2.2/processpi/components/_2methyloctanoicacid.py +57 -0
  84. processpi-0.2.2/processpi/components/_2methylpentane.py +57 -0
  85. processpi-0.2.2/processpi/components/_2methylpropane.py +57 -0
  86. processpi-0.2.2/processpi/components/_2methylpropene.py +57 -0
  87. processpi-0.2.2/processpi/components/_2nonanol.py +57 -0
  88. processpi-0.2.2/processpi/components/_2octanol.py +57 -0
  89. processpi-0.2.2/processpi/components/_2octanone.py +57 -0
  90. processpi-0.2.2/processpi/components/_2pentanol.py +57 -0
  91. processpi-0.2.2/processpi/components/_2pentanone.py +57 -0
  92. processpi-0.2.2/processpi/components/_2pentylmercaptan.py +57 -0
  93. processpi-0.2.2/processpi/components/_2pentyne.py +57 -0
  94. processpi-0.2.2/processpi/components/_2propanol.py +57 -0
  95. processpi-0.2.2/processpi/components/_2propylmercaptan.py +57 -0
  96. processpi-0.2.2/processpi/components/_3heptanone.py +57 -0
  97. processpi-0.2.2/processpi/components/_3hexanone.py +57 -0
  98. processpi-0.2.2/processpi/components/_3hexyne.py +57 -0
  99. processpi-0.2.2/processpi/components/_3methyl12butadiene.py +57 -0
  100. processpi-0.2.2/processpi/components/_3methyl1butanol.py +57 -0
  101. processpi-0.2.2/processpi/components/_3methyl1butyne.py +57 -0
  102. processpi-0.2.2/processpi/components/_3methylcyclopentene.py +57 -0
  103. processpi-0.2.2/processpi/components/_3octanone.py +57 -0
  104. processpi-0.2.2/processpi/components/_3pentanone.py +57 -0
  105. processpi-0.2.2/processpi/components/__init__.py +719 -0
  106. processpi-0.2.2/processpi/components/acetaldehyde.py +60 -0
  107. processpi-0.2.2/processpi/components/acetamide.py +58 -0
  108. processpi-0.2.2/processpi/components/acetic_anhydride.py +58 -0
  109. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/aceticacid.py +6 -0
  110. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/acetone.py +6 -0
  111. processpi-0.2.2/processpi/components/acetonitrile.py +57 -0
  112. processpi-0.2.2/processpi/components/acetylene.py +57 -0
  113. processpi-0.2.2/processpi/components/acrolein.py +57 -0
  114. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/acrylicacid.py +6 -0
  115. processpi-0.2.2/processpi/components/acrylonitrile.py +58 -0
  116. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/air.py +19 -0
  117. processpi-0.2.2/processpi/components/alphamethylstyrene.py +57 -0
  118. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ammonia.py +32 -7
  119. processpi-0.2.2/processpi/components/anisole.py +57 -0
  120. processpi-0.2.2/processpi/components/argon.py +57 -0
  121. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/base.py +118 -3
  122. processpi-0.2.2/processpi/components/benzamide.py +57 -0
  123. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/benzene.py +3 -1
  124. processpi-0.2.2/processpi/components/benzenethiol.py +57 -0
  125. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/benzoicacid.py +7 -1
  126. processpi-0.2.2/processpi/components/benzonitrile.py +57 -0
  127. processpi-0.2.2/processpi/components/benzophenone.py +57 -0
  128. processpi-0.2.2/processpi/components/benzylalcohol.py +57 -0
  129. processpi-0.2.2/processpi/components/benzylethylether.py +57 -0
  130. processpi-0.2.2/processpi/components/benzylmercaptan.py +57 -0
  131. processpi-0.2.2/processpi/components/biphenyl.py +57 -0
  132. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/bromine.py +6 -0
  133. processpi-0.2.2/processpi/components/bromobenzene.py +57 -0
  134. processpi-0.2.2/processpi/components/bromoethane.py +57 -0
  135. processpi-0.2.2/processpi/components/bromomethane.py +57 -0
  136. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/butane.py +6 -0
  137. processpi-0.2.2/processpi/components/butylacetate.py +57 -0
  138. processpi-0.2.2/processpi/components/butylbenzene.py +57 -0
  139. processpi-0.2.2/processpi/components/butylmercaptan.py +57 -0
  140. processpi-0.2.2/processpi/components/butyraldehyde.py +57 -0
  141. processpi-0.2.2/processpi/components/butyricacid.py +57 -0
  142. processpi-0.2.2/processpi/components/butyronitrile.py +57 -0
  143. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/carbondioxide.py +6 -0
  144. processpi-0.2.2/processpi/components/carbondisulfide.py +57 -0
  145. processpi-0.2.2/processpi/components/carbonmonoxide.py +54 -0
  146. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/carbontetrachloride.py +7 -1
  147. processpi-0.2.2/processpi/components/carbontetrafluoride.py +57 -0
  148. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chlorine.py +7 -0
  149. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chlorobenzene.py +7 -1
  150. processpi-0.2.2/processpi/components/chloroethane.py +57 -0
  151. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chloroform.py +7 -1
  152. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chloromethane.py +7 -1
  153. processpi-0.2.2/processpi/components/cis12dimethylcyclohexane.py +57 -0
  154. processpi-0.2.2/processpi/components/cis2butene.py +57 -0
  155. processpi-0.2.2/processpi/components/cis2methylcyclohexanol.py +57 -0
  156. processpi-0.2.2/processpi/components/cumene.py +57 -0
  157. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/cyanogen.py +7 -1
  158. processpi-0.2.2/processpi/components/cyclobutane.py +57 -0
  159. processpi-0.2.2/processpi/components/cyclohexane.py +82 -0
  160. processpi-0.2.2/processpi/components/cyclohexanol.py +57 -0
  161. processpi-0.2.2/processpi/components/cyclohexanone.py +57 -0
  162. processpi-0.2.2/processpi/components/cyclohexene.py +57 -0
  163. processpi-0.2.2/processpi/components/cyclohexylmercaptan.py +57 -0
  164. processpi-0.2.2/processpi/components/cyclopentane.py +57 -0
  165. processpi-0.2.2/processpi/components/cyclopentene.py +57 -0
  166. processpi-0.2.2/processpi/components/cyclopropane.py +57 -0
  167. processpi-0.2.2/processpi/components/decanal.py +57 -0
  168. processpi-0.2.2/processpi/components/decane.py +57 -0
  169. processpi-0.2.2/processpi/components/decanoicacid.py +57 -0
  170. processpi-0.2.2/processpi/components/decylmercaptan.py +57 -0
  171. processpi-0.2.2/processpi/components/deuterium.py +57 -0
  172. processpi-0.2.2/processpi/components/dibromomethane.py +57 -0
  173. processpi-0.2.2/processpi/components/dibutylether.py +57 -0
  174. processpi-0.2.2/processpi/components/dichloromethane.py +57 -0
  175. processpi-0.2.2/processpi/components/diethanolamine.py +57 -0
  176. processpi-0.2.2/processpi/components/diethylamine.py +57 -0
  177. processpi-0.2.2/processpi/components/diethylether.py +57 -0
  178. processpi-0.2.2/processpi/components/diethylsulfide.py +57 -0
  179. processpi-0.2.2/processpi/components/difluoromethane.py +57 -0
  180. processpi-0.2.2/processpi/components/diisopropylamine.py +57 -0
  181. processpi-0.2.2/processpi/components/diisopropylether.py +57 -0
  182. processpi-0.2.2/processpi/components/diisopropylketone.py +57 -0
  183. processpi-0.2.2/processpi/components/dimethylacetylene.py +57 -0
  184. processpi-0.2.2/processpi/components/dimethylamine.py +57 -0
  185. processpi-0.2.2/processpi/components/dimethyldisulfide.py +57 -0
  186. processpi-0.2.2/processpi/components/dimethylether.py +57 -0
  187. processpi-0.2.2/processpi/components/dimethylphthalate.py +57 -0
  188. processpi-0.2.2/processpi/components/dimethylsilane.py +57 -0
  189. processpi-0.2.2/processpi/components/dimethylsulfide.py +57 -0
  190. processpi-0.2.2/processpi/components/dimethylsulfoxide.py +57 -0
  191. processpi-0.2.2/processpi/components/dimethylterephthalate.py +57 -0
  192. processpi-0.2.2/processpi/components/diphenylether.py +57 -0
  193. processpi-0.2.2/processpi/components/dipropylamine.py +57 -0
  194. processpi-0.2.2/processpi/components/dodecane.py +57 -0
  195. processpi-0.2.2/processpi/components/eicosane.py +57 -0
  196. processpi-0.2.2/processpi/components/ethane.py +52 -0
  197. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethanol.py +6 -0
  198. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethylacetate.py +23 -3
  199. processpi-0.2.2/processpi/components/ethylamine.py +57 -0
  200. processpi-0.2.2/processpi/components/ethylbenzene.py +57 -0
  201. processpi-0.2.2/processpi/components/ethylbenzoate.py +57 -0
  202. processpi-0.2.2/processpi/components/ethylbutyrate.py +57 -0
  203. processpi-0.2.2/processpi/components/ethylcyclohexane.py +57 -0
  204. processpi-0.2.2/processpi/components/ethylcyclopentane.py +57 -0
  205. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethylene.py +22 -2
  206. processpi-0.2.2/processpi/components/ethylenediamine.py +57 -0
  207. processpi-0.2.2/processpi/components/ethyleneglycol.py +57 -0
  208. processpi-0.2.2/processpi/components/ethyleneimine.py +57 -0
  209. processpi-0.2.2/processpi/components/ethyleneoxide.py +57 -0
  210. processpi-0.2.2/processpi/components/ethylformate.py +57 -0
  211. processpi-0.2.2/processpi/components/ethylhexylether.py +57 -0
  212. processpi-0.2.2/processpi/components/ethylisopropylether.py +57 -0
  213. processpi-0.2.2/processpi/components/ethylisopropylketone.py +57 -0
  214. processpi-0.2.2/processpi/components/ethylmercaptan.py +57 -0
  215. processpi-0.2.2/processpi/components/ethylpropionate.py +57 -0
  216. processpi-0.2.2/processpi/components/ethylpropylether.py +57 -0
  217. processpi-0.2.2/processpi/components/ethyltrichlorosilane.py +57 -0
  218. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/fluorine.py +6 -0
  219. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/fluorobenzene.py +6 -0
  220. processpi-0.2.2/processpi/components/fluoroethane.py +57 -0
  221. processpi-0.2.2/processpi/components/fluoromethane.py +57 -0
  222. processpi-0.2.2/processpi/components/formaldehyde.py +57 -0
  223. processpi-0.2.2/processpi/components/formamide.py +57 -0
  224. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/formicacid.py +6 -0
  225. processpi-0.2.2/processpi/components/furan.py +57 -0
  226. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/gas.py +8 -0
  227. processpi-0.2.2/processpi/components/helium.py +101 -0
  228. processpi-0.2.2/processpi/components/heptadecane.py +57 -0
  229. processpi-0.2.2/processpi/components/heptanal.py +57 -0
  230. processpi-0.2.2/processpi/components/heptane.py +96 -0
  231. processpi-0.2.2/processpi/components/heptanoicacid.py +57 -0
  232. processpi-0.2.2/processpi/components/heptylmercaptan.py +57 -0
  233. processpi-0.2.2/processpi/components/hexadecane.py +57 -0
  234. processpi-0.2.2/processpi/components/hexanal.py +57 -0
  235. processpi-0.2.2/processpi/components/hexane.py +57 -0
  236. processpi-0.2.2/processpi/components/hexanoicacid.py +57 -0
  237. processpi-0.2.2/processpi/components/hexylmercaptan.py +57 -0
  238. processpi-0.2.2/processpi/components/hydrazine.py +57 -0
  239. processpi-0.2.2/processpi/components/hydrogen.py +95 -0
  240. processpi-0.2.2/processpi/components/hydrogenbromide.py +57 -0
  241. processpi-0.2.2/processpi/components/hydrogenchloride.py +84 -0
  242. processpi-0.2.2/processpi/components/hydrogencyanide.py +83 -0
  243. processpi-0.2.2/processpi/components/hydrogenfluoride.py +57 -0
  244. processpi-0.2.2/processpi/components/hydrogensulfide.py +102 -0
  245. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/inorganic_liquid.py +6 -0
  246. processpi-0.2.2/processpi/components/isobutyricacid.py +57 -0
  247. processpi-0.2.2/processpi/components/isopropylamine.py +57 -0
  248. processpi-0.2.2/processpi/components/malonicacid.py +57 -0
  249. processpi-0.2.2/processpi/components/mcresol.py +57 -0
  250. processpi-0.2.2/processpi/components/mdichlorobenzene.py +57 -0
  251. processpi-0.2.2/processpi/components/methacrylicacid.py +57 -0
  252. processpi-0.2.2/processpi/components/methane.py +101 -0
  253. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/methanol.py +6 -0
  254. processpi-0.2.2/processpi/components/methylacetate.py +57 -0
  255. processpi-0.2.2/processpi/components/methylacetylene.py +57 -0
  256. processpi-0.2.2/processpi/components/methylacrylate.py +57 -0
  257. processpi-0.2.2/processpi/components/methylamine.py +57 -0
  258. processpi-0.2.2/processpi/components/methylbenzoate.py +57 -0
  259. processpi-0.2.2/processpi/components/methylbutylether.py +57 -0
  260. processpi-0.2.2/processpi/components/methylbutylsulfide.py +57 -0
  261. processpi-0.2.2/processpi/components/methylbutyrate.py +57 -0
  262. processpi-0.2.2/processpi/components/methylchlorosilane.py +57 -0
  263. processpi-0.2.2/processpi/components/methylcyclohexane.py +57 -0
  264. processpi-0.2.2/processpi/components/methylcyclopentane.py +57 -0
  265. processpi-0.2.2/processpi/components/methyldichlorosilane.py +57 -0
  266. processpi-0.2.2/processpi/components/methylethylether.py +57 -0
  267. processpi-0.2.2/processpi/components/methylethylketone.py +57 -0
  268. processpi-0.2.2/processpi/components/methylethylsulfide.py +57 -0
  269. processpi-0.2.2/processpi/components/methylformate.py +57 -0
  270. processpi-0.2.2/processpi/components/methylisobutylether.py +57 -0
  271. processpi-0.2.2/processpi/components/methylisobutylketone.py +57 -0
  272. processpi-0.2.2/processpi/components/methylisocyanate.py +57 -0
  273. processpi-0.2.2/processpi/components/methylisopropylether.py +57 -0
  274. processpi-0.2.2/processpi/components/methylisopropylketone.py +57 -0
  275. processpi-0.2.2/processpi/components/methylisopropylsulfide.py +57 -0
  276. processpi-0.2.2/processpi/components/methylmercaptan.py +57 -0
  277. processpi-0.2.2/processpi/components/methylmethacrylate.py +57 -0
  278. processpi-0.2.2/processpi/components/methylpentylether.py +57 -0
  279. processpi-0.2.2/processpi/components/methylpropionate.py +57 -0
  280. processpi-0.2.2/processpi/components/methylpropylether.py +57 -0
  281. processpi-0.2.2/processpi/components/methylpropylsulfide.py +57 -0
  282. processpi-0.2.2/processpi/components/methylsilane.py +57 -0
  283. processpi-0.2.2/processpi/components/methyltertbutylether.py +57 -0
  284. processpi-0.2.2/processpi/components/methylvinylether.py +57 -0
  285. processpi-0.2.2/processpi/components/mxylene.py +57 -0
  286. processpi-0.2.2/processpi/components/naphthalene.py +57 -0
  287. processpi-0.2.2/processpi/components/neon.py +99 -0
  288. processpi-0.2.2/processpi/components/nitricoxide.py +104 -0
  289. processpi-0.2.2/processpi/components/nitroethane.py +57 -0
  290. processpi-0.2.2/processpi/components/nitrogen.py +84 -0
  291. processpi-0.2.2/processpi/components/nitrogentrifluoride.py +57 -0
  292. processpi-0.2.2/processpi/components/nitromethane.py +57 -0
  293. processpi-0.2.2/processpi/components/nitrousoxide.py +86 -0
  294. processpi-0.2.2/processpi/components/nmethylacetamide.py +57 -0
  295. processpi-0.2.2/processpi/components/nndimethylformamide.py +57 -0
  296. processpi-0.2.2/processpi/components/nonadecane.py +57 -0
  297. processpi-0.2.2/processpi/components/nonanal.py +57 -0
  298. processpi-0.2.2/processpi/components/nonane.py +57 -0
  299. processpi-0.2.2/processpi/components/nonanoicacid.py +57 -0
  300. processpi-0.2.2/processpi/components/nonylmercaptan.py +57 -0
  301. processpi-0.2.2/processpi/components/ocresol.py +57 -0
  302. processpi-0.2.2/processpi/components/octadecane.py +57 -0
  303. processpi-0.2.2/processpi/components/octanal.py +57 -0
  304. processpi-0.2.2/processpi/components/octane.py +57 -0
  305. processpi-0.2.2/processpi/components/octanoicacid.py +57 -0
  306. processpi-0.2.2/processpi/components/octylmercaptan.py +57 -0
  307. processpi-0.2.2/processpi/components/odichlorobenzene.py +57 -0
  308. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/oil.py +3 -1
  309. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/organic_liquid.py +3 -1
  310. processpi-0.2.2/processpi/components/oterphenyl.py +57 -0
  311. processpi-0.2.2/processpi/components/oxalicacid.py +57 -0
  312. processpi-0.2.2/processpi/components/oxygen.py +86 -0
  313. processpi-0.2.2/processpi/components/oxylene.py +57 -0
  314. processpi-0.2.2/processpi/components/ozone.py +86 -0
  315. processpi-0.2.2/processpi/components/pcresol.py +57 -0
  316. processpi-0.2.2/processpi/components/pdichlorobenzene.py +57 -0
  317. processpi-0.2.2/processpi/components/pentadecane.py +57 -0
  318. processpi-0.2.2/processpi/components/pentanal.py +57 -0
  319. processpi-0.2.2/processpi/components/pentane.py +57 -0
  320. processpi-0.2.2/processpi/components/pentanoicacid.py +57 -0
  321. processpi-0.2.2/processpi/components/pentylmercaptan.py +57 -0
  322. processpi-0.2.2/processpi/components/phenanthrene.py +57 -0
  323. processpi-0.2.2/processpi/components/phenol.py +84 -0
  324. processpi-0.2.2/processpi/components/phenylisocyanate.py +57 -0
  325. processpi-0.2.2/processpi/components/phthalicanhydride.py +57 -0
  326. processpi-0.2.2/processpi/components/propadiene.py +57 -0
  327. processpi-0.2.2/processpi/components/propane.py +101 -0
  328. processpi-0.2.2/processpi/components/propenylcyclohexene.py +57 -0
  329. processpi-0.2.2/processpi/components/propionaldehyde.py +57 -0
  330. processpi-0.2.2/processpi/components/propionicacid.py +81 -0
  331. processpi-0.2.2/processpi/components/propionitrile.py +57 -0
  332. processpi-0.2.2/processpi/components/propylacetate.py +57 -0
  333. processpi-0.2.2/processpi/components/propylamine.py +57 -0
  334. processpi-0.2.2/processpi/components/propylbenzene.py +57 -0
  335. processpi-0.2.2/processpi/components/propylene.py +57 -0
  336. processpi-0.2.2/processpi/components/propylformate.py +57 -0
  337. processpi-0.2.2/processpi/components/propylmercaptan.py +57 -0
  338. processpi-0.2.2/processpi/components/pxylene.py +57 -0
  339. processpi-0.2.2/processpi/components/quinone.py +57 -0
  340. processpi-0.2.2/processpi/components/sebutylmercaptan.py +57 -0
  341. processpi-0.2.2/processpi/components/silicontetrafluoride.py +57 -0
  342. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/steam.py +25 -4
  343. processpi-0.2.2/processpi/components/styrene.py +81 -0
  344. processpi-0.2.2/processpi/components/succinicacid.py +57 -0
  345. processpi-0.2.2/processpi/components/sulfurdioxide.py +84 -0
  346. processpi-0.2.2/processpi/components/sulfurhexafluoride.py +57 -0
  347. processpi-0.2.2/processpi/components/sulfurtrioxide.py +57 -0
  348. processpi-0.2.2/processpi/components/terephthalicacid.py +57 -0
  349. processpi-0.2.2/processpi/components/tetradecane.py +57 -0
  350. processpi-0.2.2/processpi/components/tetrahydrofuran.py +57 -0
  351. processpi-0.2.2/processpi/components/tetrahydrothiophene.py +57 -0
  352. processpi-0.2.2/processpi/components/thiophene.py +57 -0
  353. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/toluene.py +3 -1
  354. processpi-0.2.2/processpi/components/trans12dimethylcyclohexane.py +57 -0
  355. processpi-0.2.2/processpi/components/trans2butene.py +57 -0
  356. processpi-0.2.2/processpi/components/trans2methylcyclohexanol.py +57 -0
  357. processpi-0.2.2/processpi/components/tridecane.py +57 -0
  358. processpi-0.2.2/processpi/components/triethylamine.py +57 -0
  359. processpi-0.2.2/processpi/components/trimethylamine.py +57 -0
  360. processpi-0.2.2/processpi/components/undecane.py +57 -0
  361. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/vapor.py +8 -0
  362. processpi-0.2.2/processpi/components/vinylacetate.py +57 -0
  363. processpi-0.2.2/processpi/components/vinylacetylene.py +57 -0
  364. processpi-0.2.2/processpi/components/vinylchloride.py +57 -0
  365. processpi-0.2.2/processpi/components/vinyltrichlorosilane.py +57 -0
  366. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/water.py +3 -1
  367. processpi-0.2.2/processpi/equipment/__init__.py +23 -0
  368. processpi-0.2.2/processpi/equipment/distillation/__init__.py +6 -0
  369. processpi-0.2.2/processpi/equipment/distillation/column.py +643 -0
  370. processpi-0.2.2/processpi/equipment/distillation/engine.py +105 -0
  371. processpi-0.2.2/processpi/equipment/distillation/hydraulics.py +97 -0
  372. processpi-0.2.2/processpi/equipment/distillation/mccabe_thiele.py +101 -0
  373. processpi-0.2.2/processpi/equipment/distillation/results.py +110 -0
  374. processpi-0.2.2/processpi/equipment/distillation/shortcut.py +212 -0
  375. processpi-0.2.2/processpi/equipment/distillation/vle.py +289 -0
  376. processpi-0.2.2/processpi/equipment/heatexchangers/base.py +1305 -0
  377. processpi-0.2.2/processpi/equipment/heatexchangers/bell_delaware.py +31 -0
  378. processpi-0.2.2/processpi/equipment/heatexchangers/condenser.py +383 -0
  379. processpi-0.2.2/processpi/equipment/heatexchangers/datasheet.py +385 -0
  380. {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/double_pipe.py +83 -67
  381. processpi-0.2.2/processpi/equipment/heatexchangers/engine.py +759 -0
  382. processpi-0.2.2/processpi/equipment/heatexchangers/evaporator.py +1080 -0
  383. {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/reboiler.py +20 -11
  384. processpi-0.2.2/processpi/equipment/heatexchangers/shell_and_tube.py +3618 -0
  385. {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/standards.py +758 -37
  386. processpi-0.2.2/processpi/equipment/pressure_vessel.py +2425 -0
  387. processpi-0.2.2/processpi/pipelines/engine.py +2555 -0
  388. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/fittings.py +12 -4
  389. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/network.py +57 -10
  390. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/pipelineresults.py +114 -17
  391. processpi-0.2.2/processpi/pipelines/pipes.py +325 -0
  392. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/piping_costs.py +1 -1
  393. processpi-0.2.2/processpi/pipelines/standards.py +685 -0
  394. {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/material.py +20 -1
  395. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/area.py +3 -3
  396. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/base.py +9 -3
  397. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/density.py +1 -1
  398. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/diameter.py +4 -4
  399. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/dimensionless.py +3 -3
  400. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_flow.py +3 -3
  401. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_flux.py +3 -3
  402. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_of_vaporization.py +1 -1
  403. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_transfer_coefficient.py +3 -3
  404. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/length.py +1 -1
  405. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/mass.py +3 -3
  406. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/mass_flowrate.py +3 -3
  407. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/molar_flowrate.py +3 -3
  408. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/power.py +1 -1
  409. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/pressure.py +19 -8
  410. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/specific_heat.py +10 -10
  411. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/strings.py +4 -0
  412. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/thermal_conductivity.py +3 -3
  413. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/thermal_resistance.py +3 -3
  414. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/velocity.py +2 -2
  415. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/viscosity.py +2 -2
  416. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/volume.py +3 -3
  417. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/volumetric_flowrate.py +3 -3
  418. {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/PKG-INFO +4 -3
  419. processpi-0.2.2/processpi.egg-info/SOURCES.txt +549 -0
  420. processpi-0.2.2/processpi.egg-info/entry_points.txt +2 -0
  421. {processpi-0.2.1 → processpi-0.2.2}/pyproject.toml +34 -38
  422. {processpi-0.2.1 → processpi-0.2.2}/setup.py +8 -8
  423. processpi-0.2.2/tests/test_bell_delaware_hx.py +112 -0
  424. processpi-0.2.2/tests/test_bell_delaware_taborek.py +256 -0
  425. processpi-0.2.2/tests/test_component_data_followups.py +365 -0
  426. processpi-0.2.2/tests/test_component_example_fixes.py +200 -0
  427. processpi-0.2.2/tests/test_component_hx_data.py +118 -0
  428. processpi-0.2.2/tests/test_component_vp_formulas.py +99 -0
  429. processpi-0.2.2/tests/test_components_exports.py +76 -0
  430. processpi-0.2.2/tests/test_crash_regressions.py +119 -0
  431. processpi-0.2.2/tests/test_distillation_column.py +387 -0
  432. processpi-0.2.2/tests/test_distillation_engine.py +86 -0
  433. processpi-0.2.2/tests/test_distillation_shortcut.py +214 -0
  434. processpi-0.2.2/tests/test_distillation_stage_count.py +44 -0
  435. processpi-0.2.2/tests/test_engine_network.py +93 -0
  436. processpi-0.2.2/tests/test_heatexchanger_engine_dispatch.py +129 -0
  437. processpi-0.2.2/tests/test_heatexchanger_flowsheet.py +243 -0
  438. processpi-0.2.2/tests/test_heatexchanger_fluid_assignment.py +446 -0
  439. processpi-0.2.2/tests/test_heatexchanger_tabular_result.py +63 -0
  440. processpi-0.2.2/tests/test_heatexchanger_type_selection.py +140 -0
  441. processpi-0.2.2/tests/test_hx_calculation_aliases.py +277 -0
  442. processpi-0.2.2/tests/test_hx_correlations.py +469 -0
  443. processpi-0.2.2/tests/test_hx_datasheet.py +33 -0
  444. processpi-0.2.2/tests/test_hx_design_phase_change_service.py +306 -0
  445. processpi-0.2.2/tests/test_hx_diagnostics.py +378 -0
  446. processpi-0.2.2/tests/test_hx_ft_correction_factor.py +212 -0
  447. processpi-0.2.2/tests/test_hx_hydraulic_verdict.py +220 -0
  448. processpi-0.2.2/tests/test_hx_rating_phase_change.py +266 -0
  449. processpi-0.2.2/tests/test_hx_shell_side_geometry.py +274 -0
  450. processpi-0.2.2/tests/test_hx_small_fixes.py +159 -0
  451. processpi-0.2.2/tests/test_hx_summary.py +244 -0
  452. processpi-0.2.2/tests/test_hx_tube_selector.py +145 -0
  453. processpi-0.2.2/tests/test_hx_u_basis.py +409 -0
  454. processpi-0.2.2/tests/test_hx_viscosity_temperature.py +80 -0
  455. processpi-0.2.2/tests/test_hx_warnings.py +185 -0
  456. processpi-0.2.2/tests/test_import_hygiene.py +60 -0
  457. processpi-0.2.2/tests/test_missing_compounds.py +333 -0
  458. processpi-0.2.2/tests/test_network.py +89 -0
  459. processpi-0.2.2/tests/test_phase_above_critical.py +52 -0
  460. processpi-0.2.2/tests/test_pipe_schedule_table.py +123 -0
  461. processpi-0.2.2/tests/test_pipeline_api_fixes.py +115 -0
  462. processpi-0.2.2/tests/test_pipeline_diameters.py +337 -0
  463. processpi-0.2.2/tests/test_pipeline_engine_cleanup.py +108 -0
  464. processpi-0.2.2/tests/test_pipeline_fitting_losses.py +274 -0
  465. processpi-0.2.2/tests/test_pipeline_graph_network.py +849 -0
  466. {processpi-0.2.1 → processpi-0.2.2}/tests/test_pipeline_network.py +13 -13
  467. processpi-0.2.2/tests/test_pipeline_network_sizing.py +365 -0
  468. processpi-0.2.2/tests/test_pipeline_network_solver.py +176 -0
  469. processpi-0.2.2/tests/test_pipeline_sizing.py +116 -0
  470. processpi-0.2.2/tests/test_pressure_vessel.py +66 -0
  471. processpi-0.2.2/tests/test_pressure_vessel_asme_formulas.py +229 -0
  472. processpi-0.2.2/tests/test_pressure_vessel_engine.py +196 -0
  473. processpi-0.2.2/tests/test_shell_tube_kern_bell_workflow.py +89 -0
  474. processpi-0.2.2/tests/test_stream_state_properties.py +186 -0
  475. processpi-0.2.2/tests/test_unit_system.py +235 -0
  476. processpi-0.2.2/tests/test_vapor_placeholder.py +127 -0
  477. processpi-0.2.2/tests/test_variables.py +110 -0
  478. processpi-0.2.1/processpi/calculations/heat_transfer/heat_exchanger.py +0 -103
  479. processpi-0.2.1/processpi/components/__init__.py +0 -40
  480. processpi-0.2.1/processpi/components/carbonmonoxide.py +0 -28
  481. processpi-0.2.1/processpi/components/cyclohexene.py +0 -17
  482. processpi-0.2.1/processpi/components/ethane.py +0 -27
  483. processpi-0.2.1/processpi/equipment/__init__.py +0 -15
  484. processpi-0.2.1/processpi/equipment/heatexchangers/base.py +0 -214
  485. processpi-0.2.1/processpi/equipment/heatexchangers/bell_delaware.py +0 -10
  486. processpi-0.2.1/processpi/equipment/heatexchangers/condenser.py +0 -138
  487. processpi-0.2.1/processpi/equipment/heatexchangers/engine.py +0 -376
  488. processpi-0.2.1/processpi/equipment/heatexchangers/evaporator.py +0 -149
  489. processpi-0.2.1/processpi/equipment/heatexchangers/shell_and_tube.py +0 -2633
  490. processpi-0.2.1/processpi/pipelines/engine.py +0 -1736
  491. processpi-0.2.1/processpi/pipelines/pipes.py +0 -162
  492. processpi-0.2.1/processpi/pipelines/standards.py +0 -715
  493. processpi-0.2.1/processpi.egg-info/SOURCES.txt +0 -170
  494. processpi-0.2.1/tests/test_engine_network.py +0 -111
  495. processpi-0.2.1/tests/test_heatexchanger_mechanical_dispatch.py +0 -51
  496. processpi-0.2.1/tests/test_network.py +0 -79
  497. processpi-0.2.1/tests/test_shell_tube_kern_bell_workflow.py +0 -62
  498. processpi-0.2.1/tests/test_variables.py +0 -93
  499. {processpi-0.2.1 → processpi-0.2.2}/LICENSE +0 -0
  500. {processpi-0.2.1 → processpi-0.2.2}/processpi/__init__.py +0 -0
  501. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/__init__.py +0 -0
  502. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/base.py +0 -0
  503. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/__init__.py +0 -0
  504. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/flow_type.py +0 -0
  505. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/friction_factor_colebrookwhite.py +0 -0
  506. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/optimium_pipe_dia.py +0 -0
  507. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_darcy.py +0 -0
  508. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_fanning.py +0 -0
  509. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_hazen_williams.py +0 -0
  510. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pump_power.py +0 -0
  511. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/reynolds_number.py +0 -0
  512. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/velocity.py +0 -0
  513. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/__init__.py +0 -0
  514. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/biot.py +0 -0
  515. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/boiling_chen.py +0 -0
  516. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/combined_modes.py +0 -0
  517. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation.py +0 -0
  518. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation_dropwise.py +0 -0
  519. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation_nusselt.py +0 -0
  520. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/fourier.py +0 -0
  521. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/fourierlaw.py +0 -0
  522. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/grashof.py +0 -0
  523. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/heat_exchanger_area.py +0 -0
  524. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/lmtd.py +0 -0
  525. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/newton_cooling.py +0 -0
  526. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/ntu.py +0 -0
  527. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/nusselt.py +0 -0
  528. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/overall_u.py +0 -0
  529. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/peclet.py +0 -0
  530. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/prandtl.py +0 -0
  531. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radial_cylinder.py +0 -0
  532. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_blackbody.py +0 -0
  533. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_exchange.py +0 -0
  534. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_greybody.py +0 -0
  535. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_viewfactor.py +0 -0
  536. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/resistance.py +0 -0
  537. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/reyleigh.py +0 -0
  538. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/rohsenow_boiling.py +0 -0
  539. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/stefan_boltzmann.py +0 -0
  540. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/__init__.py +0 -0
  541. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/drying_rate.py +0 -0
  542. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/__init__.py +0 -0
  543. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/residence_time.py +0 -0
  544. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/__init__.py +0 -0
  545. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/enthalpy_change.py +0 -0
  546. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/entropy_change.py +0 -0
  547. {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/heat_of_vaporization.py +0 -0
  548. {processpi-0.2.1 → processpi-0.2.2}/processpi/components/constants.py +0 -0
  549. {processpi-0.2.1 → processpi-0.2.2}/processpi/constants.py +0 -0
  550. {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/base.py +0 -0
  551. {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/__init__.py +0 -0
  552. {processpi-0.2.1 → processpi-0.2.2}/processpi/integration/__init__.py +0 -0
  553. {processpi-0.2.1 → processpi-0.2.2}/processpi/integration/flowsheet.py +0 -0
  554. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/__init__.py +0 -0
  555. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/base.py +0 -0
  556. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/design_rules.py +0 -0
  557. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/equipment.py +0 -0
  558. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/insulation.py +0 -0
  559. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/materials.py +0 -0
  560. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/nozzle.py +0 -0
  561. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/pumps.py +0 -0
  562. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/selection.py +0 -0
  563. {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/vessel.py +0 -0
  564. {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/__init__.py +0 -0
  565. {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/energy.py +0 -0
  566. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/__init__.py +0 -0
  567. {processpi-0.2.1 → processpi-0.2.2}/processpi/units/temperature.py +0 -0
  568. {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/dependency_links.txt +0 -0
  569. {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/requires.txt +0 -0
  570. {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/top_level.txt +0 -0
  571. {processpi-0.2.1 → processpi-0.2.2}/setup.cfg +0 -0
  572. {processpi-0.2.1 → processpi-0.2.2}/tests/test_integration_flowsheet_ports.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: processpi
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Python toolkit for chemical engineering simulations, equipment design, and unit conversions
5
5
  Home-page: https://processpi.org
6
6
  Author: Raviteja Varma Nadimpalli
@@ -182,8 +182,8 @@ from processpi.components import Water, Ethanol
182
182
  water = Water()
183
183
  ethanol = Ethanol()
184
184
 
185
- print(f"Water density: {water.density()} kg/m3")
186
- print(f"Ethanol viscosity: {ethanol.viscosity()} Pa·s")
185
+ print(f"Water density: {water.density()}")
186
+ print(f"Ethanol viscosity: {ethanol.viscosity()}")
187
187
  ```
188
188
 
189
189
  ⚠ **Note**: Component data is for educational/demo purposes only. Extended property support is in progress.
@@ -200,6 +200,7 @@ from processpi.units import VolumetricFlowRate, Diameter, Length
200
200
 
201
201
  # Define pipe and fluid
202
202
  pipe = Pipe(
203
+ name="Main Pipe",
203
204
  internal_diameter=Diameter(50, "mm"),
204
205
  length=Length(10, "m")
205
206
  )
@@ -135,8 +135,8 @@ from processpi.components import Water, Ethanol
135
135
  water = Water()
136
136
  ethanol = Ethanol()
137
137
 
138
- print(f"Water density: {water.density()} kg/m3")
139
- print(f"Ethanol viscosity: {ethanol.viscosity()} Pa·s")
138
+ print(f"Water density: {water.density()}")
139
+ print(f"Ethanol viscosity: {ethanol.viscosity()}")
140
140
  ```
141
141
 
142
142
  ⚠ **Note**: Component data is for educational/demo purposes only. Extended property support is in progress.
@@ -153,6 +153,7 @@ from processpi.units import VolumetricFlowRate, Diameter, Length
153
153
 
154
154
  # Define pipe and fluid
155
155
  pipe = Pipe(
156
+ name="Main Pipe",
156
157
  internal_diameter=Diameter(50, "mm"),
157
158
  length=Length(10, "m")
158
159
  )
@@ -0,0 +1,5 @@
1
+ from .cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ main()
@@ -12,10 +12,12 @@ from processpi.units import * # Import all unit classes
12
12
  # Import all calculation classes for the registry. This makes them available to the engine.
13
13
  from processpi.calculations.fluids.velocity import FluidVelocity
14
14
  from processpi.calculations.fluids.reynolds_number import ReynoldsNumber
15
+ from processpi.calculations.fluids.flow_type import TypeOfFlow
15
16
  from processpi.calculations.fluids.friction_factor_colebrookwhite import ColebrookWhite
16
17
  from processpi.calculations.fluids.pressure_drop_darcy import PressureDropDarcy
17
18
  from processpi.calculations.fluids.pressure_drop_fanning import PressureDropFanning
18
19
  from processpi.calculations.fluids.pressure_drop_hazen_williams import PressureDropHazenWilliams
20
+ from processpi.equipment.pressure_vessel import PressureVessel
19
21
  # Add more imports here as you implement new calculations
20
22
  # from processpi.calculations.fluids.pressure_drop import PressureDrop
21
23
  # from processpi.calculations.heat_transfer import HeatTransfer
@@ -59,6 +61,9 @@ class CalculationEngine:
59
61
  "reynolds_number": ReynoldsNumber,
60
62
  "re": ReynoldsNumber,
61
63
  "reynoldsnumber": ReynoldsNumber,
64
+ "type_of_flow": TypeOfFlow,
65
+ "flow_type": TypeOfFlow,
66
+ "flow_regime": TypeOfFlow,
62
67
  "colebrook_white": ColebrookWhite,
63
68
  "friction_factor_colebrookwhite": ColebrookWhite,
64
69
  "friction_factor": ColebrookWhite,
@@ -68,6 +73,8 @@ class CalculationEngine:
68
73
  "pressure_drop": PressureDropDarcy,
69
74
  "pressure_drop_fanning": PressureDropFanning,
70
75
  "pressure_drop_hazen_williams": PressureDropHazenWilliams,
76
+ "pressure_vessel": PressureVessel,
77
+ "vessel_design": PressureVessel,
71
78
 
72
79
  # Add more mappings as new calculations are added
73
80
  # "pressure_drop": PressureDrop,
@@ -23,4 +23,4 @@ class ConductionHeatLoss(CalculationBase):
23
23
  L = self._get_value(self.inputs["thickness"], "thickness") # m
24
24
 
25
25
  Q = k * A * ΔT / L
26
- return HeatFlux(Q, "W")
26
+ return HeatFlow(Q, "W")
@@ -20,4 +20,4 @@ class ConvectionHeatLoss(CalculationBase):
20
20
  ΔT = self._get_value(self.inputs["temp_difference"], "temp_difference") # K
21
21
 
22
22
  Q = h * A * ΔT
23
- return HeatFlux(Q, "W")
23
+ return HeatFlow(Q, "W")
@@ -1,3 +1,5 @@
1
+ import math
2
+
1
3
  from ..base import CalculationBase
2
4
  from ...units import *
3
5
 
@@ -0,0 +1,167 @@
1
+ """Deprecated names for the heat exchanger calculations in ``hx_kern``.
2
+
3
+ These six classes used to be a second copy of calculations that ``hx_kern``
4
+ also implements, under other names and keywords. Only the ``hx_kern`` set is
5
+ used by the exchangers, so it is now the single implementation. Each class
6
+ here keeps its old keywords, its old error messages, its ``inputs`` and its
7
+ return type, maps the keywords onto the ``hx_kern`` class and warns with a
8
+ ``DeprecationWarning``. The formulas were identical, so the numbers are too.
9
+
10
+ ======================== ================== ==================================
11
+ old name use instead keywords renamed
12
+ ======================== ================== ==================================
13
+ SensibleHeatDuty SensibleDuty mass_flow_rate -> m_dot,
14
+ specific_heat -> cp
15
+ LatentHeatDuty LatentDuty mass_flow_rate -> m_dot
16
+ KernNusselt DittusBoelter none (0.023 Re^0.8 Pr^n is the
17
+ Dittus-Boelter form, not Kern's
18
+ shell-side ``KernShellNu``)
19
+ ConvectiveCoefficient ConvectiveH thermal_conductivity -> k,
20
+ characteristic_diameter ->
21
+ diameter
22
+ DarcyPressureDrop DarcyDrop friction_factor -> f
23
+ ReynoldsFromProperties Reynolds none
24
+ ======================== ================== ==================================
25
+ """
26
+
27
+ from __future__ import annotations
28
+
29
+ import warnings
30
+ from typing import Dict, Tuple, Type
31
+
32
+ from ..base import CalculationBase
33
+ from .hx_kern import (
34
+ ConvectiveH,
35
+ DarcyDrop,
36
+ DittusBoelter,
37
+ LatentDuty,
38
+ Reynolds,
39
+ SensibleDuty,
40
+ )
41
+
42
+
43
+ class _DeprecatedHXCalculation(CalculationBase):
44
+ """Old keyword interface over one ``hx_kern`` calculation.
45
+
46
+ ``_keyword_map`` lists the required old keywords, in the order the old
47
+ class checked them, with the ``hx_kern`` keyword each one becomes.
48
+ ``_optional`` lists keywords passed through unchanged when given.
49
+ """
50
+
51
+ _canonical: Type[CalculationBase]
52
+ _keyword_map: Tuple[Tuple[str, str], ...]
53
+ _optional: Tuple[str, ...] = ()
54
+
55
+ def __init__(self, **kwargs):
56
+ warnings.warn(
57
+ f"{type(self).__name__} is deprecated; use "
58
+ f"processpi.calculations.heat_transfer.{self._canonical.__name__} "
59
+ f"({self._rename_note()}).",
60
+ DeprecationWarning,
61
+ stacklevel=2,
62
+ )
63
+ super().__init__(**kwargs)
64
+
65
+ @classmethod
66
+ def _rename_note(cls) -> str:
67
+ renamed = [f"{old} -> {new}" for old, new in cls._keyword_map if old != new]
68
+ return "keywords " + ", ".join(renamed) if renamed else "same keywords"
69
+
70
+ def validate_inputs(self):
71
+ for old, _new in self._keyword_map:
72
+ if old not in self.inputs:
73
+ raise ValueError(f"Missing required input: {old}")
74
+
75
+ def _canonical_inputs(self) -> Dict[str, object]:
76
+ mapped = {}
77
+ for old, new in self._keyword_map:
78
+ # Same check and message as the old class, under the old name.
79
+ self._get_value(self.inputs[old], old)
80
+ mapped[new] = self.inputs[old]
81
+ for key in self._optional:
82
+ if key in self.inputs:
83
+ mapped[key] = self.inputs[key]
84
+ return mapped
85
+
86
+ def calculate(self):
87
+ return self._canonical(**self._canonical_inputs()).calculate()
88
+
89
+
90
+ class SensibleHeatDuty(_DeprecatedHXCalculation):
91
+ """Q = m * Cp * (Tin - Tout). Deprecated: use ``SensibleDuty``."""
92
+
93
+ _canonical = SensibleDuty
94
+ _keyword_map = (
95
+ ("mass_flow_rate", "m_dot"),
96
+ ("specific_heat", "cp"),
97
+ ("t_in", "t_in"),
98
+ ("t_out", "t_out"),
99
+ )
100
+
101
+
102
+ class LatentHeatDuty(_DeprecatedHXCalculation):
103
+ """Q = m * lambda. Deprecated: use ``LatentDuty``."""
104
+
105
+ _canonical = LatentDuty
106
+ _keyword_map = (
107
+ ("mass_flow_rate", "m_dot"),
108
+ ("latent_heat", "latent_heat"),
109
+ )
110
+
111
+
112
+ class KernNusselt(_DeprecatedHXCalculation):
113
+ """Nu = 0.023 * Re^0.8 * Pr^n. Deprecated: use ``DittusBoelter``.
114
+
115
+ Despite the name this is the Dittus-Boelter tube-side correlation, the
116
+ same formula and default n = 0.4 as ``DittusBoelter``. Kern's shell-side
117
+ correlation is ``KernShellNu``.
118
+ """
119
+
120
+ _canonical = DittusBoelter
121
+ _keyword_map = (
122
+ ("reynolds", "reynolds"),
123
+ ("prandtl", "prandtl"),
124
+ )
125
+ _optional = ("n",)
126
+
127
+
128
+ class ConvectiveCoefficient(_DeprecatedHXCalculation):
129
+ """h = Nu * k / D. Deprecated: use ``ConvectiveH``."""
130
+
131
+ _canonical = ConvectiveH
132
+ _keyword_map = (
133
+ ("nusselt", "nusselt"),
134
+ ("thermal_conductivity", "k"),
135
+ ("characteristic_diameter", "diameter"),
136
+ )
137
+
138
+
139
+ class DarcyPressureDrop(_DeprecatedHXCalculation):
140
+ """dP = f * (L / D) * (rho * v^2 / 2), f the Darcy factor. Deprecated: use ``DarcyDrop``.
141
+
142
+ The old body grouped ``rho * v * v / 2`` before multiplying and
143
+ ``DarcyDrop`` multiplies left to right, so a result can differ from the
144
+ old one in the last bit or two of the float (at most 4e-16 relative over
145
+ 2700 random cases); the formula is the same.
146
+ """
147
+
148
+ _canonical = DarcyDrop
149
+ _keyword_map = (
150
+ ("friction_factor", "f"),
151
+ ("length", "length"),
152
+ ("diameter", "diameter"),
153
+ ("density", "density"),
154
+ ("velocity", "velocity"),
155
+ )
156
+
157
+
158
+ class ReynoldsFromProperties(_DeprecatedHXCalculation):
159
+ """Re = rho * v * D / mu. Deprecated: use ``Reynolds``."""
160
+
161
+ _canonical = Reynolds
162
+ _keyword_map = (
163
+ ("density", "density"),
164
+ ("velocity", "velocity"),
165
+ ("diameter", "diameter"),
166
+ ("viscosity", "viscosity"),
167
+ )
@@ -7,6 +7,8 @@ from ...units import HeatFlow, HeatTransferCoefficient, Pressure
7
7
 
8
8
 
9
9
  class SensibleDuty(CalculationBase):
10
+ """Q = m * Cp * |Tin - Tout|. Replaces the deprecated ``SensibleHeatDuty``."""
11
+
10
12
  def validate_inputs(self):
11
13
  for key in ("m_dot", "cp", "t_in", "t_out"):
12
14
  if key not in self.inputs:
@@ -21,6 +23,8 @@ class SensibleDuty(CalculationBase):
21
23
 
22
24
 
23
25
  class LatentDuty(CalculationBase):
26
+ """Q = m * lambda. Replaces the deprecated ``LatentHeatDuty``."""
27
+
24
28
  def validate_inputs(self):
25
29
  for key in ("m_dot", "latent_heat"):
26
30
  if key not in self.inputs:
@@ -33,6 +37,8 @@ class LatentDuty(CalculationBase):
33
37
 
34
38
 
35
39
  class Reynolds(CalculationBase):
40
+ """Re = rho * v * D / mu. Replaces the deprecated ``ReynoldsFromProperties``."""
41
+
36
42
  def validate_inputs(self):
37
43
  for key in ("density", "velocity", "diameter", "viscosity"):
38
44
  if key not in self.inputs:
@@ -47,6 +53,11 @@ class Reynolds(CalculationBase):
47
53
 
48
54
 
49
55
  class DittusBoelter(CalculationBase):
56
+ """Dittus-Boelter: Nu = 0.023 * Re^0.8 * Pr^n, n = 0.4 heating (default), 0.3 cooling.
57
+
58
+ Replaces the deprecated ``KernNusselt``, which was this same formula.
59
+ """
60
+
50
61
  def validate_inputs(self):
51
62
  for key in ("reynolds", "prandtl"):
52
63
  if key not in self.inputs:
@@ -71,6 +82,8 @@ class KernShellNu(CalculationBase):
71
82
 
72
83
 
73
84
  class ConvectiveH(CalculationBase):
85
+ """h = Nu * k / D. Replaces the deprecated ``ConvectiveCoefficient``."""
86
+
74
87
  def validate_inputs(self):
75
88
  for key in ("nusselt", "k", "diameter"):
76
89
  if key not in self.inputs:
@@ -109,6 +122,12 @@ class ShellDiameterEstimate(CalculationBase):
109
122
 
110
123
 
111
124
  class DarcyDrop(CalculationBase):
125
+ """Darcy-Weisbach: dP = f * (L / D) * rho * v^2 / 2.
126
+
127
+ ``f`` is the Darcy friction factor (4 times the Fanning factor).
128
+ Replaces the deprecated ``DarcyPressureDrop``.
129
+ """
130
+
112
131
  def validate_inputs(self):
113
132
  for key in ("f", "length", "diameter", "density", "velocity"):
114
133
  if key not in self.inputs:
@@ -178,13 +178,21 @@ class DistillationStageCount(CalculationBase):
178
178
  y_cur = xD if total_condenser else y_rect(xD) # horizontal to equilibrium first if total condenser
179
179
 
180
180
  # Stage loop
181
+ reached_bottoms = False
181
182
  while stages < max_stages and x_cur - xB > tol:
182
183
  # 1) Horizontal to equilibrium curve (constant y)
183
184
  # Find x_eq such that y_eq(x_eq) = y_cur
184
- x_eq = self._x_from_y_on_eq(y_cur, y_eq, x_min=xB, x_max=xD)
185
- if x_eq is None:
186
- # If it fails, try clipping
187
- x_eq = max(min(x_cur, xD), xB)
185
+ # Search the whole composition range: the last step lands below xB,
186
+ # so a search confined to [xB, xD] finds no root there and the
187
+ # stepping stalled until max_stages.
188
+ x_eq = self._x_from_y_on_eq(y_cur, y_eq, x_min=0.0, x_max=1.0)
189
+ if x_eq is None or x_eq <= xB:
190
+ # This step reaches the bottoms composition: it is the last
191
+ # stage, the partial reboiler.
192
+ stages += 1
193
+ strip_stages += 1
194
+ reached_bottoms = True
195
+ break
188
196
 
189
197
  # 2) Vertical to operating line:
190
198
  # if x_eq >= xF_int -> rectifying, else stripping
@@ -204,10 +212,16 @@ class DistillationStageCount(CalculationBase):
204
212
  if abs(x_cur - xB) <= tol:
205
213
  break
206
214
 
207
- # Add reboiler stage if required
208
- if partial_reboiler:
209
- stages += 1
210
- strip_stages += 1
215
+ if not reached_bottoms and x_cur - xB > tol:
216
+ raise ValueError(
217
+ f"McCabe-Thiele stepping did not reach xB within {max_stages} stages; "
218
+ "the reflux ratio is at or below the minimum (pinch)."
219
+ )
220
+
221
+ # The step that reaches xB is the partial reboiler, so it is already
222
+ # counted; adding another stage here counted the reboiler twice.
223
+ # Without a partial reboiler that last step is a tray, and the count
224
+ # stays the same as well.
211
225
 
212
226
  # Add condenser stage if total condenser and at least one rectifying stage
213
227
  if total_condenser and rect_stages > 0:
@@ -87,7 +87,7 @@ class CatalystActivity(CalculationBase):
87
87
  # Common pieces for models producing activity a(t)
88
88
  t = float(self.inputs["t"])
89
89
  a0 = float(self.inputs.get("a0", 1.0))
90
- k_d = float(self.inputs.get("k_d", self._arrhenius_kd()))
90
+ k_d = float(self.inputs["k_d"]) if "k_d" in self.inputs else self._arrhenius_kd()
91
91
  if t < 0 or a0 <= 0 or k_d < 0:
92
92
  raise ValueError("Require t >= 0, a0 > 0, k_d >= 0.")
93
93
 
@@ -98,7 +98,7 @@ class ReactionRate(CalculationBase):
98
98
  if model == "power_law":
99
99
  C: Mapping[str, float] = self.inputs["C"]
100
100
  exps: Mapping[str, float] = self.inputs["exponents"]
101
- k = float(self.inputs.get("k", self._arrhenius_k()))
101
+ k = float(self.inputs["k"]) if "k" in self.inputs else self._arrhenius_k()
102
102
  rate = k
103
103
  for sp, a in exps.items():
104
104
  c = float(C.get(sp, 0.0))
@@ -110,7 +110,7 @@ class ReactionRate(CalculationBase):
110
110
  if model == "langmuir_hinshelwood":
111
111
  C: Mapping[str, float] = self.inputs["C"]
112
112
  K: Mapping[str, float] = self.inputs["K"]
113
- k = float(self.inputs.get("k", self._arrhenius_k()))
113
+ k = float(self.inputs["k"]) if "k" in self.inputs else self._arrhenius_k()
114
114
  numerator = self.inputs.get("numerator", {"A": 1.0})
115
115
  denom_power = float(self.inputs.get("denom_power", 1.0))
116
116
 
@@ -0,0 +1,13 @@
1
+ import time
2
+ from tqdm import tqdm
3
+
4
+
5
+ def main():
6
+ print("Launching ProcessPI...")
7
+ for i in tqdm(range(50), desc="Initializing package"):
8
+ time.sleep(0.05) # simulate loading
9
+ print("ProcessPI ready!")
10
+
11
+
12
+ if __name__ == "__main__":
13
+ main()
@@ -0,0 +1,57 @@
1
+ from .base import Component
2
+ from processpi.units import *
3
+
4
+ class _112Trichloroethane(Component):
5
+ """
6
+ Represents the properties and constants for 112Trichloroethane(C2H3Cl3).
7
+
8
+ This class provides a comprehensive set of physical and thermodynamic properties
9
+ for 112Trichloroethane, which are essential for various process engineering calculations.
10
+ These properties are stored as class attributes and are available for use by other
11
+ calculation modules within the ProcessPI library.
12
+
13
+ **Properties:**
14
+ - `name`: The common name of the compound.
15
+ - `formula`: The chemical formula.
16
+ - `molecular_weight`: The molar mass in g/mol.
17
+ - `_critical_temperature`: The critical temperature, above which a substance
18
+ cannot exist as a liquid, regardless of pressure.
19
+ - `_critical_pressure`: The critical pressure, the vapor pressure at the
20
+ critical temperature.
21
+ - `_critical_volume`: The critical volume per kmole.
22
+ - `_critical_zc`: The critical compressibility factor.
23
+ - `_critical_acentric_factor`: The acentric factor, a measure of the
24
+ non-sphericity of the molecule.
25
+ - `_density_constants`: Constants for calculating density as a function of temperature.
26
+ - `_specific_heat_constants`: Constants for calculating specific heat capacity as a
27
+ function of temperature.
28
+ - `_viscosity_constants`: Constants for calculating viscosity as a function of
29
+ temperature.
30
+ - `_thermal_conductivity_constants`: Constants for calculating thermal conductivity
31
+ as a function of temperature.
32
+ - `_vapor_pressure_constants`: Constants for calculating vapor pressure as a
33
+ function of temperature using the Antoine equation or similar models.
34
+ - `_enthalpy_constants`: Constants for calculating enthalpy as a function of temperature.
35
+ """
36
+ name = "112Trichloroethane"
37
+ formula = "C2H3Cl3"
38
+ molecular_weight = 133.404
39
+ # Heat exchanger data, read by Component.hx_data() and httype()
40
+ _hx_family = "organic"
41
+ _hx_liquid_type = "organic"
42
+ _hx_fouling_key = "hydrocarbons"
43
+ _hx_corrosion_key = "hydrocarbon"
44
+
45
+ # Critical properties
46
+ _critical_temperature = Temperature(602.0, "K")
47
+ _critical_pressure = Pressure(4.48, "MPa")
48
+ _critical_volume = Volume(0.281, "m3")
49
+ _critical_zc = 0.252
50
+ _critical_acentric_factor = 0.2591
51
+
52
+ _density_constants = [0.9062, 0.25475, 602.0, 0.31]
53
+ _specific_heat_constants = [103350, 159.3, 0.0, 0.0, 0.0]
54
+ _viscosity_constants = [0.388, 736.5, -1.7063,0,0]
55
+ _thermal_conductivity_constants = [0.20731, -0.00024997,0,0,0]
56
+ _vapor_pressure_constants = [54.153,-6041.80, -4.5383, 4.98e-18, 6.0]
57
+ _enthalpy_constants = [5.0929e-7, 0.38013,0,0,0]
@@ -0,0 +1,57 @@
1
+ from .base import Component
2
+ from processpi.units import *
3
+
4
+ class _11Dibromoethane(Component):
5
+ """
6
+ Represents the properties and constants for 11Dibromoethane(C2H4Br2).
7
+
8
+ This class provides a comprehensive set of physical and thermodynamic properties
9
+ for 11Dibromoethane, which are essential for various process engineering calculations.
10
+ These properties are stored as class attributes and are available for use by other
11
+ calculation modules within the ProcessPI library.
12
+
13
+ **Properties:**
14
+ - `name`: The common name of the compound.
15
+ - `formula`: The chemical formula.
16
+ - `molecular_weight`: The molar mass in g/mol.
17
+ - `_critical_temperature`: The critical temperature, above which a substance
18
+ cannot exist as a liquid, regardless of pressure.
19
+ - `_critical_pressure`: The critical pressure, the vapor pressure at the
20
+ critical temperature.
21
+ - `_critical_volume`: The critical volume per kmole.
22
+ - `_critical_zc`: The critical compressibility factor.
23
+ - `_critical_acentric_factor`: The acentric factor, a measure of the
24
+ non-sphericity of the molecule.
25
+ - `_density_constants`: Constants for calculating density as a function of temperature.
26
+ - `_specific_heat_constants`: Constants for calculating specific heat capacity as a
27
+ function of temperature.
28
+ - `_viscosity_constants`: Constants for calculating viscosity as a function of
29
+ temperature.
30
+ - `_thermal_conductivity_constants`: Constants for calculating thermal conductivity
31
+ as a function of temperature.
32
+ - `_vapor_pressure_constants`: Constants for calculating vapor pressure as a
33
+ function of temperature using the Antoine equation or similar models.
34
+ - `_enthalpy_constants`: Constants for calculating enthalpy as a function of temperature.
35
+ """
36
+ name = "11Dibromoethane"
37
+ formula = "C2H4Br2"
38
+ molecular_weight = 187.861
39
+ # Heat exchanger data, read by Component.hx_data() and httype()
40
+ _hx_family = "organic"
41
+ _hx_liquid_type = "organic"
42
+ _hx_fouling_key = "hydrocarbons"
43
+ _hx_corrosion_key = "hydrocarbon"
44
+
45
+ # Critical properties
46
+ _critical_temperature = Temperature(628.0, "K")
47
+ _critical_pressure = Pressure(6.03, "MPa")
48
+ _critical_volume = Volume(0.276, "m3")
49
+ _critical_zc = 0.319
50
+ _critical_acentric_factor = 0.125
51
+
52
+ _density_constants = [0.95523, 0.26364, 628.0, 0.29825]
53
+ _specific_heat_constants = [149400, -231.8, 0.5946, 0.0, 0.0]
54
+ _viscosity_constants = [-10.457, 1101.1, -0.0031354, 0.0, 0.0]
55
+ _thermal_conductivity_constants = [0.1426, -0.00016402, 0.0, 0.0, 0.0]
56
+ _vapor_pressure_constants = [62.711, -6503.50, -5.7669, 1.04e-06, 2.0]
57
+ _enthalpy_constants = [5.712e-7, 0.5255, 0.0, 0.0, 0.0]
@@ -0,0 +1,57 @@
1
+ from .base import Component
2
+ from processpi.units import *
3
+
4
+ class _11Dichloroethane(Component):
5
+ """
6
+ Represents the properties and constants for 11Dichloroethane(C2H4Cl2).
7
+
8
+ This class provides a comprehensive set of physical and thermodynamic properties
9
+ for 11Dichloroethane, which are essential for various process engineering calculations.
10
+ These properties are stored as class attributes and are available for use by other
11
+ calculation modules within the ProcessPI library.
12
+
13
+ **Properties:**
14
+ - `name`: The common name of the compound.
15
+ - `formula`: The chemical formula.
16
+ - `molecular_weight`: The molar mass in g/mol.
17
+ - `_critical_temperature`: The critical temperature, above which a substance
18
+ cannot exist as a liquid, regardless of pressure.
19
+ - `_critical_pressure`: The critical pressure, the vapor pressure at the
20
+ critical temperature.
21
+ - `_critical_volume`: The critical volume per kmole.
22
+ - `_critical_zc`: The critical compressibility factor.
23
+ - `_critical_acentric_factor`: The acentric factor, a measure of the
24
+ non-sphericity of the molecule.
25
+ - `_density_constants`: Constants for calculating density as a function of temperature.
26
+ - `_specific_heat_constants`: Constants for calculating specific heat capacity as a
27
+ function of temperature.
28
+ - `_viscosity_constants`: Constants for calculating viscosity as a function of
29
+ temperature.
30
+ - `_thermal_conductivity_constants`: Constants for calculating thermal conductivity
31
+ as a function of temperature.
32
+ - `_vapor_pressure_constants`: Constants for calculating vapor pressure as a
33
+ function of temperature using the Antoine equation or similar models.
34
+ - `_enthalpy_constants`: Constants for calculating enthalpy as a function of temperature.
35
+ """
36
+ name = "11Dichloroethane"
37
+ formula = "C2H4Cl2"
38
+ molecular_weight = 98.959
39
+ # Heat exchanger data, read by Component.hx_data() and httype()
40
+ _hx_family = "organic"
41
+ _hx_liquid_type = "organic"
42
+ _hx_fouling_key = "hydrocarbons"
43
+ _hx_corrosion_key = "hydrocarbon"
44
+
45
+ # Critical properties
46
+ _critical_temperature = Temperature(523.0, "K")
47
+ _critical_pressure = Pressure(5.07, "MPa")
48
+ _critical_volume = Volume(0.24, "m3")
49
+ _critical_zc = 0.28
50
+ _critical_acentric_factor = 0.2339
51
+
52
+ _density_constants = [1.1055, 0.26533, 523.0, 0.287]
53
+ _specific_heat_constants = [126340, -94.63, 0.32, 0.0, 0.0]
54
+ _viscosity_constants = [-8.991, 870.2, -0.2805, 0.0, 0.0]
55
+ _thermal_conductivity_constants = [0.18881, -0.00026083, 0.0, 0.0, 0.0]
56
+ _vapor_pressure_constants = [66.611, -5493.10, -6.7301, 5.36e-06, 2.0]
57
+ _enthalpy_constants = [4.2117e-7, 0.36927, 0.0, 0.0, 0.0]
@@ -0,0 +1,57 @@
1
+ from .base import Component
2
+ from processpi.units import *
3
+
4
+ class _11Dichloropropane(Component):
5
+ """
6
+ Represents the properties and constants for 11Dichloropropane(C3H6Cl2).
7
+
8
+ This class provides a comprehensive set of physical and thermodynamic properties
9
+ for 11Dichloropropane, which are essential for various process engineering calculations.
10
+ These properties are stored as class attributes and are available for use by other
11
+ calculation modules within the ProcessPI library.
12
+
13
+ **Properties:**
14
+ - `name`: The common name of the compound.
15
+ - `formula`: The chemical formula.
16
+ - `molecular_weight`: The molar mass in g/mol.
17
+ - `_critical_temperature`: The critical temperature, above which a substance
18
+ cannot exist as a liquid, regardless of pressure.
19
+ - `_critical_pressure`: The critical pressure, the vapor pressure at the
20
+ critical temperature.
21
+ - `_critical_volume`: The critical volume per kmole.
22
+ - `_critical_zc`: The critical compressibility factor.
23
+ - `_critical_acentric_factor`: The acentric factor, a measure of the
24
+ non-sphericity of the molecule.
25
+ - `_density_constants`: Constants for calculating density as a function of temperature.
26
+ - `_specific_heat_constants`: Constants for calculating specific heat capacity as a
27
+ function of temperature.
28
+ - `_viscosity_constants`: Constants for calculating viscosity as a function of
29
+ temperature.
30
+ - `_thermal_conductivity_constants`: Constants for calculating thermal conductivity
31
+ as a function of temperature.
32
+ - `_vapor_pressure_constants`: Constants for calculating vapor pressure as a
33
+ function of temperature using the Antoine equation or similar models.
34
+ - `_enthalpy_constants`: Constants for calculating enthalpy as a function of temperature.
35
+ """
36
+ name = "11Dichloropropane"
37
+ formula = "C3H6Cl2"
38
+ molecular_weight = 112.986
39
+ # Heat exchanger data, read by Component.hx_data() and httype()
40
+ _hx_family = "organic"
41
+ _hx_liquid_type = "organic"
42
+ _hx_fouling_key = "hydrocarbons"
43
+ _hx_corrosion_key = "hydrocarbon"
44
+
45
+ # Critical properties
46
+ _critical_temperature = Temperature(560.0, "K")
47
+ _critical_pressure = Pressure(4.24, "MPa")
48
+ _critical_volume = Volume(0.291, "m3")
49
+ _critical_zc = 0.265
50
+ _critical_acentric_factor = 0.2529
51
+
52
+ _density_constants = [0.9551, 0.27794, 560.0, 0.24132]
53
+ _specific_heat_constants = [144560, -53.605, 0.30617, 0.0, 0.0]
54
+ _viscosity_constants = [-10.872, 1033.1, -0.00067435, 0.0, 0.0]
55
+ _thermal_conductivity_constants = [0.18, -0.00023144, 0.0, 0.0, 0.0]
56
+ _vapor_pressure_constants = [83.495, -6661.40, -9.2386, 6.77e-06, 2.0]
57
+ _enthalpy_constants = [4.774e-7, 0.39204, 0.0, 0.0, 0.0]