h2integrate.storage.simple_storage_auto_sizing#
Classes
|
Performance model that calculates the storage charge rate and capacity needed to either: |
|
Configuration class for the StorageAutoSizingModel. |
- class h2integrate.storage.simple_storage_auto_sizing.StorageSizingModelConfig(*, commodity_name='hydrogen', commodity_units='kg/h', demand_profile=0.0)#
Configuration class for the StorageAutoSizingModel.
- Parameters:
commodity_name (str)
commodity_units (str)
demand_profile (int | float | list)
- 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
- demand_profile#
The demand values for each time step (in the same units as commodity_units) or a scalar for a constant demand.
- Type:
scalar or list
- commodity_name: str#
- commodity_units: str#
- demand_profile: int | float | list#
- class h2integrate.storage.simple_storage_auto_sizing.StorageAutoSizingModel(**kwargs)#
Performance model that calculates the storage charge rate and capacity needed to either:
supply the comodity at a constant rate based on the commodity production profile or
try to meet the commodity demand with the given commodity production profile.
- Inputs:
- {commodity_name}_in (float): Input commodity flow timeseries (e.g., hydrogen production).
Units: Defined in commodity_units (e.g., "kg/h").
- {commodity_name}_demand_profile (float): Demand profile of commodity.
Units: Defined in commodity_units (e.g., "kg/h").
- Outputs:
- max_capacity (float): Maximum storage capacity of the commodity.
Units: in non-rate units, e.g., "kg" if commodity_units is "kg/h"
- max_charge_rate (float): Maximum rate at which the commodity can be charged
Units: Defined in commodity_units (e.g., "kg/h").
- initialize()#
Perform any one-time initialization run at instantiation.
- setup()#
Declare inputs and outputs.
- Available attributes:
name pathname comm options
- compute(inputs, outputs)#
Compute outputs given inputs. The model is assumed to be in an unscaled state.
An inherited component may choose to either override this function or to define a compute_primal function.
- Parameters:
inputs (Vector) -- Unscaled, dimensional input variables read via inputs[key].
outputs (Vector) -- Unscaled, dimensional output variables read via outputs[key].
discrete_inputs (dict-like or None) -- If not None, dict-like object containing discrete input values.
discrete_outputs (dict-like or None) -- If not None, dict-like object containing discrete output values.