Hydroprocessing

QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems

This module is developed by:

This module is under the University of Illinois/NCSA Open Source License. Please refer to https://github.com/QSD-Group/QSDsan/blob/main/LICENSE.txt for license details.

class qsdsan.unit_operations.static._hydroprocessing.Hydrocracking(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='Stream', include_construction=False, WHSV=0.625, catalyst_lifetime=39600, catalyst_ID='HC_catalyst', hydrogen_P=7168481.972000001, hydrogen_rxned_to_inf_oil=0.01125, hydrogen_excess=5.556, oil_yield=0.9549000000000001, HCin_T=667.15, HCrxn_T=724.15, gas_composition={'CH4': 0.0063, 'CO2': 0.0388}, oil_composition={'C10H22': 0.11756, 'C11H24': 0.16846, 'C12H26': 0.13198, 'C13H28': 0.09302, 'C14H30': 0.04643, 'C15H32': 0.0325, 'C16H34': 0.01923, 'C17H36': 0.00431, 'C18H38': 0.00099, 'C19H40': 0.00497, 'C20H42': 0.00033, 'C9H20': 0.09086, 'CYCHEX': 0.03714, 'HEPTANE': 0.11474, 'HEXANE': 0.01111, 'OCTANE': 0.08125}, P=None, tau=5, void_fraciton=0.4, length_to_diameter=2, diameter=None, N=None, V=None, auxiliary=False, mixing_intensity=None, kW_per_m3=0, wall_thickness_factor=1.5, vessel_material='Stainless steel 316', vessel_type='Vertical')

Biocrude mixed with H2 are hydrotreated at elevated temperature (405°C) and pressure to produce upgraded biooil. Co-product includes fuel gas.

Parameters:
  • ins (Iterable(stream)) – heavy_oil, hydrogen, catalyst_in.

  • outs (Iterable(stream)) – hc_out, catalyst_out.

  • WHSV (float) – Weight Hourly Space velocity, [kg feed/hr/kg catalyst].

  • catalyst_lifetime (float) – HC catalyst lifetime, [hr].

  • catalyst_ID (str) – ID of the catalyst.

  • hydrogen_P (float) – Hydrogen pressure, [Pa].

  • hydrogen_rxned_to_inf_oil (float) – Reacted H2 to influent oil mass ratio.

  • hydrogen_excess (float) – Actual hydrogen amount = hydrogen_rxned_to_biocrude*hydrogen_excess

  • oil_yield (float) – Mass ratio of cracked oil to the sum of heavy oil and reacted H2, gas yield is calculated as 1-oil_yield (about 100% conversion as in [1]).

  • HCin_T (float) – HC influent temperature, [K].

  • HCrxn_T (float) – HC effluent (after reaction) temperature, [K].

  • gas_composition (dict) – Composition of the gas products, will be normalized to 100% sum.

  • oil_composition (dict) – Composition of the cracked oil, will be normalized to 100% sum.

References

[1] Jones, S. B.; Zhu, Y.; Anderson, D. B.; Hallen, R. T.; Elliott, D. C.;

Schmidt, A. J.; Albrecht, K. O.; Hart, T. R.; Butcher, M. G.; Drennan, C.; Snowden-Swan, L. J.; Davis, R.; Kinchin, C. Process Design and Economics for the Conversion of Algal Biomass to Hydrocarbons: Whole Algae Hydrothermal Liquefaction and Upgrading; PNNL–23227, 1126336; 2014; https://doi.org/10.2172/1126336.

property HC_composition

Composition of gas and oil products, normalized to 100%.

auxiliary_unit_names: tuple[str, ...] = ('compressor', 'heat_exchanger')

Auxiliary unit operation names.

line: str = 'Hydrocracking'

class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class

run()

Run mass and energy balance. This method also runs specifications user defined specifications unless it is being run within a specification (to avoid infinite loops).

See also

_run, specifications, add_specification, add_bounded_numerical_specification

class qsdsan.unit_operations.static._hydroprocessing.Hydrotreating(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='Stream', WHSV=0.625, catalyst_lifetime=15840, catalyst_ID='HT_catalyst', hydrogen_P=10548982.8, hydrogen_rxned_to_inf_oil=0.046, hydrogen_excess=3, hydrocarbon_ratio=0.875, HTin_T=447.15, HTrxn_T=675.15, HT_composition={'C10H12': 0.0204, 'C10H16O4': 0.01837, 'C10H22': 0.0024, 'C11H24': 0.0204, 'C12H26': 0.0204, 'C15H32': 0.0612, 'C16H34': 0.1836, 'C17H36': 0.0816, 'C18H38': 0.0408, 'C19H40': 0.0408, 'C20H42': 0.102, 'C21H44': 0.0408, 'C24H38O4': 0.00817, 'C26H42O4': 0.0102, 'C2H6': 0.02923, 'C30H62': 0.00203, 'C3BENZ': 0.0102, 'C3H8': 0.0165, 'C4BENZ': 0.01223, 'C4H10': 0.0087, 'C6BENZ': 0.0204, 'C7BENZ': 0.0204, 'C8BENZ': 0.0204, 'C9H20': 0.00408, 'CC6METH': 0.0102, 'CH4': 0.0228, 'ETHCYC6': 0.00408, 'ETHYLBEN': 0.0204, 'FOURMONAN': 0, 'HEPTANE': 0.00401, 'HEXANE': 0.00401, 'NPENTAN': 0.00678, 'OCTANE': 0.01013, 'OTTFNA': 0.0102, 'OTTFSN': 0.0204, 'OXYLENE': 0.0102, 'PIPERDIN': 0.00408, 'PROCYC6': 0.00408, 'THREEMHEPTA': 0.0102, 'TOLUENE': 0.01013, 'TRICOSANE': 0.0408, 'TWOMBUTAN': 0.00408, 'TWOMHEXAN': 0.00408, 'TWOMPENTA': 0.00408}, P=None, tau=0.5, void_fraciton=0.4, length_to_diameter=2, diameter=None, N=None, V=None, auxiliary=False, mixing_intensity=None, kW_per_m3=0, wall_thickness_factor=1, vessel_material='Stainless steel 316', vessel_type='Vertical', CAPEX_factor=1, include_PSA=False, PSA_pre=4946300.824, PSA_efficiency=0.9)

Biocrude mixed with H2 are hydrotreated at elevated temperature (405°C) and pressure to produce upgraded biooil. Co-product includes fuel gas. A pressure swing adsorption (PSA) process can be optionally included for H2 recovery.

Parameters:
  • ins (Iterable(stream)) – biocrude, hydrogen, catalyst_in.

  • outs (Iterable(stream)) – ht_out, catalyst_out = self.outs.

  • WHSV (float) – Weight Hourly Space velocity, [kg feed/hr/kg catalyst].

  • catalyst_lifetime (float) – HT catalyst lifetime, [hr].

  • catalyst_ID (str) – ID of the catalyst.

  • hydrogen_P (float) – Hydrogen pressure, [Pa].

  • hydrogen_rxned_to_inf_oil (float) – Reacted H2 to influent oil mass ratio.

  • hydrogen_excess (float) – Actual hydrogen amount = hydrogen_rxned_to_biocrude*hydrogen_excess

  • hydrocarbon_ratio (float) – Mass ratio of produced hydrocarbon to the sum of biocrude and reacted H2.

  • HTin_T (float) – HT influent temperature, [K].

  • HTrxn_T (float) – HT effluent (after reaction) temperature, [K].

  • HT_composition (dict) – HT effluent composition.

  • CAPEX_factor (float) – Factor used to adjust CAPEX.

  • include_PSA (bool) – Whether to include pressure swing adsorption for H2 recovery.

References

[1] Jones, S. B.; Zhu, Y.; Anderson, D. B.; Hallen, R. T.; Elliott, D. C.;

Schmidt, A. J.; Albrecht, K. O.; Hart, T. R.; Butcher, M. G.; Drennan, C.; Snowden-Swan, L. J.; Davis, R.; Kinchin, C. Process Design and Economics for the Conversion of Algal Biomass to Hydrocarbons: Whole Algae Hydrothermal Liquefaction and Upgrading; PNNL–23227, 1126336; 2014; https://doi.org/10.2172/1126336.

[2] Towler, G.; Sinnott, R. Chapter 14 - Design of Pressure Vessels.

In Chemical Engineering Design (Second Edition); Towler, G., Sinnott, R., Eds.; Butterworth-Heinemann: Boston, 2013; pp 563–629. https://doi.org/10.1016/B978-0-08-096659-5.00014-6.

auxiliary_unit_names: tuple[str, ...] = ('compressor', 'heat_exchanger')

Auxiliary unit operation names.

line: str = 'Hydrotreating'

class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class

run()

Run mass and energy balance. This method also runs specifications user defined specifications unless it is being run within a specification (to avoid infinite loops).

See also

_run, specifications, add_specification, add_bounded_numerical_specification