h2integrate.core.model_baseclasses#

Classes

CostModelBaseClass(**kwargs)

Baseclass to be used for all cost models.

ResizeablePerformanceModelBaseClass(**kwargs)

Baseclass to be used for all resizeable performance models.

class h2integrate.core.model_baseclasses.CostModelBaseClass(**kwargs)#

Baseclass to be used for all cost models. The built-in outputs are used by the finance model and must be outputted by all cost models.

Outputs:
  • CapEx (float): capital expenditure costs in $

  • OpEx (float): annual fixed operating expenditure costs in $/year

  • VarOpEx (float): annual variable operating expenditure costs in $/year

Discrete Outputs:
  • cost_year (int): dollar-year corresponding to CapEx and OpEx values.

    This may be inherent to the cost model, or may depend on user provided input values.

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.

class h2integrate.core.model_baseclasses.ResizeablePerformanceModelBaseClass(**kwargs)#

Baseclass to be used for all resizeable performance models. The built-in inputs are used by the performance models to resize themselves.

These parameters are all set as attributes within the config class, which inherits from h2integrate.core.utilities.ResizeablePerformanceModelBaseConfig

Discrete Inputs:
  • size_mode (str): The mode in which the component is sized. Options:
    • "normal": The component size is taken from the tech_config.

    • "resize_by_max_feedstock": The component size is calculated relative to the

      maximum available amount of a certain feedstock or feedstocks

    • "resize_by_max_commodity": The electrolyzer size is calculated relative to the

      maximum amount of the commodity used by another tech

  • flow_used_for_sizing (str): The feedstock/commodity flow used to determine the plant size

    in "resize_by_max_feedstock" and "resize_by_max_commodity" modes

Inputs:
  • max_feedstock_ratio (float): The ratio of the max feedstock that can be consumed by

    this component to the max feedstock available.

  • max_commodity_ratio (float): The ratio of the max commodity that can be produced by

    this component to the max commodity consumed by the downstream tech.

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.