h2integrate.converters.co2.marine.direct_ocean_capture#

Functions

setup_electrodialysis_inputs(config)

Helper function to set up electrodialysis inputs from the configuration.

Classes

DOCCostModel(**kwargs)

OpenMDAO component for computing capital (CapEx) and operational (OpEx) costs of a direct ocean capture (DOC) system.

DOCCostModelConfig(*, number_ed_min, ...[, ...])

Configuration for the DOC cost model.

DOCPerformanceConfig(*, number_ed_min, ...)

Extended configuration for Direct Ocean Capture (DOC) performance model.

DOCPerformanceModel(**kwargs)

An OpenMDAO component for modeling the performance of a Direct Ocean Capture (DOC) plant.

h2integrate.converters.co2.marine.direct_ocean_capture.setup_electrodialysis_inputs(config)#

Helper function to set up electrodialysis inputs from the configuration.

class h2integrate.converters.co2.marine.direct_ocean_capture.DOCPerformanceConfig(*, number_ed_min, number_ed_max, use_storage_tanks, store_hours, power_single_ed_w, flow_rate_single_ed_m3s, E_HCl, E_NaOH, y_ext, y_pur, y_vac, frac_ed_flow, temp_C, sal, dic_i, pH_i, initial_tank_volume_m3, save_outputs=False, save_plots=False)#

Extended configuration for Direct Ocean Capture (DOC) performance model.

Variables:
  • number_ed_min (int) -- Minimum number of ED units to operate.

  • number_ed_max (int) -- Maximum number of ED units available.

  • use_storage_tanks (bool) -- Flag indicating whether to use storage tanks.

  • store_hours (float) -- Number of hours of CO₂ storage capacity (hours).

  • power_single_ed_w (float) -- Power requirement of a single electrodialysis (ED) unit (watts).

  • flow_rate_single_ed_m3s (float) -- Flow rate of a single ED unit (cubic meters per second).

  • E_HCl (float) -- Energy required per mole of HCl produced (kWh/mol).

  • E_NaOH (float) -- Energy required per mole of NaOH produced (kWh/mol).

  • y_ext (float) -- CO2 extraction efficiency (unitless fraction).

  • y_pur (float) -- CO2 purity in the product stream (unitless fraction).

  • y_vac (float) -- Vacuum pump efficiency (unitless fraction).

  • frac_ed_flow (float) -- Fraction of intake flow directed to electrodialysis (unitless).

  • temp_C (float) -- Temperature of input seawater (°C).

  • sal (float) -- Salinity of seawater (ppt).

  • dic_i (float) -- Initial dissolved inorganic carbon (mol/L).

  • pH_i (float) -- Initial pH of seawater.

  • initial_tank_volume_m3 (float) -- Initial volume of the tank (m³).

  • save_outputs (bool, optional) -- If true, save results to .csv files. Defaults to False.

  • save_plots (bool, optional) -- If true, save plots of results. Defaults to False.

Parameters:
  • number_ed_min (int)

  • number_ed_max (int)

  • use_storage_tanks (bool)

  • store_hours (float)

  • power_single_ed_w (float)

  • flow_rate_single_ed_m3s (float)

  • E_HCl (float)

  • E_NaOH (float)

  • y_ext (float)

  • y_pur (float)

  • y_vac (float)

  • frac_ed_flow (float)

  • temp_C (float)

  • sal (float)

  • dic_i (float)

  • pH_i (float)

  • initial_tank_volume_m3 (float)

  • save_outputs (bool)

  • save_plots (bool)

number_ed_min: int#
number_ed_max: int#
use_storage_tanks: bool#
store_hours: float#
power_single_ed_w: float#
flow_rate_single_ed_m3s: float#
E_HCl: float#
E_NaOH: float#
y_ext: float#
y_pur: float#
y_vac: float#
frac_ed_flow: float#
temp_C: float#
sal: float#
dic_i: float#
pH_i: float#
initial_tank_volume_m3: float#
save_outputs: bool#
save_plots: bool#
class h2integrate.converters.co2.marine.direct_ocean_capture.DOCPerformanceModel(**kwargs)#

An OpenMDAO component for modeling the performance of a Direct Ocean Capture (DOC) plant.

_time_step_bounds = (3600, 3600)#
_control_classifier = 'dispatchable'#
initialize()#

Perform any one-time initialization run at instantiation.

setup()#

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)#

Computation for the OM component.

For a template class this is not implement and raises an error.

class h2integrate.converters.co2.marine.direct_ocean_capture.DOCCostModelConfig(*, number_ed_min, number_ed_max, use_storage_tanks, store_hours, power_single_ed_w, flow_rate_single_ed_m3s, E_HCl, E_NaOH, y_ext, y_pur, y_vac, frac_ed_flow, temp_C, sal, dic_i, pH_i, initial_tank_volume_m3, save_outputs=False, save_plots=False, infrastructure_type, cost_year=2023)#

Configuration for the DOC cost model.

Variables:
  • infrastructure_type (str) -- Type of infrastructure (e.g., "desal", "swCool", "new").

  • cost_year (int) -- dollar year corresponding to cost values

Parameters:
  • number_ed_min (int)

  • number_ed_max (int)

  • use_storage_tanks (bool)

  • store_hours (float)

  • power_single_ed_w (float)

  • flow_rate_single_ed_m3s (float)

  • E_HCl (float)

  • E_NaOH (float)

  • y_ext (float)

  • y_pur (float)

  • y_vac (float)

  • frac_ed_flow (float)

  • temp_C (float)

  • sal (float)

  • dic_i (float)

  • pH_i (float)

  • initial_tank_volume_m3 (float)

  • save_outputs (bool)

  • save_plots (bool)

  • infrastructure_type (str)

  • cost_year (int)

infrastructure_type: str#
cost_year: int#
class h2integrate.converters.co2.marine.direct_ocean_capture.DOCCostModel(**kwargs)#

OpenMDAO component for computing capital (CapEx) and operational (OpEx) costs of a direct ocean capture (DOC) system.

_time_step_bounds = (3600, 3600)#
initialize()#

Perform any one-time initialization run at instantiation.

setup()#

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs, discrete_inputs, discrete_outputs)#

Computation for the OM component.

For a template class this is not implement and raises an error.