h2integrate.control.control_strategies.storage.openloop_storage_control_base#
Classes
|
Base OpenMDAO component for open-loop demand tracking. |
|
Configuration class for the open-loop storage control models. |
- class h2integrate.control.control_strategies.storage.openloop_storage_control_base.StorageOpenLoopControlBaseConfig(*, commodity, commodity_rate_units, demand_profile, commodity_amount_units=None)#
Configuration class for the open-loop storage control models.
- Attributes:
commodity (str): Name of the commodity being stored (e.g., “hydrogen”). commodity_rate_units (str): Rate units of the commodity (e.g., “kg/h” or “kW”). demand_profile (int | float | list): Demand values for each timestep, in
the same units as commodity_rate_units. May be a scalar for constant demand or a list/array for time-varying demand.
- commodity_amount_units (str | None, optional): Units of the commodity as an amount
(i.e., kW*h or kg). If not provided, defaults to commodity_rate_units*h.
- Parameters:
commodity (str)
commodity_rate_units (str)
demand_profile (int | float | list)
commodity_amount_units (str)
- commodity: str#
- commodity_rate_units: str#
- demand_profile: int | float | list#
- commodity_amount_units: str#
- class h2integrate.control.control_strategies.storage.openloop_storage_control_base.StorageOpenLoopControlBase(**kwargs)#
Base OpenMDAO component for open-loop demand tracking.
This component defines the interfaces required for open-loop demand controllers, including inputs for demand, available commodity, and outputs dispatch command profile.
- _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()#
This method must be implemented by subclasses to define the controller.
- Raises:
NotImplementedError – Always, unless implemented in a subclass.