Distribution Transformer Equipment#

pydantic model gdm.distribution.equipment.WindingEquipment#

Data model for winding.

Show JSON schema
{
   "title": "WindingEquipment",
   "description": "Data model for winding.",
   "type": "object",
   "properties": {
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "name": {
         "default": "",
         "description": "Name of the winding.",
         "title": "Name",
         "type": "string"
      },
      "resistance": {
         "description": "Percentage resistance for this winding.",
         "maximum": 100.0,
         "minimum": 0.0,
         "title": "Resistance",
         "type": "number"
      },
      "is_grounded": {
         "description": "Is this winding grounded or not.",
         "title": "Is Grounded",
         "type": "boolean"
      },
      "rated_voltage": {
         "default": "0 ohm",
         "description": "rated voltage rating for this winding.",
         "title": "Rated Voltage",
         "type": "string"
      },
      "voltage_type": {
         "$ref": "#/$defs/VoltageTypes",
         "description": "Set voltage type for rated voltage."
      },
      "rated_power": {
         "default": "0 ohm",
         "description": "Rated power for this winding.",
         "title": "Rated Power",
         "type": "string"
      },
      "num_phases": {
         "description": "Number of phases for this winding.",
         "maximum": 3,
         "minimum": 1,
         "title": "Num Phases",
         "type": "integer"
      },
      "connection_type": {
         "$ref": "#/$defs/ConnectionType",
         "description": "Connection type for this winding."
      },
      "tap_positions": {
         "description": "List of per unit tap positions for each phase. Centered at 0.",
         "items": {
            "type": "number"
         },
         "title": "Tap Positions",
         "type": "array"
      },
      "total_taps": {
         "default": 32,
         "description": "Total number of taps along the bandwidth.",
         "title": "Total Taps",
         "type": "integer"
      },
      "min_tap_pu": {
         "default": 0.9,
         "description": "Min tap in pu for this winding.",
         "maximum": 1.0,
         "minimum": 0.0,
         "title": "Min Tap Pu",
         "type": "number"
      },
      "max_tap_pu": {
         "default": 1.1,
         "description": "Min tap in pu for this winding.",
         "minimum": 1.0,
         "title": "Max Tap Pu",
         "type": "number"
      }
   },
   "$defs": {
      "ConnectionType": {
         "description": "Winding connection types.",
         "enum": [
            "STAR",
            "DELTA",
            "OPEN_DELTA",
            "OPEN_STAR",
            "ZIG_ZAG"
         ],
         "title": "ConnectionType",
         "type": "string"
      },
      "VoltageTypes": {
         "description": "Identifier of voltage types referenced in distribution models.",
         "enum": [
            "line-to-line",
            "line-to-ground"
         ],
         "title": "VoltageTypes",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "resistance",
      "is_grounded",
      "rated_voltage",
      "voltage_type",
      "rated_power",
      "num_phases",
      "connection_type",
      "tap_positions"
   ]
}

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:
  • connection_type (gdm.distribution.enums.ConnectionType)

  • is_grounded (bool)

  • max_tap_pu (float)

  • min_tap_pu (float)

  • name (str)

  • num_phases (int)

  • rated_power (gdm.quantities.ApparentPower)

  • rated_voltage (infrasys.quantities.Voltage)

  • resistance (float)

  • tap_positions (list[float])

  • total_taps (int)

  • uuid (uuid.UUID)

  • voltage_type (gdm.distribution.enums.VoltageTypes)

Validators:
  • validate_fields » all fields

field connection_type: Annotated[ConnectionType, FieldInfo(annotation=NoneType, required=True, description='Connection type for this winding.')] [Required]#

Connection type for this winding.

Validated by:
  • validate_fields

field is_grounded: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Is this winding grounded or not.')] [Required]#

Is this winding grounded or not.

Validated by:
  • validate_fields

field max_tap_pu: Annotated[float, FieldInfo(annotation=NoneType, required=False, default=1.1, description='Min tap in pu for this winding.', metadata=[Ge(ge=1.0)])] = 1.1#

Min tap in pu for this winding.

Constraints:
  • ge = 1.0

Validated by:
  • validate_fields

field min_tap_pu: Annotated[float, FieldInfo(annotation=NoneType, required=False, default=0.9, description='Min tap in pu for this winding.', metadata=[Ge(ge=0), Le(le=1.0)])] = 0.9#

Min tap in pu for this winding.

Constraints:
  • ge = 0

  • le = 1.0

Validated by:
  • validate_fields

field name: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='', description='Name of the winding.')] = ''#

Name of the winding.

Validated by:
  • validate_fields

field num_phases: Annotated[int, FieldInfo(annotation=NoneType, required=True, description='Number of phases for this winding.', metadata=[Ge(ge=1), Le(le=3)])] [Required]#

Number of phases for this winding.

Constraints:
  • ge = 1

  • le = 3

Validated by:
  • validate_fields

field rated_power: ', metadata=[Gt(gt=0)])] [Required]#

Rated power for this winding.

Constraints:
  • json_schema = {‘type’: ‘string’, ‘default’: ‘0 ohm’}

  • gt = 0

Validated by:
  • validate_fields

field rated_voltage: ', metadata=[Gt(gt=0)])] [Required]#

rated voltage rating for this winding.

Constraints:
  • json_schema = {‘type’: ‘string’, ‘default’: ‘0 ohm’}

  • gt = 0

Validated by:
  • validate_fields

field resistance: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Percentage resistance for this winding.', metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])] [Required]#

Percentage resistance for this winding.

Constraints:
  • strict = True

  • ge = 0

  • le = 100

Validated by:
  • validate_fields

field tap_positions: Annotated[list[float], FieldInfo(annotation=NoneType, required=True, description='List of per unit tap positions for each phase. Centered at 0.')] [Required]#

List of per unit tap positions for each phase. Centered at 0.

Validated by:
  • validate_fields

field total_taps: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=32, description='Total number of taps along the bandwidth.')] = 32#

Total number of taps along the bandwidth.

Validated by:
  • validate_fields

field voltage_type: Annotated[VoltageTypes, FieldInfo(annotation=NoneType, required=True, description='Set voltage type for rated voltage.')] [Required]#

Set voltage type for rated voltage.

Validated by:
  • validate_fields

pydantic model gdm.distribution.equipment.DistributionTransformerEquipment#

Data model for distribution transformer info.

Show JSON schema
{
   "title": "DistributionTransformerEquipment",
   "description": "Data model for distribution transformer info.",
   "type": "object",
   "properties": {
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "mounting": {
         "$ref": "#/$defs/TransformerMounting",
         "default": "POLE_MOUNT"
      },
      "pct_no_load_loss": {
         "description": "Percentage no load losses for this transformer.",
         "maximum": 100.0,
         "minimum": 0.0,
         "title": "Pct No Load Loss",
         "type": "number"
      },
      "pct_full_load_loss": {
         "description": "Percentage no load losses for this transformer.",
         "maximum": 100.0,
         "minimum": 0.0,
         "title": "Pct Full Load Loss",
         "type": "number"
      },
      "windings": {
         "description": "List of windings for this transformer.",
         "items": {
            "$ref": "#/$defs/WindingEquipment"
         },
         "title": "Windings",
         "type": "array"
      },
      "coupling_sequences": {
         "description": "List of pair\n            of sequence numbers for coupling ",
         "items": {
            "$ref": "#/$defs/SequencePair"
         },
         "title": "Coupling Sequences",
         "type": "array"
      },
      "winding_reactances": {
         "description": "Winding coupling reactances in the\n            \"same order as coupling sequences.",
         "items": {
            "maximum": 100.0,
            "minimum": 0.0,
            "type": "number"
         },
         "title": "Winding Reactances",
         "type": "array"
      },
      "is_center_tapped": {
         "description": "Is this transformer center tapped.",
         "title": "Is Center Tapped",
         "type": "boolean"
      }
   },
   "$defs": {
      "ConnectionType": {
         "description": "Winding connection types.",
         "enum": [
            "STAR",
            "DELTA",
            "OPEN_DELTA",
            "OPEN_STAR",
            "ZIG_ZAG"
         ],
         "title": "ConnectionType",
         "type": "string"
      },
      "SequencePair": {
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "minimum": 0,
               "title": "From Index",
               "type": "integer"
            },
            {
               "minimum": 0,
               "title": "To Index",
               "type": "integer"
            }
         ],
         "type": "array"
      },
      "TransformerMounting": {
         "description": "Transformer mounting type.",
         "enum": [
            "POLE_MOUNT",
            "PAD_MOUNT",
            "UNDERGROUND_VAULT"
         ],
         "title": "TransformerMounting",
         "type": "string"
      },
      "VoltageTypes": {
         "description": "Identifier of voltage types referenced in distribution models.",
         "enum": [
            "line-to-line",
            "line-to-ground"
         ],
         "title": "VoltageTypes",
         "type": "string"
      },
      "WindingEquipment": {
         "additionalProperties": false,
         "description": "Data model for winding.",
         "properties": {
            "uuid": {
               "format": "uuid",
               "title": "Uuid",
               "type": "string"
            },
            "name": {
               "default": "",
               "description": "Name of the winding.",
               "title": "Name",
               "type": "string"
            },
            "resistance": {
               "description": "Percentage resistance for this winding.",
               "maximum": 100.0,
               "minimum": 0.0,
               "title": "Resistance",
               "type": "number"
            },
            "is_grounded": {
               "description": "Is this winding grounded or not.",
               "title": "Is Grounded",
               "type": "boolean"
            },
            "rated_voltage": {
               "default": "0 ohm",
               "description": "rated voltage rating for this winding.",
               "title": "Rated Voltage",
               "type": "string"
            },
            "voltage_type": {
               "$ref": "#/$defs/VoltageTypes",
               "description": "Set voltage type for rated voltage."
            },
            "rated_power": {
               "default": "0 ohm",
               "description": "Rated power for this winding.",
               "title": "Rated Power",
               "type": "string"
            },
            "num_phases": {
               "description": "Number of phases for this winding.",
               "maximum": 3,
               "minimum": 1,
               "title": "Num Phases",
               "type": "integer"
            },
            "connection_type": {
               "$ref": "#/$defs/ConnectionType",
               "description": "Connection type for this winding."
            },
            "tap_positions": {
               "description": "List of per unit tap positions for each phase. Centered at 0.",
               "items": {
                  "type": "number"
               },
               "title": "Tap Positions",
               "type": "array"
            },
            "total_taps": {
               "default": 32,
               "description": "Total number of taps along the bandwidth.",
               "title": "Total Taps",
               "type": "integer"
            },
            "min_tap_pu": {
               "default": 0.9,
               "description": "Min tap in pu for this winding.",
               "maximum": 1.0,
               "minimum": 0.0,
               "title": "Min Tap Pu",
               "type": "number"
            },
            "max_tap_pu": {
               "default": 1.1,
               "description": "Min tap in pu for this winding.",
               "minimum": 1.0,
               "title": "Max Tap Pu",
               "type": "number"
            }
         },
         "required": [
            "resistance",
            "is_grounded",
            "rated_voltage",
            "voltage_type",
            "rated_power",
            "num_phases",
            "connection_type",
            "tap_positions"
         ],
         "title": "WindingEquipment",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "pct_no_load_loss",
      "pct_full_load_loss",
      "windings",
      "coupling_sequences",
      "winding_reactances",
      "is_center_tapped"
   ]
}

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:
  • coupling_sequences (list[gdm.distribution.common.sequence_pair.SequencePair])

  • is_center_tapped (bool)

  • mounting (gdm.distribution.enums.TransformerMounting)

  • name (str)

  • pct_full_load_loss (float)

  • pct_no_load_loss (float)

  • uuid (uuid.UUID)

  • winding_reactances (list[float])

  • windings (list[gdm.distribution.equipment.distribution_transformer_equipment.WindingEquipment])

Validators:
  • validate_fields » all fields

field coupling_sequences: Annotated[list[SequencePair], FieldInfo(annotation=NoneType, required=True, description='List of pair\n            of sequence numbers for coupling ')] [Required]#

List of pair of sequence numbers for coupling

Validated by:
  • validate_fields

field is_center_tapped: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Is this transformer center tapped.')] [Required]#

Is this transformer center tapped.

Validated by:
  • validate_fields

field mounting: ')] = TransformerMounting.POLE_MOUNT#

Transformer mounting type.

Validated by:
  • validate_fields

field pct_full_load_loss: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Percentage no load losses for this transformer.', metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])] [Required]#

Percentage no load losses for this transformer.

Constraints:
  • strict = True

  • ge = 0

  • le = 100

Validated by:
  • validate_fields

field pct_no_load_loss: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Percentage no load losses for this transformer.', metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])] [Required]#

Percentage no load losses for this transformer.

Constraints:
  • strict = True

  • ge = 0

  • le = 100

Validated by:
  • validate_fields

field winding_reactances: Annotated[list[Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True), Ge(ge=0), Le(le=100)])]], FieldInfo(annotation=NoneType, required=True, description='Winding coupling reactances in the\n            "same order as coupling sequences.')] [Required]#

Winding coupling reactances in the “same order as coupling sequences.

Validated by:
  • validate_fields

field windings: Annotated[list[WindingEquipment], FieldInfo(annotation=NoneType, required=True, description='List of windings for this transformer.')] [Required]#

List of windings for this transformer.

Validated by:
  • validate_fields