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.
- {processpi-0.2.1 → processpi-0.2.2}/PKG-INFO +4 -3
- {processpi-0.2.1 → processpi-0.2.2}/README.md +3 -2
- processpi-0.2.2/processpi/__main__.py +5 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/engine.py +7 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/conduction_heat_loss.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/convection_heat_loss.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/crossflow_tube.py +2 -0
- processpi-0.2.2/processpi/calculations/heat_transfer/heat_exchanger.py +167 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/hx_kern.py +19 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/distillation_stage_count.py +22 -8
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/catalyst_activity.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/reaction_rate.py +2 -2
- processpi-0.2.2/processpi/cli.py +13 -0
- processpi-0.2.2/processpi/components/_112trichloroethane.py +57 -0
- processpi-0.2.2/processpi/components/_11dibromoethane.py +57 -0
- processpi-0.2.2/processpi/components/_11dichloroethane.py +57 -0
- processpi-0.2.2/processpi/components/_11dichloropropane.py +57 -0
- processpi-0.2.2/processpi/components/_11difluoroethane.py +95 -0
- processpi-0.2.2/processpi/components/_11dimethoxyethane.py +57 -0
- processpi-0.2.2/processpi/components/_11dimethylcyclohexane.py +57 -0
- processpi-0.2.2/processpi/components/_123trimethylbenzene.py +57 -0
- processpi-0.2.2/processpi/components/_124tetrahydronaphthalene.py +57 -0
- processpi-0.2.2/processpi/components/_124trimethylbenzene.py +57 -0
- processpi-0.2.2/processpi/components/_12butadiene.py +57 -0
- processpi-0.2.2/processpi/components/_12butanediol.py +74 -0
- processpi-0.2.2/processpi/components/_12dibromoethane.py +57 -0
- processpi-0.2.2/processpi/components/_12dichloroethane.py +57 -0
- processpi-0.2.2/processpi/components/_12dichloropropane.py +57 -0
- processpi-0.2.2/processpi/components/_12difluoroethane.py +57 -0
- processpi-0.2.2/processpi/components/_12dimethoxypropane.py +57 -0
- processpi-0.2.2/processpi/components/_12propyleneglycol.py +57 -0
- processpi-0.2.2/processpi/components/_135trinitrobenzene.py +57 -0
- processpi-0.2.2/processpi/components/_13butadiene.py +57 -0
- processpi-0.2.2/processpi/components/_13butanediol.py +74 -0
- processpi-0.2.2/processpi/components/_14dioxane.py +57 -0
- processpi-0.2.2/processpi/components/_1butanol.py +57 -0
- processpi-0.2.2/processpi/components/_1butene.py +57 -0
- processpi-0.2.2/processpi/components/_1butyne.py +57 -0
- processpi-0.2.2/processpi/components/_1chloropropane.py +57 -0
- processpi-0.2.2/processpi/components/_1decanol.py +57 -0
- processpi-0.2.2/processpi/components/_1decene.py +57 -0
- processpi-0.2.2/processpi/components/_1decyne.py +57 -0
- processpi-0.2.2/processpi/components/_1heptanol.py +57 -0
- processpi-0.2.2/processpi/components/_1heptene.py +57 -0
- processpi-0.2.2/processpi/components/_1heptyne.py +57 -0
- processpi-0.2.2/processpi/components/_1hexanol.py +57 -0
- processpi-0.2.2/processpi/components/_1hexene.py +57 -0
- processpi-0.2.2/processpi/components/_1hexyne.py +57 -0
- processpi-0.2.2/processpi/components/_1methylcyclohexanol.py +57 -0
- processpi-0.2.2/processpi/components/_1methylcyclopentene.py +57 -0
- processpi-0.2.2/processpi/components/_1nonanol.py +57 -0
- processpi-0.2.2/processpi/components/_1nonene.py +57 -0
- processpi-0.2.2/processpi/components/_1nonyne.py +57 -0
- processpi-0.2.2/processpi/components/_1octanol.py +57 -0
- processpi-0.2.2/processpi/components/_1octene.py +57 -0
- processpi-0.2.2/processpi/components/_1octyne.py +57 -0
- processpi-0.2.2/processpi/components/_1pentanol.py +57 -0
- processpi-0.2.2/processpi/components/_1pentene.py +57 -0
- processpi-0.2.2/processpi/components/_1pentyne.py +57 -0
- processpi-0.2.2/processpi/components/_1propanol.py +65 -0
- processpi-0.2.2/processpi/components/_1undecanol.py +57 -0
- processpi-0.2.2/processpi/components/_2233tetramethylbutane.py +57 -0
- processpi-0.2.2/processpi/components/_224trimethylpentane.py +57 -0
- processpi-0.2.2/processpi/components/_233trimethylpentane.py +57 -0
- processpi-0.2.2/processpi/components/_23dimethylbutane.py +57 -0
- processpi-0.2.2/processpi/components/_23dimethylpentane.py +57 -0
- processpi-0.2.2/processpi/components/_246trinitrotoluene.py +57 -0
- processpi-0.2.2/processpi/components/_2butanol.py +57 -0
- processpi-0.2.2/processpi/components/_2chloropropane.py +57 -0
- processpi-0.2.2/processpi/components/_2ethylbutanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/_2ethylhexanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/_2heptanol.py +57 -0
- processpi-0.2.2/processpi/components/_2heptanone.py +57 -0
- processpi-0.2.2/processpi/components/_2hexanol.py +57 -0
- processpi-0.2.2/processpi/components/_2hexanone.py +57 -0
- processpi-0.2.2/processpi/components/_2hexyne.py +57 -0
- processpi-0.2.2/processpi/components/_2methyl1butene.py +57 -0
- processpi-0.2.2/processpi/components/_2methyl1butene3yne.py +57 -0
- processpi-0.2.2/processpi/components/_2methyl2butene.py +57 -0
- processpi-0.2.2/processpi/components/_2methyl2propanol.py +57 -0
- processpi-0.2.2/processpi/components/_2methylbutane.py +57 -0
- processpi-0.2.2/processpi/components/_2methylbutanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/_2methyloctanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/_2methylpentane.py +57 -0
- processpi-0.2.2/processpi/components/_2methylpropane.py +57 -0
- processpi-0.2.2/processpi/components/_2methylpropene.py +57 -0
- processpi-0.2.2/processpi/components/_2nonanol.py +57 -0
- processpi-0.2.2/processpi/components/_2octanol.py +57 -0
- processpi-0.2.2/processpi/components/_2octanone.py +57 -0
- processpi-0.2.2/processpi/components/_2pentanol.py +57 -0
- processpi-0.2.2/processpi/components/_2pentanone.py +57 -0
- processpi-0.2.2/processpi/components/_2pentylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/_2pentyne.py +57 -0
- processpi-0.2.2/processpi/components/_2propanol.py +57 -0
- processpi-0.2.2/processpi/components/_2propylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/_3heptanone.py +57 -0
- processpi-0.2.2/processpi/components/_3hexanone.py +57 -0
- processpi-0.2.2/processpi/components/_3hexyne.py +57 -0
- processpi-0.2.2/processpi/components/_3methyl12butadiene.py +57 -0
- processpi-0.2.2/processpi/components/_3methyl1butanol.py +57 -0
- processpi-0.2.2/processpi/components/_3methyl1butyne.py +57 -0
- processpi-0.2.2/processpi/components/_3methylcyclopentene.py +57 -0
- processpi-0.2.2/processpi/components/_3octanone.py +57 -0
- processpi-0.2.2/processpi/components/_3pentanone.py +57 -0
- processpi-0.2.2/processpi/components/__init__.py +719 -0
- processpi-0.2.2/processpi/components/acetaldehyde.py +60 -0
- processpi-0.2.2/processpi/components/acetamide.py +58 -0
- processpi-0.2.2/processpi/components/acetic_anhydride.py +58 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/aceticacid.py +6 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/acetone.py +6 -0
- processpi-0.2.2/processpi/components/acetonitrile.py +57 -0
- processpi-0.2.2/processpi/components/acetylene.py +57 -0
- processpi-0.2.2/processpi/components/acrolein.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/acrylicacid.py +6 -0
- processpi-0.2.2/processpi/components/acrylonitrile.py +58 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/air.py +19 -0
- processpi-0.2.2/processpi/components/alphamethylstyrene.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ammonia.py +32 -7
- processpi-0.2.2/processpi/components/anisole.py +57 -0
- processpi-0.2.2/processpi/components/argon.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/base.py +118 -3
- processpi-0.2.2/processpi/components/benzamide.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/benzene.py +3 -1
- processpi-0.2.2/processpi/components/benzenethiol.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/benzoicacid.py +7 -1
- processpi-0.2.2/processpi/components/benzonitrile.py +57 -0
- processpi-0.2.2/processpi/components/benzophenone.py +57 -0
- processpi-0.2.2/processpi/components/benzylalcohol.py +57 -0
- processpi-0.2.2/processpi/components/benzylethylether.py +57 -0
- processpi-0.2.2/processpi/components/benzylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/biphenyl.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/bromine.py +6 -0
- processpi-0.2.2/processpi/components/bromobenzene.py +57 -0
- processpi-0.2.2/processpi/components/bromoethane.py +57 -0
- processpi-0.2.2/processpi/components/bromomethane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/butane.py +6 -0
- processpi-0.2.2/processpi/components/butylacetate.py +57 -0
- processpi-0.2.2/processpi/components/butylbenzene.py +57 -0
- processpi-0.2.2/processpi/components/butylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/butyraldehyde.py +57 -0
- processpi-0.2.2/processpi/components/butyricacid.py +57 -0
- processpi-0.2.2/processpi/components/butyronitrile.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/carbondioxide.py +6 -0
- processpi-0.2.2/processpi/components/carbondisulfide.py +57 -0
- processpi-0.2.2/processpi/components/carbonmonoxide.py +54 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/carbontetrachloride.py +7 -1
- processpi-0.2.2/processpi/components/carbontetrafluoride.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chlorine.py +7 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chlorobenzene.py +7 -1
- processpi-0.2.2/processpi/components/chloroethane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chloroform.py +7 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/chloromethane.py +7 -1
- processpi-0.2.2/processpi/components/cis12dimethylcyclohexane.py +57 -0
- processpi-0.2.2/processpi/components/cis2butene.py +57 -0
- processpi-0.2.2/processpi/components/cis2methylcyclohexanol.py +57 -0
- processpi-0.2.2/processpi/components/cumene.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/cyanogen.py +7 -1
- processpi-0.2.2/processpi/components/cyclobutane.py +57 -0
- processpi-0.2.2/processpi/components/cyclohexane.py +82 -0
- processpi-0.2.2/processpi/components/cyclohexanol.py +57 -0
- processpi-0.2.2/processpi/components/cyclohexanone.py +57 -0
- processpi-0.2.2/processpi/components/cyclohexene.py +57 -0
- processpi-0.2.2/processpi/components/cyclohexylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/cyclopentane.py +57 -0
- processpi-0.2.2/processpi/components/cyclopentene.py +57 -0
- processpi-0.2.2/processpi/components/cyclopropane.py +57 -0
- processpi-0.2.2/processpi/components/decanal.py +57 -0
- processpi-0.2.2/processpi/components/decane.py +57 -0
- processpi-0.2.2/processpi/components/decanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/decylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/deuterium.py +57 -0
- processpi-0.2.2/processpi/components/dibromomethane.py +57 -0
- processpi-0.2.2/processpi/components/dibutylether.py +57 -0
- processpi-0.2.2/processpi/components/dichloromethane.py +57 -0
- processpi-0.2.2/processpi/components/diethanolamine.py +57 -0
- processpi-0.2.2/processpi/components/diethylamine.py +57 -0
- processpi-0.2.2/processpi/components/diethylether.py +57 -0
- processpi-0.2.2/processpi/components/diethylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/difluoromethane.py +57 -0
- processpi-0.2.2/processpi/components/diisopropylamine.py +57 -0
- processpi-0.2.2/processpi/components/diisopropylether.py +57 -0
- processpi-0.2.2/processpi/components/diisopropylketone.py +57 -0
- processpi-0.2.2/processpi/components/dimethylacetylene.py +57 -0
- processpi-0.2.2/processpi/components/dimethylamine.py +57 -0
- processpi-0.2.2/processpi/components/dimethyldisulfide.py +57 -0
- processpi-0.2.2/processpi/components/dimethylether.py +57 -0
- processpi-0.2.2/processpi/components/dimethylphthalate.py +57 -0
- processpi-0.2.2/processpi/components/dimethylsilane.py +57 -0
- processpi-0.2.2/processpi/components/dimethylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/dimethylsulfoxide.py +57 -0
- processpi-0.2.2/processpi/components/dimethylterephthalate.py +57 -0
- processpi-0.2.2/processpi/components/diphenylether.py +57 -0
- processpi-0.2.2/processpi/components/dipropylamine.py +57 -0
- processpi-0.2.2/processpi/components/dodecane.py +57 -0
- processpi-0.2.2/processpi/components/eicosane.py +57 -0
- processpi-0.2.2/processpi/components/ethane.py +52 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethanol.py +6 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethylacetate.py +23 -3
- processpi-0.2.2/processpi/components/ethylamine.py +57 -0
- processpi-0.2.2/processpi/components/ethylbenzene.py +57 -0
- processpi-0.2.2/processpi/components/ethylbenzoate.py +57 -0
- processpi-0.2.2/processpi/components/ethylbutyrate.py +57 -0
- processpi-0.2.2/processpi/components/ethylcyclohexane.py +57 -0
- processpi-0.2.2/processpi/components/ethylcyclopentane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/ethylene.py +22 -2
- processpi-0.2.2/processpi/components/ethylenediamine.py +57 -0
- processpi-0.2.2/processpi/components/ethyleneglycol.py +57 -0
- processpi-0.2.2/processpi/components/ethyleneimine.py +57 -0
- processpi-0.2.2/processpi/components/ethyleneoxide.py +57 -0
- processpi-0.2.2/processpi/components/ethylformate.py +57 -0
- processpi-0.2.2/processpi/components/ethylhexylether.py +57 -0
- processpi-0.2.2/processpi/components/ethylisopropylether.py +57 -0
- processpi-0.2.2/processpi/components/ethylisopropylketone.py +57 -0
- processpi-0.2.2/processpi/components/ethylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/ethylpropionate.py +57 -0
- processpi-0.2.2/processpi/components/ethylpropylether.py +57 -0
- processpi-0.2.2/processpi/components/ethyltrichlorosilane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/fluorine.py +6 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/fluorobenzene.py +6 -0
- processpi-0.2.2/processpi/components/fluoroethane.py +57 -0
- processpi-0.2.2/processpi/components/fluoromethane.py +57 -0
- processpi-0.2.2/processpi/components/formaldehyde.py +57 -0
- processpi-0.2.2/processpi/components/formamide.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/formicacid.py +6 -0
- processpi-0.2.2/processpi/components/furan.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/gas.py +8 -0
- processpi-0.2.2/processpi/components/helium.py +101 -0
- processpi-0.2.2/processpi/components/heptadecane.py +57 -0
- processpi-0.2.2/processpi/components/heptanal.py +57 -0
- processpi-0.2.2/processpi/components/heptane.py +96 -0
- processpi-0.2.2/processpi/components/heptanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/heptylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/hexadecane.py +57 -0
- processpi-0.2.2/processpi/components/hexanal.py +57 -0
- processpi-0.2.2/processpi/components/hexane.py +57 -0
- processpi-0.2.2/processpi/components/hexanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/hexylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/hydrazine.py +57 -0
- processpi-0.2.2/processpi/components/hydrogen.py +95 -0
- processpi-0.2.2/processpi/components/hydrogenbromide.py +57 -0
- processpi-0.2.2/processpi/components/hydrogenchloride.py +84 -0
- processpi-0.2.2/processpi/components/hydrogencyanide.py +83 -0
- processpi-0.2.2/processpi/components/hydrogenfluoride.py +57 -0
- processpi-0.2.2/processpi/components/hydrogensulfide.py +102 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/inorganic_liquid.py +6 -0
- processpi-0.2.2/processpi/components/isobutyricacid.py +57 -0
- processpi-0.2.2/processpi/components/isopropylamine.py +57 -0
- processpi-0.2.2/processpi/components/malonicacid.py +57 -0
- processpi-0.2.2/processpi/components/mcresol.py +57 -0
- processpi-0.2.2/processpi/components/mdichlorobenzene.py +57 -0
- processpi-0.2.2/processpi/components/methacrylicacid.py +57 -0
- processpi-0.2.2/processpi/components/methane.py +101 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/methanol.py +6 -0
- processpi-0.2.2/processpi/components/methylacetate.py +57 -0
- processpi-0.2.2/processpi/components/methylacetylene.py +57 -0
- processpi-0.2.2/processpi/components/methylacrylate.py +57 -0
- processpi-0.2.2/processpi/components/methylamine.py +57 -0
- processpi-0.2.2/processpi/components/methylbenzoate.py +57 -0
- processpi-0.2.2/processpi/components/methylbutylether.py +57 -0
- processpi-0.2.2/processpi/components/methylbutylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/methylbutyrate.py +57 -0
- processpi-0.2.2/processpi/components/methylchlorosilane.py +57 -0
- processpi-0.2.2/processpi/components/methylcyclohexane.py +57 -0
- processpi-0.2.2/processpi/components/methylcyclopentane.py +57 -0
- processpi-0.2.2/processpi/components/methyldichlorosilane.py +57 -0
- processpi-0.2.2/processpi/components/methylethylether.py +57 -0
- processpi-0.2.2/processpi/components/methylethylketone.py +57 -0
- processpi-0.2.2/processpi/components/methylethylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/methylformate.py +57 -0
- processpi-0.2.2/processpi/components/methylisobutylether.py +57 -0
- processpi-0.2.2/processpi/components/methylisobutylketone.py +57 -0
- processpi-0.2.2/processpi/components/methylisocyanate.py +57 -0
- processpi-0.2.2/processpi/components/methylisopropylether.py +57 -0
- processpi-0.2.2/processpi/components/methylisopropylketone.py +57 -0
- processpi-0.2.2/processpi/components/methylisopropylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/methylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/methylmethacrylate.py +57 -0
- processpi-0.2.2/processpi/components/methylpentylether.py +57 -0
- processpi-0.2.2/processpi/components/methylpropionate.py +57 -0
- processpi-0.2.2/processpi/components/methylpropylether.py +57 -0
- processpi-0.2.2/processpi/components/methylpropylsulfide.py +57 -0
- processpi-0.2.2/processpi/components/methylsilane.py +57 -0
- processpi-0.2.2/processpi/components/methyltertbutylether.py +57 -0
- processpi-0.2.2/processpi/components/methylvinylether.py +57 -0
- processpi-0.2.2/processpi/components/mxylene.py +57 -0
- processpi-0.2.2/processpi/components/naphthalene.py +57 -0
- processpi-0.2.2/processpi/components/neon.py +99 -0
- processpi-0.2.2/processpi/components/nitricoxide.py +104 -0
- processpi-0.2.2/processpi/components/nitroethane.py +57 -0
- processpi-0.2.2/processpi/components/nitrogen.py +84 -0
- processpi-0.2.2/processpi/components/nitrogentrifluoride.py +57 -0
- processpi-0.2.2/processpi/components/nitromethane.py +57 -0
- processpi-0.2.2/processpi/components/nitrousoxide.py +86 -0
- processpi-0.2.2/processpi/components/nmethylacetamide.py +57 -0
- processpi-0.2.2/processpi/components/nndimethylformamide.py +57 -0
- processpi-0.2.2/processpi/components/nonadecane.py +57 -0
- processpi-0.2.2/processpi/components/nonanal.py +57 -0
- processpi-0.2.2/processpi/components/nonane.py +57 -0
- processpi-0.2.2/processpi/components/nonanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/nonylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/ocresol.py +57 -0
- processpi-0.2.2/processpi/components/octadecane.py +57 -0
- processpi-0.2.2/processpi/components/octanal.py +57 -0
- processpi-0.2.2/processpi/components/octane.py +57 -0
- processpi-0.2.2/processpi/components/octanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/octylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/odichlorobenzene.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/oil.py +3 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/organic_liquid.py +3 -1
- processpi-0.2.2/processpi/components/oterphenyl.py +57 -0
- processpi-0.2.2/processpi/components/oxalicacid.py +57 -0
- processpi-0.2.2/processpi/components/oxygen.py +86 -0
- processpi-0.2.2/processpi/components/oxylene.py +57 -0
- processpi-0.2.2/processpi/components/ozone.py +86 -0
- processpi-0.2.2/processpi/components/pcresol.py +57 -0
- processpi-0.2.2/processpi/components/pdichlorobenzene.py +57 -0
- processpi-0.2.2/processpi/components/pentadecane.py +57 -0
- processpi-0.2.2/processpi/components/pentanal.py +57 -0
- processpi-0.2.2/processpi/components/pentane.py +57 -0
- processpi-0.2.2/processpi/components/pentanoicacid.py +57 -0
- processpi-0.2.2/processpi/components/pentylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/phenanthrene.py +57 -0
- processpi-0.2.2/processpi/components/phenol.py +84 -0
- processpi-0.2.2/processpi/components/phenylisocyanate.py +57 -0
- processpi-0.2.2/processpi/components/phthalicanhydride.py +57 -0
- processpi-0.2.2/processpi/components/propadiene.py +57 -0
- processpi-0.2.2/processpi/components/propane.py +101 -0
- processpi-0.2.2/processpi/components/propenylcyclohexene.py +57 -0
- processpi-0.2.2/processpi/components/propionaldehyde.py +57 -0
- processpi-0.2.2/processpi/components/propionicacid.py +81 -0
- processpi-0.2.2/processpi/components/propionitrile.py +57 -0
- processpi-0.2.2/processpi/components/propylacetate.py +57 -0
- processpi-0.2.2/processpi/components/propylamine.py +57 -0
- processpi-0.2.2/processpi/components/propylbenzene.py +57 -0
- processpi-0.2.2/processpi/components/propylene.py +57 -0
- processpi-0.2.2/processpi/components/propylformate.py +57 -0
- processpi-0.2.2/processpi/components/propylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/pxylene.py +57 -0
- processpi-0.2.2/processpi/components/quinone.py +57 -0
- processpi-0.2.2/processpi/components/sebutylmercaptan.py +57 -0
- processpi-0.2.2/processpi/components/silicontetrafluoride.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/steam.py +25 -4
- processpi-0.2.2/processpi/components/styrene.py +81 -0
- processpi-0.2.2/processpi/components/succinicacid.py +57 -0
- processpi-0.2.2/processpi/components/sulfurdioxide.py +84 -0
- processpi-0.2.2/processpi/components/sulfurhexafluoride.py +57 -0
- processpi-0.2.2/processpi/components/sulfurtrioxide.py +57 -0
- processpi-0.2.2/processpi/components/terephthalicacid.py +57 -0
- processpi-0.2.2/processpi/components/tetradecane.py +57 -0
- processpi-0.2.2/processpi/components/tetrahydrofuran.py +57 -0
- processpi-0.2.2/processpi/components/tetrahydrothiophene.py +57 -0
- processpi-0.2.2/processpi/components/thiophene.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/toluene.py +3 -1
- processpi-0.2.2/processpi/components/trans12dimethylcyclohexane.py +57 -0
- processpi-0.2.2/processpi/components/trans2butene.py +57 -0
- processpi-0.2.2/processpi/components/trans2methylcyclohexanol.py +57 -0
- processpi-0.2.2/processpi/components/tridecane.py +57 -0
- processpi-0.2.2/processpi/components/triethylamine.py +57 -0
- processpi-0.2.2/processpi/components/trimethylamine.py +57 -0
- processpi-0.2.2/processpi/components/undecane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/vapor.py +8 -0
- processpi-0.2.2/processpi/components/vinylacetate.py +57 -0
- processpi-0.2.2/processpi/components/vinylacetylene.py +57 -0
- processpi-0.2.2/processpi/components/vinylchloride.py +57 -0
- processpi-0.2.2/processpi/components/vinyltrichlorosilane.py +57 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/water.py +3 -1
- processpi-0.2.2/processpi/equipment/__init__.py +23 -0
- processpi-0.2.2/processpi/equipment/distillation/__init__.py +6 -0
- processpi-0.2.2/processpi/equipment/distillation/column.py +643 -0
- processpi-0.2.2/processpi/equipment/distillation/engine.py +105 -0
- processpi-0.2.2/processpi/equipment/distillation/hydraulics.py +97 -0
- processpi-0.2.2/processpi/equipment/distillation/mccabe_thiele.py +101 -0
- processpi-0.2.2/processpi/equipment/distillation/results.py +110 -0
- processpi-0.2.2/processpi/equipment/distillation/shortcut.py +212 -0
- processpi-0.2.2/processpi/equipment/distillation/vle.py +289 -0
- processpi-0.2.2/processpi/equipment/heatexchangers/base.py +1305 -0
- processpi-0.2.2/processpi/equipment/heatexchangers/bell_delaware.py +31 -0
- processpi-0.2.2/processpi/equipment/heatexchangers/condenser.py +383 -0
- processpi-0.2.2/processpi/equipment/heatexchangers/datasheet.py +385 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/double_pipe.py +83 -67
- processpi-0.2.2/processpi/equipment/heatexchangers/engine.py +759 -0
- processpi-0.2.2/processpi/equipment/heatexchangers/evaporator.py +1080 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/reboiler.py +20 -11
- processpi-0.2.2/processpi/equipment/heatexchangers/shell_and_tube.py +3618 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/standards.py +758 -37
- processpi-0.2.2/processpi/equipment/pressure_vessel.py +2425 -0
- processpi-0.2.2/processpi/pipelines/engine.py +2555 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/fittings.py +12 -4
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/network.py +57 -10
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/pipelineresults.py +114 -17
- processpi-0.2.2/processpi/pipelines/pipes.py +325 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/piping_costs.py +1 -1
- processpi-0.2.2/processpi/pipelines/standards.py +685 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/material.py +20 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/area.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/base.py +9 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/density.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/diameter.py +4 -4
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/dimensionless.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_flow.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_flux.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_of_vaporization.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/heat_transfer_coefficient.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/length.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/mass.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/mass_flowrate.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/molar_flowrate.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/power.py +1 -1
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/pressure.py +19 -8
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/specific_heat.py +10 -10
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/strings.py +4 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/thermal_conductivity.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/thermal_resistance.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/velocity.py +2 -2
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/viscosity.py +2 -2
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/volume.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/volumetric_flowrate.py +3 -3
- {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/PKG-INFO +4 -3
- processpi-0.2.2/processpi.egg-info/SOURCES.txt +549 -0
- processpi-0.2.2/processpi.egg-info/entry_points.txt +2 -0
- {processpi-0.2.1 → processpi-0.2.2}/pyproject.toml +34 -38
- {processpi-0.2.1 → processpi-0.2.2}/setup.py +8 -8
- processpi-0.2.2/tests/test_bell_delaware_hx.py +112 -0
- processpi-0.2.2/tests/test_bell_delaware_taborek.py +256 -0
- processpi-0.2.2/tests/test_component_data_followups.py +365 -0
- processpi-0.2.2/tests/test_component_example_fixes.py +200 -0
- processpi-0.2.2/tests/test_component_hx_data.py +118 -0
- processpi-0.2.2/tests/test_component_vp_formulas.py +99 -0
- processpi-0.2.2/tests/test_components_exports.py +76 -0
- processpi-0.2.2/tests/test_crash_regressions.py +119 -0
- processpi-0.2.2/tests/test_distillation_column.py +387 -0
- processpi-0.2.2/tests/test_distillation_engine.py +86 -0
- processpi-0.2.2/tests/test_distillation_shortcut.py +214 -0
- processpi-0.2.2/tests/test_distillation_stage_count.py +44 -0
- processpi-0.2.2/tests/test_engine_network.py +93 -0
- processpi-0.2.2/tests/test_heatexchanger_engine_dispatch.py +129 -0
- processpi-0.2.2/tests/test_heatexchanger_flowsheet.py +243 -0
- processpi-0.2.2/tests/test_heatexchanger_fluid_assignment.py +446 -0
- processpi-0.2.2/tests/test_heatexchanger_tabular_result.py +63 -0
- processpi-0.2.2/tests/test_heatexchanger_type_selection.py +140 -0
- processpi-0.2.2/tests/test_hx_calculation_aliases.py +277 -0
- processpi-0.2.2/tests/test_hx_correlations.py +469 -0
- processpi-0.2.2/tests/test_hx_datasheet.py +33 -0
- processpi-0.2.2/tests/test_hx_design_phase_change_service.py +306 -0
- processpi-0.2.2/tests/test_hx_diagnostics.py +378 -0
- processpi-0.2.2/tests/test_hx_ft_correction_factor.py +212 -0
- processpi-0.2.2/tests/test_hx_hydraulic_verdict.py +220 -0
- processpi-0.2.2/tests/test_hx_rating_phase_change.py +266 -0
- processpi-0.2.2/tests/test_hx_shell_side_geometry.py +274 -0
- processpi-0.2.2/tests/test_hx_small_fixes.py +159 -0
- processpi-0.2.2/tests/test_hx_summary.py +244 -0
- processpi-0.2.2/tests/test_hx_tube_selector.py +145 -0
- processpi-0.2.2/tests/test_hx_u_basis.py +409 -0
- processpi-0.2.2/tests/test_hx_viscosity_temperature.py +80 -0
- processpi-0.2.2/tests/test_hx_warnings.py +185 -0
- processpi-0.2.2/tests/test_import_hygiene.py +60 -0
- processpi-0.2.2/tests/test_missing_compounds.py +333 -0
- processpi-0.2.2/tests/test_network.py +89 -0
- processpi-0.2.2/tests/test_phase_above_critical.py +52 -0
- processpi-0.2.2/tests/test_pipe_schedule_table.py +123 -0
- processpi-0.2.2/tests/test_pipeline_api_fixes.py +115 -0
- processpi-0.2.2/tests/test_pipeline_diameters.py +337 -0
- processpi-0.2.2/tests/test_pipeline_engine_cleanup.py +108 -0
- processpi-0.2.2/tests/test_pipeline_fitting_losses.py +274 -0
- processpi-0.2.2/tests/test_pipeline_graph_network.py +849 -0
- {processpi-0.2.1 → processpi-0.2.2}/tests/test_pipeline_network.py +13 -13
- processpi-0.2.2/tests/test_pipeline_network_sizing.py +365 -0
- processpi-0.2.2/tests/test_pipeline_network_solver.py +176 -0
- processpi-0.2.2/tests/test_pipeline_sizing.py +116 -0
- processpi-0.2.2/tests/test_pressure_vessel.py +66 -0
- processpi-0.2.2/tests/test_pressure_vessel_asme_formulas.py +229 -0
- processpi-0.2.2/tests/test_pressure_vessel_engine.py +196 -0
- processpi-0.2.2/tests/test_shell_tube_kern_bell_workflow.py +89 -0
- processpi-0.2.2/tests/test_stream_state_properties.py +186 -0
- processpi-0.2.2/tests/test_unit_system.py +235 -0
- processpi-0.2.2/tests/test_vapor_placeholder.py +127 -0
- processpi-0.2.2/tests/test_variables.py +110 -0
- processpi-0.2.1/processpi/calculations/heat_transfer/heat_exchanger.py +0 -103
- processpi-0.2.1/processpi/components/__init__.py +0 -40
- processpi-0.2.1/processpi/components/carbonmonoxide.py +0 -28
- processpi-0.2.1/processpi/components/cyclohexene.py +0 -17
- processpi-0.2.1/processpi/components/ethane.py +0 -27
- processpi-0.2.1/processpi/equipment/__init__.py +0 -15
- processpi-0.2.1/processpi/equipment/heatexchangers/base.py +0 -214
- processpi-0.2.1/processpi/equipment/heatexchangers/bell_delaware.py +0 -10
- processpi-0.2.1/processpi/equipment/heatexchangers/condenser.py +0 -138
- processpi-0.2.1/processpi/equipment/heatexchangers/engine.py +0 -376
- processpi-0.2.1/processpi/equipment/heatexchangers/evaporator.py +0 -149
- processpi-0.2.1/processpi/equipment/heatexchangers/shell_and_tube.py +0 -2633
- processpi-0.2.1/processpi/pipelines/engine.py +0 -1736
- processpi-0.2.1/processpi/pipelines/pipes.py +0 -162
- processpi-0.2.1/processpi/pipelines/standards.py +0 -715
- processpi-0.2.1/processpi.egg-info/SOURCES.txt +0 -170
- processpi-0.2.1/tests/test_engine_network.py +0 -111
- processpi-0.2.1/tests/test_heatexchanger_mechanical_dispatch.py +0 -51
- processpi-0.2.1/tests/test_network.py +0 -79
- processpi-0.2.1/tests/test_shell_tube_kern_bell_workflow.py +0 -62
- processpi-0.2.1/tests/test_variables.py +0 -93
- {processpi-0.2.1 → processpi-0.2.2}/LICENSE +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/base.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/flow_type.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/friction_factor_colebrookwhite.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/optimium_pipe_dia.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_darcy.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_fanning.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pressure_drop_hazen_williams.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/pump_power.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/reynolds_number.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/fluids/velocity.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/biot.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/boiling_chen.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/combined_modes.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation_dropwise.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/condensation_nusselt.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/fourier.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/fourierlaw.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/grashof.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/heat_exchanger_area.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/lmtd.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/newton_cooling.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/ntu.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/nusselt.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/overall_u.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/peclet.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/prandtl.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radial_cylinder.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_blackbody.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_exchange.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_greybody.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/radiation_viewfactor.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/resistance.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/reyleigh.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/rohsenow_boiling.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/heat_transfer/stefan_boltzmann.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/drying_rate.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/residence_time.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/enthalpy_change.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/entropy_change.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/thermodynamics/heat_of_vaporization.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/components/constants.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/constants.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/base.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/equipment/heatexchangers/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/integration/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/integration/flowsheet.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/base.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/design_rules.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/equipment.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/insulation.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/materials.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/nozzle.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/pumps.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/selection.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/pipelines/vessel.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/streams/energy.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/__init__.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi/units/temperature.py +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/dependency_links.txt +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/requires.txt +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/processpi.egg-info/top_level.txt +0 -0
- {processpi-0.2.1 → processpi-0.2.2}/setup.cfg +0 -0
- {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.
|
|
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()}
|
|
186
|
-
print(f"Ethanol viscosity: {ethanol.viscosity()}
|
|
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()}
|
|
139
|
-
print(f"Ethanol viscosity: {ethanol.viscosity()}
|
|
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
|
)
|
|
@@ -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,
|
|
@@ -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:
|
{processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/mass_transfer/distillation_stage_count.py
RENAMED
|
@@ -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
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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:
|
{processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/catalyst_activity.py
RENAMED
|
@@ -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
|
|
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
|
|
{processpi-0.2.1 → processpi-0.2.2}/processpi/calculations/reaction_engineering/reaction_rate.py
RENAMED
|
@@ -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
|
|
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
|
|
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]
|