Distribution Battery#
- pydantic model gdm.distribution.components.DistributionBattery#
Data model for battery system in distribution system models.
- field active_power: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='Current active power output of the battery.')] [Required]#
Current active power output of the battery.
- field bus: Annotated[DistributionBus, FieldInfo(annotation=NoneType, required=True, description='Distribution bus to which this battery is connected to.')] [Required]#
Distribution bus to which this battery is connected to.
- field controller: Annotated[InverterController | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Controller settings to control output of the inverter')] = None#
Controller settings to control output of the inverter
- field equipment: Annotated[BatteryEquipment, FieldInfo(annotation=NoneType, required=True, description='Battery model.')] [Required]#
Battery model.
- field feeder: Annotated[DistributionFeeder | None, Field(None, description='Name of the feeder.')] = None#
Name of the feeder.
- field in_service: Annotated[bool, Field(True, description='Is the component in service?')] = True#
Is the component in service?
- field inverter: Annotated[InverterEquipment, FieldInfo(annotation=NoneType, required=True, description='Inverter equipment for the distribution battery system.')] [Required]#
Inverter equipment for the distribution battery system.
- field name: Annotated[str, Field(frozen=True)] [Required]#
- field phases: Annotated[list[Phase], FieldInfo(annotation=NoneType, required=True, description='List of phases at which this battery is connected to in the same order.')] [Required]#
List of phases at which this battery is connected to in the same order.
- field reactive_power: Annotated[ReactivePower, FieldInfo(annotation=NoneType, required=True, description='Current reactive power output of the battery.')] [Required]#
Current reactive power output of the battery.
- field substation: Annotated[DistributionSubstation | None, Field(None, description='Name of the substation.')] = None#
Name of the substation.
- field uuid: UUID [Optional]#
- classmethod aggregate(instances: list[DistributionBattery], bus: DistributionBus, name: str, split_phase_mapping: dict[str, set[Phase]]) DistributionBattery #
Aggregates multiple DistributionBattery instances into a single instance.
This method combines the properties of multiple DistributionBattery instances connected to the same bus into a single DistributionBattery instance. It calculates the aggregate phases, equipment ratings, and efficiencies based on the provided instances.
- Parameters:
instances (list[DistributionBattery]) – List of DistributionBattery instances to be aggregated.
bus (DistributionBus) – The bus to which the aggregated battery is connected.
name (str) – The name for the aggregated DistributionBattery.
split_phase_mapping (dict[str, set[Phase]]) – Mapping of battery names to their respective split phases.
- Returns:
A new DistributionBattery instance representing the aggregate of the provided instances.
- Return type:
- validator validate_controller_types » all fields#