Load Equipment#

pydantic model gdm.distribution.equipment.PhaseLoadEquipment#

Data model for single phase load equipment.

Show JSON schema
{
   "title": "PhaseLoadEquipment",
   "description": "Data model for single phase load equipment.",
   "type": "object",
   "properties": {
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "real_power": {
         "default": "0 kilowatt",
         "description": "Base real power for the ZIP model. (P_0) ",
         "title": "Real Power",
         "type": "string"
      },
      "reactive_power": {
         "default": "0 kilovar",
         "description": "Base reactive power for the ZIP model. (Q_0) ",
         "title": "Reactive Power",
         "type": "string"
      },
      "z_real": {
         "description": "Constant impedance zip load real component. (a_p)",
         "title": "Z Real",
         "type": "number"
      },
      "z_imag": {
         "description": "Constant impedance zip load imaginary component. (a_q)",
         "title": "Z Imag",
         "type": "number"
      },
      "i_real": {
         "description": "Constant current zip load real component. (b_p)",
         "title": "I Real",
         "type": "number"
      },
      "i_imag": {
         "description": "Constant current zip load imaginary component. (b_q)",
         "title": "I Imag",
         "type": "number"
      },
      "p_real": {
         "description": "Constant power zip load real component. (c_p)",
         "title": "P Real",
         "type": "number"
      },
      "p_imag": {
         "description": "Constant power zip load imaginary component. (c_q)",
         "title": "P Imag",
         "type": "number"
      },
      "num_customers": {
         "anyOf": [
            {
               "exclusiveMinimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Number of customers for this load",
         "title": "Num Customers"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "z_real",
      "z_imag",
      "i_real",
      "i_imag",
      "p_real",
      "p_imag"
   ]
}

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:
  • i_imag (float)

  • i_real (float)

  • name (str)

  • num_customers (int | None)

  • p_imag (float)

  • p_real (float)

  • reactive_power (gdm.quantities.ReactivePower)

  • real_power (infrasys.quantities.ActivePower)

  • uuid (uuid.UUID)

  • z_imag (float)

  • z_real (float)

Validators:
  • validate_fields » all fields

field i_imag: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant current zip load imaginary component. (b_q)')] [Required]#

Constant current zip load imaginary component. (b_q)

Validated by:
  • validate_fields

field i_real: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant current zip load real component. (b_p)')] [Required]#

Constant current zip load real component. (b_p)

Validated by:
  • validate_fields

field num_customers: Annotated[Annotated[int, Gt(gt=0)] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Number of customers for this load')] = None#

Number of customers for this load

Validated by:
  • validate_fields

field p_imag: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant power zip load imaginary component. (c_q)')] [Required]#

Constant power zip load imaginary component. (c_q)

Validated by:
  • validate_fields

field p_real: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant power zip load real component. (c_p)')] [Required]#

Constant power zip load real component. (c_p)

Validated by:
  • validate_fields

field reactive_power: (Q_0) ')] = <Quantity(0, 'kilovar')>#

Base reactive power for the ZIP model. (Q_0)

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

Validated by:
  • validate_fields

field real_power: (P_0) ')] = <Quantity(0, 'kilowatt')>#

Base real power for the ZIP model. (P_0)

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

Validated by:
  • validate_fields

field z_imag: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant impedance zip load imaginary component. (a_q)')] [Required]#

Constant impedance zip load imaginary component. (a_q)

Validated by:
  • validate_fields

field z_real: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Constant impedance zip load real component. (a_p)')] [Required]#

Constant impedance zip load real component. (a_p)

Validated by:
  • validate_fields

classmethod aggregate(instances: list[PhaseLoadEquipment], name: str) PhaseLoadEquipment#
classmethod split(instance: PhaseLoadEquipment, num_splits: int) PhaseLoadEquipment#

pydantic model gdm.distribution.equipment.LoadEquipment#

Data model for load model.

Show JSON schema
{
   "title": "LoadEquipment",
   "description": "Data model for load model.",
   "type": "object",
   "properties": {
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "phase_loads": {
         "description": "List of phase loads.",
         "items": {
            "$ref": "#/$defs/PhaseLoadEquipment"
         },
         "title": "Phase Loads",
         "type": "array"
      },
      "connection_type": {
         "$ref": "#/$defs/ConnectionType",
         "default": "STAR",
         "description": "Connection type for multi phase load."
      }
   },
   "$defs": {
      "ConnectionType": {
         "description": "Winding connection types.",
         "enum": [
            "STAR",
            "DELTA",
            "OPEN_DELTA",
            "OPEN_STAR",
            "ZIG_ZAG"
         ],
         "title": "ConnectionType",
         "type": "string"
      },
      "PhaseLoadEquipment": {
         "additionalProperties": false,
         "description": "Data model for single phase load equipment.",
         "properties": {
            "uuid": {
               "format": "uuid",
               "title": "Uuid",
               "type": "string"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "real_power": {
               "default": "0 kilowatt",
               "description": "Base real power for the ZIP model. (P_0) ",
               "title": "Real Power",
               "type": "string"
            },
            "reactive_power": {
               "default": "0 kilovar",
               "description": "Base reactive power for the ZIP model. (Q_0) ",
               "title": "Reactive Power",
               "type": "string"
            },
            "z_real": {
               "description": "Constant impedance zip load real component. (a_p)",
               "title": "Z Real",
               "type": "number"
            },
            "z_imag": {
               "description": "Constant impedance zip load imaginary component. (a_q)",
               "title": "Z Imag",
               "type": "number"
            },
            "i_real": {
               "description": "Constant current zip load real component. (b_p)",
               "title": "I Real",
               "type": "number"
            },
            "i_imag": {
               "description": "Constant current zip load imaginary component. (b_q)",
               "title": "I Imag",
               "type": "number"
            },
            "p_real": {
               "description": "Constant power zip load real component. (c_p)",
               "title": "P Real",
               "type": "number"
            },
            "p_imag": {
               "description": "Constant power zip load imaginary component. (c_q)",
               "title": "P Imag",
               "type": "number"
            },
            "num_customers": {
               "anyOf": [
                  {
                     "exclusiveMinimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of customers for this load",
               "title": "Num Customers"
            }
         },
         "required": [
            "name",
            "z_real",
            "z_imag",
            "i_real",
            "i_imag",
            "p_real",
            "p_imag"
         ],
         "title": "PhaseLoadEquipment",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "phase_loads"
   ]
}

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)

  • name (str)

  • phase_loads (list[gdm.distribution.equipment.phase_load_equipment.PhaseLoadEquipment])

  • uuid (uuid.UUID)

field connection_type: ')] = ConnectionType.STAR#

Connection type for multi phase load.

field phase_loads: Annotated[list[PhaseLoadEquipment], FieldInfo(annotation=NoneType, required=True, description='List of phase loads.')] [Required]#

List of phase loads.