h2integrate.simulation.technologies.steel.steel

Contents

h2integrate.simulation.technologies.steel.steel#

Functions

run_size_steel_plant_capacity(config)

Calculates either the annual steel production in metric tons based on plant capacity and available hydrogen or the amount of required hydrogen based on a desired steel production.

run_steel_cost_model(config)

Calculates the capital expenditure (CapEx) and operating expenditure (OpEx) for a steel manufacturing plant based on the provided configuration.

run_steel_finance_model(config)

Executes the financial model for steel production, calculating the breakeven price of steel and other financial metrics based on the provided configuration and cost models.

run_steel_full_model(h2integrate_config[, ...])

Runs the full steel model, including capacity, cost, and finance models.

run_steel_model(plant_capacity_mtpy, ...)

Calculates the annual steel production in metric tons based on plant capacity and capacity factor.

Classes

Feedstocks(natural_gas_prices[, ...])

Represents the consumption rates and costs of various feedstocks used in steel production.

SteelCapacityModelConfig(...[, ...])

Configuration inputs for the steel capacity sizing model, including plant capacity and feedstock details.

SteelCapacityModelOutputs(...)

Outputs from the steel size model.

SteelCostModelConfig(operational_year, ...)

Configuration for the steel cost model, including operational parameters and feedstock costs.

SteelCostModelOutputs(capex_eaf_casting, ...)

Outputs of the steel cost model, extending the SteelCosts data with total cost calculations and specific cost components related to the operation and installation of a steel production plant.

SteelCosts(capex_eaf_casting, ...)

Base dataclass for calculated steel costs.

SteelFinanceModelConfig(plant_life, ...[, ...])

Configuration for the steel finance model, including plant characteristics, financial assumptions, and cost inputs.

SteelFinanceModelOutputs(sol, summary, ...)

Represents the outputs of the steel finance model, encapsulating the results of financial analysis for steel production.

class h2integrate.simulation.technologies.steel.steel.Feedstocks(natural_gas_prices, excess_oxygen=395, lime_unitcost=122.1, lime_transport_cost=0.0, carbon_unitcost=236.97, carbon_transport_cost=0.0, electricity_cost=48.92, iron_ore_pellet_unitcost=207.35, iron_ore_pellet_transport_cost=0.0, oxygen_market_price=0.03, raw_water_unitcost=0.59289, iron_ore_consumption=1.62927, raw_water_consumption=0.80367, lime_consumption=0.01812, carbon_consumption=0.0538, hydrogen_consumption=0.06596, natural_gas_consumption=0.71657, electricity_consumption=0.5502, slag_disposal_unitcost=37.63, slag_production=0.17433, maintenance_materials_unitcost=7.72)#

Represents the consumption rates and costs of various feedstocks used in steel production.

Parameters:
  • natural_gas_prices (dict[str, float])

  • excess_oxygen (float)

  • lime_unitcost (float)

  • lime_transport_cost (float)

  • carbon_unitcost (float)

  • carbon_transport_cost (float)

  • electricity_cost (float)

  • iron_ore_pellet_unitcost (float)

  • iron_ore_pellet_transport_cost (float)

  • oxygen_market_price (float)

  • raw_water_unitcost (float)

  • iron_ore_consumption (float)

  • raw_water_consumption (float)

  • lime_consumption (float)

  • carbon_consumption (float)

  • hydrogen_consumption (float)

  • natural_gas_consumption (float)

  • electricity_consumption (float)

  • slag_disposal_unitcost (float)

  • slag_production (float)

  • maintenance_materials_unitcost (float)

natural_gas_prices#

Natural gas costs, indexed by year ($/GJ).

Type:

Dict[str, float]

excess_oxygen#

Excess oxygen produced (kgO2), default = 395.

Type:

float

lime_unitcost#

Cost per metric ton of lime ($/metric ton).

Type:

float

lime_transport_cost#

Cost to transport lime per metric ton of lime ($/metric ton).

Type:

float

carbon_unitcost#

Cost per metric ton of carbon ($/metric ton).

Type:

float

carbon_transport_cost#

Cost to transport carbon per metric ton of carbon ($/metric ton).

Type:

float

electricity_cost#

Electricity cost per metric ton of steel production ($/metric ton).

Type:

float

iron_ore_pellet_unitcost#

Cost per metric ton of iron ore ($/metric ton).

Type:

float

iron_ore_pellet_transport_cost#

Cost to transport iron ore per metric ton of iron ore ($/metric ton).

Type:

float

oxygen_market_price#

Market price per kg of oxygen ($/kgO2).

Type:

float

raw_water_unitcost#

Cost per metric ton of raw water ($/metric ton).

Type:

float

iron_ore_consumption#

Iron ore consumption per metric ton of steel production (metric tons).

Type:

float

raw_water_consumption#

Raw water consumption per metric ton of steel production (metric tons).

Type:

float

lime_consumption#

Lime consumption per metric ton of steel production (metric tons).

Type:

float

carbon_consumption#

Carbon consumption per metric ton of steel production (metric tons).

Type:

float

hydrogen_consumption#

Hydrogen consumption per metric ton of steel production (metric tons).

Type:

float

natural_gas_consumption#

Natural gas consumption per metric ton of steel production (GJ-LHV).

Type:

float

electricity_consumption#

Electricity consumption per metric ton of steel production (MWh).

Type:

float

slag_disposal_unitcost#

Cost per metric ton of slag disposal ($/metric ton).

Type:

float

slag_production#

Slag production per metric ton of steel production (metric tons).

Type:

float

maintenance_materials_unitcost#

Cost per metric ton of annual steel slab production at real capacity factor ($/metric ton).

Type:

float

natural_gas_prices: dict[str, float]#
excess_oxygen: float#
lime_unitcost: float#
lime_transport_cost: float#
carbon_unitcost: float#
carbon_transport_cost: float#
electricity_cost: float#
iron_ore_pellet_unitcost: float#
iron_ore_pellet_transport_cost: float#
oxygen_market_price: float#
raw_water_unitcost: float#
iron_ore_consumption: float#
raw_water_consumption: float#
lime_consumption: float#
carbon_consumption: float#
hydrogen_consumption: float#
natural_gas_consumption: float#
electricity_consumption: float#
slag_disposal_unitcost: float#
slag_production: float#
maintenance_materials_unitcost: float#
class h2integrate.simulation.technologies.steel.steel.SteelCostModelConfig(operational_year, plant_capacity_mtpy, lcoh, feedstocks, o2_heat_integration=True, co2_fuel_emissions=0.03929, co2_carbon_emissions=0.17466, surface_water_discharge=0.42113)#

Configuration for the steel cost model, including operational parameters and feedstock costs.

Parameters:
  • operational_year (int)

  • plant_capacity_mtpy (float)

  • lcoh (float)

  • feedstocks (Feedstocks)

  • o2_heat_integration (bool)

  • co2_fuel_emissions (float)

  • co2_carbon_emissions (float)

  • surface_water_discharge (float)

operational_year#

The year of operation for cost estimation.

Type:

int

plant_capacity_mtpy#

Plant capacity in metric tons per year.

Type:

float

lcoh#

Levelized cost of hydrogen ($/kg).

Type:

float

feedstocks#

An instance of the Feedstocks class containing feedstock consumption rates and costs.

Type:

Feedstocks

o2_heat_integration#

Indicates whether oxygen and heat integration is used, affecting preheating CapEx, cooling CapEx, and oxygen sales. Default is True.

Type:

bool

co2_fuel_emissions#

CO2 emissions from fuel per metric ton of steel production.

Type:

float

co2_carbon_emissions#

CO2 emissions from carbon per metric ton of steel production.

Type:

float

surface_water_discharge#

Surface water discharge per metric ton of steel production.

Type:

float

operational_year: int#
plant_capacity_mtpy: float#
lcoh: float#
feedstocks: Feedstocks#
o2_heat_integration: bool#
co2_fuel_emissions: float#
co2_carbon_emissions: float#
surface_water_discharge: float#
class h2integrate.simulation.technologies.steel.steel.SteelCosts(capex_eaf_casting, capex_shaft_furnace, capex_oxygen_supply, capex_h2_preheating, capex_cooling_tower, capex_piping, capex_elec_instr, capex_buildings_storage_water, capex_misc, labor_cost_annual_operation, labor_cost_maintenance, labor_cost_admin_support, property_tax_insurance, land_cost, installation_cost)#

Base dataclass for calculated steel costs.

Parameters:
  • capex_eaf_casting (float)

  • capex_shaft_furnace (float)

  • capex_oxygen_supply (float)

  • capex_h2_preheating (float)

  • capex_cooling_tower (float)

  • capex_piping (float)

  • capex_elec_instr (float)

  • capex_buildings_storage_water (float)

  • capex_misc (float)

  • labor_cost_annual_operation (float)

  • labor_cost_maintenance (float)

  • labor_cost_admin_support (float)

  • property_tax_insurance (float)

  • land_cost (float)

  • installation_cost (float)

capex_eaf_casting#

Capital expenditure for electric arc furnace and casting.

Type:

float

capex_shaft_furnace#

Capital expenditure for shaft furnace.

Type:

float

capex_oxygen_supply#

Capital expenditure for oxygen supply.

Type:

float

capex_h2_preheating#

Capital expenditure for hydrogen preheating.

Type:

float

capex_cooling_tower#

Capital expenditure for cooling tower.

Type:

float

capex_piping#

Capital expenditure for piping.

Type:

float

capex_elec_instr#

Capital expenditure for electrical and instrumentation.

Type:

float

capex_buildings_storage_water#

Capital expenditure for buildings, storage, and water service.

Type:

float

capex_misc#

Capital expenditure for miscellaneous items.

Type:

float

labor_cost_annual_operation#

Annual operating labor cost.

Type:

float

labor_cost_maintenance#

Maintenance labor cost.

Type:

float

labor_cost_admin_support#

Administrative and support labor cost.

Type:

float

property_tax_insurance#

Cost for property tax and insurance.

Type:

float

land_cost#

Cost of land.

Type:

float

installation_cost#

Cost of installation.

Type:

float

Note

These represent the minimum set of required cost data for run_steel_finance_model, as well as base data for SteelCostModelOutputs.

capex_eaf_casting: float#
capex_shaft_furnace: float#
capex_oxygen_supply: float#
capex_h2_preheating: float#
capex_cooling_tower: float#
capex_piping: float#
capex_elec_instr: float#
capex_buildings_storage_water: float#
capex_misc: float#
labor_cost_annual_operation: float#
labor_cost_maintenance: float#
labor_cost_admin_support: float#
property_tax_insurance: float#
land_cost: float#
installation_cost: float#
class h2integrate.simulation.technologies.steel.steel.SteelCostModelOutputs(capex_eaf_casting, capex_shaft_furnace, capex_oxygen_supply, capex_h2_preheating, capex_cooling_tower, capex_piping, capex_elec_instr, capex_buildings_storage_water, capex_misc, labor_cost_annual_operation, labor_cost_maintenance, labor_cost_admin_support, property_tax_insurance, land_cost, installation_cost, total_plant_cost, total_fixed_operating_cost, labor_cost_fivemonth, maintenance_materials_onemonth, non_fuel_consumables_onemonth, waste_disposal_onemonth, monthly_energy_cost, spare_parts_cost, misc_owners_costs)#

Outputs of the steel cost model, extending the SteelCosts data with total cost calculations and specific cost components related to the operation and installation of a steel production plant.

Parameters:
  • capex_eaf_casting (float)

  • capex_shaft_furnace (float)

  • capex_oxygen_supply (float)

  • capex_h2_preheating (float)

  • capex_cooling_tower (float)

  • capex_piping (float)

  • capex_elec_instr (float)

  • capex_buildings_storage_water (float)

  • capex_misc (float)

  • labor_cost_annual_operation (float)

  • labor_cost_maintenance (float)

  • labor_cost_admin_support (float)

  • property_tax_insurance (float)

  • land_cost (float)

  • installation_cost (float)

  • total_plant_cost (float)

  • total_fixed_operating_cost (float)

  • labor_cost_fivemonth (float)

  • maintenance_materials_onemonth (float)

  • non_fuel_consumables_onemonth (float)

  • waste_disposal_onemonth (float)

  • monthly_energy_cost (float)

  • spare_parts_cost (float)

  • misc_owners_costs (float)

total_plant_cost#

The total capital expenditure (CapEx) for the steel plant.

Type:

float

total_fixed_operating_cost#

The total annual operating expenditure (OpEx), including labor, maintenance, administrative support, and property tax/insurance.

Type:

float

labor_cost_fivemonth#

Cost of labor for the first five months of operation, often used in startup cost calculations.

Type:

float

maintenance_materials_onemonth#

Cost of maintenance materials for one month of operation.

Type:

float

non_fuel_consumables_onemonth#

Cost of non-fuel consumables for one month of operation.

Type:

float

waste_disposal_onemonth#

Cost of waste disposal for one month of operation.

Type:

float

monthly_energy_cost#

Cost of energy (electricity, natural gas, etc.) for one month of operation.

Type:

float

spare_parts_cost#

Cost of spare parts as part of the initial investment.

Type:

float

misc_owners_costs#

Miscellaneous costs incurred by the owner, including but not limited to, initial supply stock, safety equipment, and initial training programs.

Type:

float

total_plant_cost: float#
total_fixed_operating_cost: float#
labor_cost_fivemonth: float#
maintenance_materials_onemonth: float#
non_fuel_consumables_onemonth: float#
waste_disposal_onemonth: float#
monthly_energy_cost: float#
spare_parts_cost: float#
misc_owners_costs: float#
class h2integrate.simulation.technologies.steel.steel.SteelCapacityModelConfig(input_capacity_factor_estimate, feedstocks, hydrogen_amount_kgpy=None, desired_steel_mtpy=None)#

Configuration inputs for the steel capacity sizing model, including plant capacity and feedstock details.

Parameters:
  • input_capacity_factor_estimate (float)

  • feedstocks (Feedstocks)

  • hydrogen_amount_kgpy (float | None)

  • desired_steel_mtpy (float | None)

hydrogen_amount_kgpy Optional

The amount of hydrogen available in kilograms per year to make steel.

Type:

float

desired_steel_mtpy Optional

The amount of desired steel production in metric tons per year.

Type:

float

input_capacity_factor_estimate#

The estimated steel plant capacity factor.

Type:

float

feedstocks#

An instance of the Feedstocks class detailing the costs and consumption rates of resources used in production.

Type:

Feedstocks

input_capacity_factor_estimate: float#
feedstocks: Feedstocks#
hydrogen_amount_kgpy: float | None#
desired_steel_mtpy: float | None#
class h2integrate.simulation.technologies.steel.steel.SteelCapacityModelOutputs(steel_plant_capacity_mtpy, hydrogen_amount_kgpy)#

Outputs from the steel size model.

Parameters:
  • steel_plant_capacity_mtpy (float)

  • hydrogen_amount_kgpy (float)

steel_plant_size_mtpy#

If amount of hydrogen in kilograms per year is input, the size of the steel plant in metric tons per year is output.

Type:

float

hydrogen_amount_kgpy#

If amount of steel production in metric tons per year is input, the amount of necessary hydrogen feedstock in kilograms per year is output.

Type:

float

steel_plant_capacity_mtpy: float#
hydrogen_amount_kgpy: float#
h2integrate.simulation.technologies.steel.steel.run_size_steel_plant_capacity(config)#

Calculates either the annual steel production in metric tons based on plant capacity and available hydrogen or the amount of required hydrogen based on a desired steel production.

Parameters:

config (SteelCapacityModelConfig) -- Configuration object containing all necessary parameters for the capacity sizing, including capacity factor estimate and feedstock costs.

Returns:

SteelCapacityModelOutputs -- An object containing steel plant capacity in metric tons per year and amount of hydrogen required in kilograms per year.

Return type:

SteelCapacityModelOutputs

h2integrate.simulation.technologies.steel.steel.run_steel_model(plant_capacity_mtpy, plant_capacity_factor)#

Calculates the annual steel production in metric tons based on plant capacity and capacity factor.

Parameters:
  • plant_capacity_mtpy (float) -- The plant's annual capacity in metric tons per year.

  • plant_capacity_factor (float) -- The capacity factor of the plant.

Returns:

float -- The calculated annual steel production in metric tons per year.

Return type:

float

h2integrate.simulation.technologies.steel.steel.run_steel_cost_model(config)#

Calculates the capital expenditure (CapEx) and operating expenditure (OpEx) for a steel manufacturing plant based on the provided configuration.

Parameters:

config (SteelCostModelConfig) -- Configuration object containing all necessary parameters for the cost model, including plant capacity, feedstock costs, and integration options for oxygen and heat.

Returns:

SteelCostModelOutputs -- An object containing detailed breakdowns of capital and operating costs, as well as total plant cost and other financial metrics.

Return type:

SteelCostModelOutputs

Note

The calculation includes various cost components such as electric arc furnace (EAF) casting, shaft furnace, oxygen supply, hydrogen preheating, cooling tower, and more, adjusted based on the Chemical Engineering Plant Cost Index (CEPCI).

class h2integrate.simulation.technologies.steel.steel.SteelFinanceModelConfig(plant_life, plant_capacity_mtpy, plant_capacity_factor, steel_production_mtpy, lcoh, grid_prices, feedstocks, costs, o2_heat_integration=True, financial_assumptions=NOTHING, install_years=3, gen_inflation=0.0, save_plots=False, show_plots=False, output_dir='./output/', design_scenario_id=0)#

Configuration for the steel finance model, including plant characteristics, financial assumptions, and cost inputs.

Parameters:
  • plant_life (int)

  • plant_capacity_mtpy (float)

  • plant_capacity_factor (float)

  • steel_production_mtpy (float)

  • lcoh (float)

  • grid_prices (dict[str, float])

  • feedstocks (Feedstocks)

  • costs (SteelCosts | SteelCostModelOutputs)

  • o2_heat_integration (bool)

  • financial_assumptions (dict[str, float])

  • install_years (int)

  • gen_inflation (float)

  • save_plots (bool)

  • show_plots (bool)

  • output_dir (str)

  • design_scenario_id (int)

plant_life#

The operational lifetime of the plant in years.

Type:

int

plant_capacity_mtpy#

Plant capacity in metric tons per year.

Type:

float

plant_capacity_factor#

The fraction of the year the plant operates at full capacity.

Type:

float

steel_production_mtpy#

Annual steel production in metric tons.

Type:

float

lcoh#

Levelized cost of hydrogen.

Type:

float

grid_prices#

Electricity prices per unit.

Type:

Dict[str, float]

feedstocks#

The feedstocks required for steel production, including types and costs.

Type:

Feedstocks

costs#

Calculated CapEx and OpEx costs.

Type:

Union[SteelCosts, SteelCostModelOutputs]

o2_heat_integration#

Indicates if oxygen and heat integration is used.

Type:

bool

financial_assumptions#

Financial assumptions for model calculations.

Type:

Dict[str, float]

install_years#

The number of years over which the plant is installed.

Type:

int

gen_inflation#

General inflation rate.

Type:

float

save_plots#

select whether or not to save output plots

Type:

bool

show_plots#

select whether or not to show output plots during run

Type:

bool

output_dir#

where to store any saved plots or data

Type:

str

design_scenario_id#

what design scenario the plots correspond to

Type:

int

plant_life: int#
plant_capacity_mtpy: float#
plant_capacity_factor: float#
steel_production_mtpy: float#
lcoh: float#
grid_prices: dict[str, float]#
feedstocks: Feedstocks#
costs: SteelCosts | SteelCostModelOutputs#
o2_heat_integration: bool#
financial_assumptions: dict[str, float]#
install_years: int#
gen_inflation: float#
save_plots: bool#
show_plots: bool#
output_dir: str#
design_scenario_id: int#
class h2integrate.simulation.technologies.steel.steel.SteelFinanceModelOutputs(sol, summary, price_breakdown)#

Represents the outputs of the steel finance model, encapsulating the results of financial analysis for steel production.

Parameters:
  • sol (dict)

  • summary (dict)

  • price_breakdown (DataFrame)

sol#

A dictionary containing the solution to the financial model, including key financial indicators such as NPV (Net Present Value), IRR (Internal Rate of Return), and breakeven price.

Type:

dict

summary#

A summary of key results from the financial analysis, providing a high-level overview of financial metrics and performance indicators.

Type:

dict

price_breakdown#

A Pandas DataFrame detailing the cost breakdown for producing steel, including both capital and operating expenses, as well as the impact of various cost factors on the overall price of steel.

Type:

pd.DataFrame

sol: dict#
summary: dict#
price_breakdown: DataFrame#
h2integrate.simulation.technologies.steel.steel.run_steel_finance_model(config)#

Executes the financial model for steel production, calculating the breakeven price of steel and other financial metrics based on the provided configuration and cost models.

This function integrates various cost components, including capital expenditures (CapEx), operating expenses (OpEx), and owner's costs. It leverages the ProFAST financial analysis software framework.

Parameters:

config (SteelFinanceModelConfig) -- Configuration object containing all necessary parameters and assumptions for the financial model, including plant characteristics, cost inputs, financial assumptions, and grid prices.

Returns:

SteelFinanceModelOutputs -- Object containing detailed financial analysis results, including solution metrics, summary values, price breakdown, and steel price breakdown per metric ton. This output is instrumental in assessing the financial performance and breakeven price for the steel production facility.

Return type:

SteelFinanceModelOutputs

h2integrate.simulation.technologies.steel.steel.run_steel_full_model(h2integrate_config, save_plots=False, show_plots=False, output_dir='./output/', design_scenario_id=0)#

Runs the full steel model, including capacity, cost, and finance models.

Parameters:

h2integrate_config (dict) -- The configuration for the h2integrate model.

Returns:

Tuple[SteelCapacityModelOutputs, SteelCostModelOutputs, SteelFinanceModelOutputs] -- A tuple containing the outputs of the steel capacity, cost, and finance models.

Return type:

tuple[SteelCapacityModelOutputs, SteelCostModelOutputs, SteelFinanceModelOutputs]