Distribution Solar#

pydantic model gdm.distribution.components.DistributionSolar#

Data model for Solar PV system in distribution system models.

field active_power: Annotated[PositiveActivePower, FieldInfo(annotation=NoneType, required=True, description='Active power output of the inverter.')] [Required]#

Active power output of the inverter.

field bus: Annotated[DistributionBus, FieldInfo(annotation=NoneType, required=True, description='Distribution bus to which this solar array is connected to.')] [Required]#

Distribution bus to which this solar array 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[SolarEquipment, FieldInfo(annotation=NoneType, required=True, description='Solar PV model.')] [Required]#

Solar PV 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 Solar PV system.')] [Required]#

Inverter equipment for the Distribution Solar PV system.

field irradiance: Annotated[Irradiance, FieldInfo(annotation=NoneType, required=True, description='Irradiance incident on the PV array.')] [Required]#

Irradiance incident on the PV array.

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 solar array is connected to in the same order.')] [Required]#

List of phases at which this solar array is connected to in the same order.

field reactive_power: Annotated[ReactivePower, FieldInfo(annotation=NoneType, required=True, description='Reactive power output of the inverter.')] [Required]#

Reactive power output of the inverter.

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[DistributionSolar], bus: DistributionBus, name: str, split_phase_mapping: dict[str, set[Phase]]) DistributionSolar#
validator validate_controller_types  »  all fields#