h2integrate.storage.hydrogen.mch_storage#

Classes

MCHTOLStorageCostModel(**kwargs)

Cost model representing a toluene/methylcyclohexane (TOL/MCH) hydrogen storage system.

MCHTOLStorageCostModelConfig(*, ...[, ...])

Config class for MCHTOLStorageCostModel

class h2integrate.storage.hydrogen.mch_storage.MCHTOLStorageCostModelConfig(*, max_capacity, max_charge_rate, max_discharge_rate=None, charge_equals_discharge=True, commodity_name='hydrogen', commodity_units='kg/h', cost_year=2024)#

Config class for MCHTOLStorageCostModel

Parameters:
  • max_capacity (float)

  • max_charge_rate (float)

  • max_discharge_rate (float)

  • charge_equals_discharge (bool)

  • commodity_name (str)

  • commodity_units (str)

  • cost_year (int)

max_capacity#

Maximum hydrogen storage capacity (in non-rate units, e.g., "kg" if commodity_units is "kg/h").

Type:

float

max_charge_rate#

Maximum rate at which the commodity can be charged (in units per time step, e.g., "kg/time step"). This is the hydrogenation capacity.

Type:

float

charge_equals_discharge#

If True, set the max_discharge_rate equal to the max_charge_rate. If False, specify the max_discharge_rate as a value different than the max_charge_rate. Defaults to True. This is the dehydrogenation capacity.

Type:

bool, optional

max_discharge_rate#

Maximum rate at which the commodity can be discharged (in units per time step, e.g., "kg/time step"). This rate does not include the discharge_efficiency. Only required if charge_equals_discharge is False.

Type:

float | None, optional

commodity_name#

Name of the commodity being controlled (e.g., "hydrogen"). Defaults to "hydrogen"

Type:

str, optional

commodity_units#

Units of the commodity (e.g., "kg/h"). Defaults to "kg/h"

Type:

str, optional

cost_year#

Dollar year corresponding to the costs, must be 2024.

Type:

int, optional

max_capacity: float#
max_charge_rate: float#
max_discharge_rate: float#
charge_equals_discharge: bool#
commodity_name: str#
commodity_units: str#
cost_year: int#
class h2integrate.storage.hydrogen.mch_storage.MCHTOLStorageCostModel(**kwargs)#

Cost model representing a toluene/methylcyclohexane (TOL/MCH) hydrogen storage system.

Costs are in 2024 USD.

Sources:

Breunig, H., Rosner, F., Saqline, S. et al. "Achieving gigawatt-scale green hydrogen production and seasonal storage at industrial locations across the U.S." Nat Commun 15, 9049 (2024). https://doi.org/10.1038/s41467-024-53189-2

initialize()#

Perform any one-time initialization run at instantiation.

setup()#

Declare inputs and outputs.

Available attributes:

name pathname comm options

calc_cost_value(b0, b1, b2, b3, b4)#

Calculate the value of the cost function for the given coefficients.

Parameters:
  • b0 (float) -- Coefficient representing the base cost.

  • b1 (float) -- Coefficient for the Hc (hydrogenation capacity) term.

  • b2 (float) -- Coefficient for the Dc (dehydrogenation capacity) term.

  • b3 (float) -- Coefficient for the Ms (maximum storage) term.

  • b4 (float) -- Coefficient for the As (annual hydrogen into storage) term.

Returns:

float -- The calculated cost value based on the provided coefficients and attributes.

compute(inputs, outputs, discrete_inputs, discrete_outputs)#

Computation for the OM component.

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