h2integrate.converters.iron.humbert_stinn_ewin_cost#
Iron electronwinning cost model based on Humbert et al. and Stinn and Allanore
This module contains H2I cost configs and components for modeling iron electrowinning. It is based on the work of Humbert et al. (doi.org/10.1007/s40831-024-00878-3), which contains relevant iron electrowinning performance and cost data, and Stinn & Allanore (doi.org/10.1149.2/2.F06202IF), which presents an empirical capex model for electrowinning of many different metals based on many physical parameters of the electrowinning process.
The opex model developed by Humbert et al. is imported from ./humbert/cost_model.py
The capex model developed by Stinn & Allanore is imported from ./stinn/cost_model.py
- Classes:
HumbertEwinCostConfig: Sets the required model_inputs fields. HumbertEwinCostComponent: Defines initialize(), setup(), and compute() methods.
Classes
|
OpenMDAO component for the Humbert/Stinn iron electrowinning cost model. |
|
Configuration class for the Humbert iron electrowinning cost model. |
- class h2integrate.converters.iron.humbert_stinn_ewin_cost.HumbertStinnEwinCostConfig(cost_year=2018, labor_rate_cost=55.9, anode_cost_per_tonne=1660.716, annual_labor_hours_per_position=2000, *, electrolysis_type)#
Configuration class for the Humbert iron electrowinning cost model.
Default values for the labor_rate_cost, anode_cost_per_tonne, and annual_labor_hours_per_position came from the SI spreadsheet of the Humbert Opex model and were adjusted to 2018 dollars using CPI.
- Parameters:
electrolysis_type (str) – The type of electrowinning being performed. Options: “ahe”: Aqueous Hydroxide Electrolysis (AHE) “mse”: Molten Salt Electrolysis (MSE) “moe”: Molten Oxide Electrolysis (MOE)
cost_year (int) – The dollar year of costs output by the model. Defaults to 2018, the dollar year in which data was given in the Stinn paper
labor_rate_cost (float, optional) – labor cost in USD/person-hour. Defaults to 55.90, the number used in the Humbert OpEx model and adjusted to 2018 USD using CPI.
anode_cost_per_tonne (float, optional) – anode cost in USD/tonne. Defaults to 1660.716, the number used in the Humbert OpEx model and adjusted to 2018 USD using CPI.
annual_labor_hours_per_position (float | int, optional) – The labor hours per position per year. Defaults to 2000, the number used in the Humbert OpEx model.
- electrolysis_type: str#
- cost_year: int#
- labor_rate_cost: float#
- anode_cost_per_tonne: float#
- annual_labor_hours_per_position: int | float#
- class h2integrate.converters.iron.humbert_stinn_ewin_cost.HumbertStinnEwinCostComponent(**kwargs)#
OpenMDAO component for the Humbert/Stinn iron electrowinning cost model.
Default values for many inputs are set for 3 technology classes:
Aqueous Hydroxide Electrolysis (AHE)
Molten Salt Electrolysis (MSE)
Molten Oxide Electrolysis (MOE)
All of these values come from the SI spreadsheet for the Humbert paper that can be downloaded at doi.org/10.1007/s40831-024-00878-3 except for the default anode replacement interval. These are exposed to OpenMDAO for potential future optimization/sensitivity analysis.
We calculate both CapEx and OpEx in this component. CapEx is calculated using the Stinn & Allanore model. OpEx is calculated using the Humbert et al. model.
- OpenMDAO Inputs
- output_capacity#
Maximum annual iron production capacity in kg/year.
- Type:
float
- iron_ore_in#
Iron ore mass flow available in kg/h for each timestep.
- Type:
array
- electricity_in#
Electric power input available in kW for each timestep.
- Type:
array
- specific_energy_electrolysis#
The specific electrical energy consumption required to win pure iron (Fe) from iron ore - JUST the electrolysis step.
- Type:
float
- electrolysis_temp#
Electrolysis temperature (°C).
- Type:
float
- electron_moles#
Moles of electrons per mole of iron product.
- Type:
float
- current_density#
Current density (A/m²).
- Type:
float
- electrode_area#
Electrode area per cell (m²).
- Type:
float
- current_efficiency#
Current efficiency (dimensionless).
- Type:
float
- cell_voltage#
Cell operating voltage (V).
- Type:
float
- rectifier_lines#
Number of rectifier lines.
- Type:
float
- positions#
Labor rate (position-years/tonne).
- Type:
float
- NaOH_ratio#
Ratio of NaOH consumed to Fe produced.
- Type:
float
- CaCl2_ratio#
Ratio of CaCl2 consumed to Fe produced.
- Type:
float
- limestone_ratio#
Ratio of limestone consumed to Fe produced.
- Type:
float
- anode_ratio#
Ratio of anode mass to annual iron production.
- Type:
float
- anode_replacement_interval#
Replacement interval of anodes (years).
- Type:
float
- OpenMDAO Outputs
- CapEx#
Total capital cost of the electrowinning plant (USD).
- Type:
float
- OpEx#
Yearly operating expenses in USD/year which do NOT depend on plant output.
- Type:
float
- VarOpEx#
Yearly operating expenses in USD/year which DO depend on plant output.
- Type:
float
- processing_capex#
Portion of the capex that is apportioned to preprocessing of ore.
- Type:
float
- electrolysis_capex#
Portion of the capex that is apportioned to electrolysis.
- Type:
float
- rectifier_capex#
Portion of the capex that is apportioned to rectifiers.
- Type:
float
- labor_opex#
Portion of the opex that is apportioned to labor.
- Type:
float
- NaOH_opex#
Portion of the opex that is apportioned to NaOH.
- Type:
float
- CaCl2_opex#
Portion of the opex that is apportioned to CaCl2.
- Type:
float
- limestone_opex#
Portion of the opex that is apportioned to limestone.
- Type:
float
- anode_opex#
Portion of the opex that is apportioned to anodes.
- Type:
float
- ore_opex#
Portion of the opex that is apportioned to ore.
- Type:
float
- elec_opex#
Portion of the opex that is apportioned to electricity.
- Type:
float
- 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.