Distribution Branch#
- pydantic model gdm.distribution.components.SequenceImpedanceBranch#
Data model for sequence impedance branch.
Show JSON schema
{ "title": "SequenceImpedanceBranch", "description": "Data model for sequence impedance branch.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "in_service": { "default": true, "description": "Is the component in service?", "title": "In Service", "type": "boolean" }, "buses": { "description": "List of buses connecting a branch.", "items": { "$ref": "#/$defs/DistributionBus" }, "title": "Buses", "type": "array" }, "length": { "description": "Length of the branch.", "title": "Length", "type": "string" }, "phases": { "description": "List of phases in the same order as conductors.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "equipment": { "$ref": "#/$defs/SequenceImpedanceBranchEquipment", "description": "Sequence impedance branch." } }, "$defs": { "DistributionBus": { "additionalProperties": false, "description": "Data model for distribution bus.\n\nExamples:\n >>> from gdm import DistributionBus\n >>> DistributionBus.example()", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "voltage_type": { "$ref": "#/$defs/VoltageTypes", "description": "Voltage types for buses." }, "phases": { "description": "List of phases for this bus.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "voltagelimits": { "default": [], "description": "List of voltage limit sets for this bus.", "items": { "$ref": "#/$defs/VoltageLimitSet" }, "title": "Voltagelimits", "type": "array" }, "rated_voltage": { "description": "rated voltage for this bus.", "title": "Rated Voltage", "type": "string" }, "coordinate": { "anyOf": [ { "$ref": "#/$defs/Location" }, { "type": "null" } ], "default": null, "description": "Coordinate for the power system bus." } }, "required": [ "name", "voltage_type", "phases", "rated_voltage" ], "title": "DistributionBus", "type": "object" }, "DistributionFeeder": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "DistributionFeeder", "type": "object" }, "DistributionSubstation": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "feeders": { "description": "List of feeders for this substation.", "items": { "$ref": "#/$defs/DistributionFeeder" }, "title": "Feeders", "type": "array" } }, "required": [ "name", "feeders" ], "title": "DistributionSubstation", "type": "object" }, "LimitType": { "description": "Operational limit types.", "enum": [ "min", "max" ], "title": "LimitType", "type": "string" }, "Location": { "additionalProperties": false, "description": "Specifies geographic location.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "title": "Name", "type": "string" }, "x": { "title": "X", "type": "number" }, "y": { "title": "Y", "type": "number" }, "crs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Crs" } }, "required": [ "x", "y" ], "title": "Location", "type": "object" }, "Phase": { "description": "This class is used to represent a single phase from a set of possible values.", "enum": [ "A", "B", "C", "N", "S1", "S2" ], "title": "Phase", "type": "string" }, "SequenceImpedanceBranchEquipment": { "additionalProperties": false, "description": "Data model for sequence impedance branch.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "pos_seq_resistance": { "description": "Per unit length positive sequence resistance.", "title": "Pos Seq Resistance", "type": "string" }, "zero_seq_resistance": { "description": "Per unit length zero sequence impedance.", "title": "Zero Seq Resistance", "type": "string" }, "pos_seq_reactance": { "description": "Per unit length positive sequence impedance.", "title": "Pos Seq Reactance", "type": "string" }, "zero_seq_reactance": { "description": "Per unit length zero sequence impedance.", "title": "Zero Seq Reactance", "type": "string" }, "pos_seq_capacitance": { "description": "Per unit length positive sequence capacitance.", "title": "Pos Seq Capacitance", "type": "string" }, "zero_seq_capacitance": { "description": "Per unit length zero sequence capacitance.", "title": "Zero Seq Capacitance", "type": "string" }, "ampacity": { "description": "Ampacity of the conductor.", "title": "Ampacity", "type": "string" } }, "required": [ "name", "pos_seq_resistance", "zero_seq_resistance", "pos_seq_reactance", "zero_seq_reactance", "pos_seq_capacitance", "zero_seq_capacitance", "ampacity" ], "title": "SequenceImpedanceBranchEquipment", "type": "object" }, "VoltageLimitSet": { "additionalProperties": false, "description": "Data model for voltage limit set.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the voltage limit set.", "title": "Name", "type": "string" }, "limit_type": { "$ref": "#/$defs/LimitType", "description": "Limit type used." }, "value": { "description": "Voltage threshold.", "title": "Value", "type": "string" } }, "required": [ "limit_type", "value" ], "title": "VoltageLimitSet", "type": "object" }, "VoltageTypes": { "description": "Identifier of voltage types referenced in distribution models.", "enum": [ "line-to-line", "line-to-ground" ], "title": "VoltageTypes", "type": "string" } }, "additionalProperties": false, "required": [ "name", "buses", "length", "phases", "equipment" ] }
- Config:
str_strip_whitespace: bool = True
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
use_enum_values: bool = False
arbitrary_types_allowed: bool = True
populate_by_name: bool = True
- Fields:
buses (list[gdm.distribution.components.distribution_bus.DistributionBus])
equipment (gdm.distribution.equipment.sequence_impedance_branch_equipment.SequenceImpedanceBranchEquipment)
feeder (gdm.distribution.components.distribution_feeder.DistributionFeeder | None)
in_service (bool)
length (gdm.quantities.PositiveDistance)
name (str)
phases (list[gdm.distribution.enums.Phase])
substation (gdm.distribution.components.distribution_substation.DistributionSubstation | None)
uuid (uuid.UUID)
- Validators:
validate_fields
»all fields
validate_fields_base
»all fields
- field buses: Annotated[list[DistributionBus], Field(..., description='List of buses connecting a branch.')] [Required]#
List of buses connecting a branch.
- Validated by:
validate_fields
validate_fields_base
- field equipment: Annotated[SequenceImpedanceBranchEquipment, FieldInfo(annotation=NoneType, required=True, description='Sequence impedance branch.')] [Required]#
Sequence impedance branch.
- Validated by:
validate_fields
validate_fields_base
- field feeder: Annotated[DistributionFeeder | None, Field(None, description='Name of the feeder.')] = None#
Name of the feeder.
- Validated by:
validate_fields
validate_fields_base
- field in_service: Annotated[bool, Field(True, description='Is the component in service?')] = True#
Is the component in service?
- Validated by:
validate_fields
validate_fields_base
- field length: Annotated[PositiveDistance, PINT_SCHEMA, Field(..., description='Length of the branch.')] [Required]#
Length of the branch.
- Constraints:
json_schema = {‘type’: ‘string’}
- Validated by:
validate_fields
validate_fields_base
- field phases: Annotated[list[Phase], Field(..., description='List of phases in the same order as conductors.')] [Required]#
List of phases in the same order as conductors.
- Validated by:
validate_fields
validate_fields_base
- field substation: Annotated[DistributionSubstation | None, Field(None, description='Name of the substation.')] = None#
Name of the substation.
- Validated by:
validate_fields
validate_fields_base
- validator validate_fields_base » all fields#
Custom validator for base distribution branch.
- pydantic model gdm.distribution.components.MatrixImpedanceBranch#
Data model for matrix impedance branch.
Show JSON schema
{ "title": "MatrixImpedanceBranch", "description": "Data model for matrix impedance branch.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "in_service": { "default": true, "description": "Is the component in service?", "title": "In Service", "type": "boolean" }, "buses": { "description": "List of buses connecting a branch.", "items": { "$ref": "#/$defs/DistributionBus" }, "title": "Buses", "type": "array" }, "length": { "description": "Length of the branch.", "title": "Length", "type": "string" }, "phases": { "description": "List of phases in the same order as conductors.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "equipment": { "$ref": "#/$defs/MatrixImpedanceBranchEquipment", "description": "Matrix impedance branch equipment." } }, "$defs": { "DistributionBus": { "additionalProperties": false, "description": "Data model for distribution bus.\n\nExamples:\n >>> from gdm import DistributionBus\n >>> DistributionBus.example()", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "voltage_type": { "$ref": "#/$defs/VoltageTypes", "description": "Voltage types for buses." }, "phases": { "description": "List of phases for this bus.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "voltagelimits": { "default": [], "description": "List of voltage limit sets for this bus.", "items": { "$ref": "#/$defs/VoltageLimitSet" }, "title": "Voltagelimits", "type": "array" }, "rated_voltage": { "description": "rated voltage for this bus.", "title": "Rated Voltage", "type": "string" }, "coordinate": { "anyOf": [ { "$ref": "#/$defs/Location" }, { "type": "null" } ], "default": null, "description": "Coordinate for the power system bus." } }, "required": [ "name", "voltage_type", "phases", "rated_voltage" ], "title": "DistributionBus", "type": "object" }, "DistributionFeeder": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "DistributionFeeder", "type": "object" }, "DistributionSubstation": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "feeders": { "description": "List of feeders for this substation.", "items": { "$ref": "#/$defs/DistributionFeeder" }, "title": "Feeders", "type": "array" } }, "required": [ "name", "feeders" ], "title": "DistributionSubstation", "type": "object" }, "LimitType": { "description": "Operational limit types.", "enum": [ "min", "max" ], "title": "LimitType", "type": "string" }, "Location": { "additionalProperties": false, "description": "Specifies geographic location.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "title": "Name", "type": "string" }, "x": { "title": "X", "type": "number" }, "y": { "title": "Y", "type": "number" }, "crs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Crs" } }, "required": [ "x", "y" ], "title": "Location", "type": "object" }, "MatrixImpedanceBranchEquipment": { "additionalProperties": false, "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "r_matrix": { "description": "Per unit length resistance matrix.", "title": "R Matrix", "type": "string" }, "x_matrix": { "description": "Per unit length reactance matrix.", "title": "X Matrix", "type": "string" }, "c_matrix": { "description": "Per unit length capacitance matrix.", "title": "C Matrix", "type": "string" }, "ampacity": { "description": "Ampacity of the conductor.", "title": "Ampacity", "type": "string" } }, "required": [ "name", "r_matrix", "x_matrix", "c_matrix", "ampacity" ], "title": "MatrixImpedanceBranchEquipment", "type": "object" }, "Phase": { "description": "This class is used to represent a single phase from a set of possible values.", "enum": [ "A", "B", "C", "N", "S1", "S2" ], "title": "Phase", "type": "string" }, "VoltageLimitSet": { "additionalProperties": false, "description": "Data model for voltage limit set.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the voltage limit set.", "title": "Name", "type": "string" }, "limit_type": { "$ref": "#/$defs/LimitType", "description": "Limit type used." }, "value": { "description": "Voltage threshold.", "title": "Value", "type": "string" } }, "required": [ "limit_type", "value" ], "title": "VoltageLimitSet", "type": "object" }, "VoltageTypes": { "description": "Identifier of voltage types referenced in distribution models.", "enum": [ "line-to-line", "line-to-ground" ], "title": "VoltageTypes", "type": "string" } }, "additionalProperties": false, "required": [ "name", "buses", "length", "phases", "equipment" ] }
- Config:
str_strip_whitespace: bool = True
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
use_enum_values: bool = False
arbitrary_types_allowed: bool = True
populate_by_name: bool = True
- Fields:
buses (list[gdm.distribution.components.distribution_bus.DistributionBus])
equipment (gdm.distribution.equipment.matrix_impedance_branch_equipment.MatrixImpedanceBranchEquipment)
feeder (gdm.distribution.components.distribution_feeder.DistributionFeeder | None)
in_service (bool)
length (gdm.quantities.PositiveDistance)
name (str)
phases (list[gdm.distribution.enums.Phase])
substation (gdm.distribution.components.distribution_substation.DistributionSubstation | None)
uuid (uuid.UUID)
- Validators:
validate_fields
»all fields
validate_fields_base
»all fields
- field buses: Annotated[list[DistributionBus], Field(..., description='List of buses connecting a branch.')] [Required]#
List of buses connecting a branch.
- Validated by:
validate_fields
validate_fields_base
- field equipment: Annotated[MatrixImpedanceBranchEquipment, FieldInfo(annotation=NoneType, required=True, description='Matrix impedance branch equipment.')] [Required]#
Matrix impedance branch equipment.
- Validated by:
validate_fields
validate_fields_base
- field feeder: Annotated[DistributionFeeder | None, Field(None, description='Name of the feeder.')] = None#
Name of the feeder.
- Validated by:
validate_fields
validate_fields_base
- field in_service: Annotated[bool, Field(True, description='Is the component in service?')] = True#
Is the component in service?
- Validated by:
validate_fields
validate_fields_base
- field length: Annotated[PositiveDistance, PINT_SCHEMA, Field(..., description='Length of the branch.')] [Required]#
Length of the branch.
- Constraints:
json_schema = {‘type’: ‘string’}
- Validated by:
validate_fields
validate_fields_base
- field phases: Annotated[list[Phase], Field(..., description='List of phases in the same order as conductors.')] [Required]#
List of phases in the same order as conductors.
- Validated by:
validate_fields
validate_fields_base
- field substation: Annotated[DistributionSubstation | None, Field(None, description='Name of the substation.')] = None#
Name of the substation.
- Validated by:
validate_fields
validate_fields_base
- validator validate_fields_base » all fields#
Custom validator for base distribution branch.
- pydantic model gdm.distribution.components.GeometryBranch#
Data model for geometry based lines.
Show JSON schema
{ "title": "GeometryBranch", "description": "Data model for geometry based lines.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "in_service": { "default": true, "description": "Is the component in service?", "title": "In Service", "type": "boolean" }, "buses": { "description": "List of buses connecting a branch.", "items": { "$ref": "#/$defs/DistributionBus" }, "title": "Buses", "type": "array" }, "length": { "description": "Length of the branch.", "title": "Length", "type": "string" }, "phases": { "description": "List of phases in the same order as conductors.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "equipment": { "$ref": "#/$defs/GeometryBranchEquipment", "description": "Geometry branch equipment." } }, "$defs": { "BareConductorEquipment": { "additionalProperties": false, "description": "Data model for conductor catalaog.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "conductor_diameter": { "description": "Diameter of the conductor.", "title": "Conductor Diameter", "type": "string" }, "conductor_gmr": { "description": "Geometric mean radius of the conductor.", "title": "Conductor Gmr", "type": "string" }, "ampacity": { "description": "Ampacity of the conductor.", "title": "Ampacity", "type": "string" }, "ac_resistance": { "description": "Per unit length positive alternating current resistance of the conductor.", "title": "Ac Resistance", "type": "string" }, "emergency_ampacity": { "description": "Emergency ampacity for this conductor.", "title": "Emergency Ampacity", "type": "string" }, "dc_resistance": { "description": "Per unit length positive direct current resistance of the conductor.", "title": "Dc Resistance", "type": "string" } }, "required": [ "name", "conductor_diameter", "conductor_gmr", "ampacity", "ac_resistance", "emergency_ampacity", "dc_resistance" ], "title": "BareConductorEquipment", "type": "object" }, "ConcentricCableEquipment": { "additionalProperties": false, "description": "Data model for cable catalog.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "strand_diameter": { "description": "Diameter of the cable strand.", "title": "Strand Diameter", "type": "string" }, "conductor_diameter": { "description": "Diameter of the conductor inside cable.", "title": "Conductor Diameter", "type": "string" }, "cable_diameter": { "description": "Diameter of the cable.", "title": "Cable Diameter", "type": "string" }, "insulation_thickness": { "description": "Thickness of insulation.", "title": "Insulation Thickness", "type": "string" }, "insulation_diameter": { "description": "Diameter of the insulation.", "title": "Insulation Diameter", "type": "string" }, "ampacity": { "description": "Ampacity of the conductor.", "title": "Ampacity", "type": "string" }, "conductor_gmr": { "description": "Geometric mean radius of the conductor.", "title": "Conductor Gmr", "type": "string" }, "strand_gmr": { "description": "Geometric mean radius of the strand.", "title": "Strand Gmr", "type": "string" }, "phase_ac_resistance": { "description": "Per unit length conductor ac resistance.", "title": "Phase Ac Resistance", "type": "string" }, "strand_ac_resistance": { "description": "Per unit length ac resistance of the strand.", "title": "Strand Ac Resistance", "type": "string" }, "num_neutral_strands": { "description": "Number of neutral strands in the cable.", "exclusiveMinimum": 0, "title": "Num Neutral Strands", "type": "integer" }, "rated_voltage": { "description": "Rated voltage for the cable.", "title": "Rated Voltage", "type": "string" } }, "required": [ "name", "strand_diameter", "conductor_diameter", "cable_diameter", "insulation_thickness", "insulation_diameter", "ampacity", "conductor_gmr", "strand_gmr", "phase_ac_resistance", "strand_ac_resistance", "num_neutral_strands", "rated_voltage" ], "title": "ConcentricCableEquipment", "type": "object" }, "DistributionBus": { "additionalProperties": false, "description": "Data model for distribution bus.\n\nExamples:\n >>> from gdm import DistributionBus\n >>> DistributionBus.example()", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "substation": { "anyOf": [ { "$ref": "#/$defs/DistributionSubstation" }, { "type": "null" } ], "default": null, "description": "Name of the substation." }, "feeder": { "anyOf": [ { "$ref": "#/$defs/DistributionFeeder" }, { "type": "null" } ], "default": null, "description": "Name of the feeder." }, "voltage_type": { "$ref": "#/$defs/VoltageTypes", "description": "Voltage types for buses." }, "phases": { "description": "List of phases for this bus.", "items": { "$ref": "#/$defs/Phase" }, "title": "Phases", "type": "array" }, "voltagelimits": { "default": [], "description": "List of voltage limit sets for this bus.", "items": { "$ref": "#/$defs/VoltageLimitSet" }, "title": "Voltagelimits", "type": "array" }, "rated_voltage": { "description": "rated voltage for this bus.", "title": "Rated Voltage", "type": "string" }, "coordinate": { "anyOf": [ { "$ref": "#/$defs/Location" }, { "type": "null" } ], "default": null, "description": "Coordinate for the power system bus." } }, "required": [ "name", "voltage_type", "phases", "rated_voltage" ], "title": "DistributionBus", "type": "object" }, "DistributionFeeder": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "DistributionFeeder", "type": "object" }, "DistributionSubstation": { "additionalProperties": false, "description": "Class interface for distribution feeder.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "feeders": { "description": "List of feeders for this substation.", "items": { "$ref": "#/$defs/DistributionFeeder" }, "title": "Feeders", "type": "array" } }, "required": [ "name", "feeders" ], "title": "DistributionSubstation", "type": "object" }, "GeometryBranchEquipment": { "additionalProperties": false, "description": "Data model for geometry branch info.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "title": "Name", "type": "string" }, "conductors": { "description": "List of overhead wires or cables.", "items": { "anyOf": [ { "$ref": "#/$defs/BareConductorEquipment" }, { "$ref": "#/$defs/ConcentricCableEquipment" } ] }, "title": "Conductors", "type": "array" }, "horizontal_positions": { "description": "Horizontal position of the conductor.", "title": "Horizontal Positions", "type": "string" }, "vertical_positions": { "description": "Vertical position of the conductor.", "title": "Vertical Positions", "type": "string" } }, "required": [ "name", "conductors", "horizontal_positions", "vertical_positions" ], "title": "GeometryBranchEquipment", "type": "object" }, "LimitType": { "description": "Operational limit types.", "enum": [ "min", "max" ], "title": "LimitType", "type": "string" }, "Location": { "additionalProperties": false, "description": "Specifies geographic location.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "title": "Name", "type": "string" }, "x": { "title": "X", "type": "number" }, "y": { "title": "Y", "type": "number" }, "crs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Crs" } }, "required": [ "x", "y" ], "title": "Location", "type": "object" }, "Phase": { "description": "This class is used to represent a single phase from a set of possible values.", "enum": [ "A", "B", "C", "N", "S1", "S2" ], "title": "Phase", "type": "string" }, "VoltageLimitSet": { "additionalProperties": false, "description": "Data model for voltage limit set.", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the voltage limit set.", "title": "Name", "type": "string" }, "limit_type": { "$ref": "#/$defs/LimitType", "description": "Limit type used." }, "value": { "description": "Voltage threshold.", "title": "Value", "type": "string" } }, "required": [ "limit_type", "value" ], "title": "VoltageLimitSet", "type": "object" }, "VoltageTypes": { "description": "Identifier of voltage types referenced in distribution models.", "enum": [ "line-to-line", "line-to-ground" ], "title": "VoltageTypes", "type": "string" } }, "additionalProperties": false, "required": [ "name", "buses", "length", "phases", "equipment" ] }
- Config:
str_strip_whitespace: bool = True
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
use_enum_values: bool = False
arbitrary_types_allowed: bool = True
populate_by_name: bool = True
- Fields:
buses (list[gdm.distribution.components.distribution_bus.DistributionBus])
equipment (gdm.distribution.equipment.geometry_branch_equipment.GeometryBranchEquipment)
feeder (gdm.distribution.components.distribution_feeder.DistributionFeeder | None)
in_service (bool)
length (gdm.quantities.PositiveDistance)
name (str)
phases (list[gdm.distribution.enums.Phase])
substation (gdm.distribution.components.distribution_substation.DistributionSubstation | None)
uuid (uuid.UUID)
- Validators:
validate_fields_base
»all fields
- field buses: Annotated[list[DistributionBus], Field(..., description='List of buses connecting a branch.')] [Required]#
List of buses connecting a branch.
- Validated by:
validate_fields_base
- field equipment: Annotated[GeometryBranchEquipment, FieldInfo(annotation=NoneType, required=True, description='Geometry branch equipment.')] [Required]#
Geometry branch equipment.
- Validated by:
validate_fields_base
- field feeder: Annotated[DistributionFeeder | None, Field(None, description='Name of the feeder.')] = None#
Name of the feeder.
- Validated by:
validate_fields_base
- field in_service: Annotated[bool, Field(True, description='Is the component in service?')] = True#
Is the component in service?
- Validated by:
validate_fields_base
- field length: Annotated[PositiveDistance, PINT_SCHEMA, Field(..., description='Length of the branch.')] [Required]#
Length of the branch.
- Constraints:
json_schema = {‘type’: ‘string’}
- Validated by:
validate_fields_base
- field phases: Annotated[list[Phase], Field(..., description='List of phases in the same order as conductors.')] [Required]#
List of phases in the same order as conductors.
- Validated by:
validate_fields_base
- field substation: Annotated[DistributionSubstation | None, Field(None, description='Name of the substation.')] = None#
Name of the substation.
- Validated by:
validate_fields_base
- validator validate_fields_base » all fields#
Custom validator for base distribution branch.