Regulator Controller#
- pydantic model gdm.distribution.controllers.RegulatorController#
Data model for a Regulator Controller.
Show JSON schema
{ "title": "RegulatorController", "description": "Data model for a Regulator Controller.", "type": "object", "properties": { "uuid": { "format": "uuid", "title": "Uuid", "type": "string" }, "name": { "default": "", "description": "Name of the regulator controller.", "title": "Name", "type": "string" }, "delay": { "default": null, "description": "Delay for the first tap change operation", "title": "Delay", "type": "string" }, "v_setpoint": { "default": null, "description": "The target control voltage for regulator controller.", "title": "V Setpoint", "type": "string" }, "min_v_limit": { "default": null, "description": "The minimum voltage limit for regulator controller.", "title": "Min V Limit", "type": "string" }, "max_v_limit": { "default": null, "description": "The maximum voltage limit for regulator controller.", "title": "Max V Limit", "type": "string" }, "pt_ratio": { "description": "Value of the voltage (potential) transformer ratio used to step down the voltage for the controller.", "minimum": 0.0, "title": "Pt Ratio", "type": "number" }, "use_ldc": { "description": "Boolean value representing whether the line drop compensator is used or not.", "title": "Use Ldc", "type": "boolean" }, "is_reversible": { "description": "Boolean value representing whether the tap change is reversible or not.", "title": "Is Reversible", "type": "boolean" }, "ldc_R": { "default": null, "description": "R setting on the line drop compensator of the regulator in Volts.", "title": "Ldc R", "type": "string" }, "ldc_X": { "default": null, "description": "X setting on the line drop compensator of the regulator in Volts.", "title": "Ldc X", "type": "string" }, "ct_primary": { "default": null, "description": "Current at which the line drop compensator voltages match the R and X settings.", "title": "Ct Primary", "type": "string" }, "max_step": { "description": "Maximum number of steps upwards or downwards that can be made per control iteration.", "minimum": 0, "title": "Max Step", "type": "integer" }, "bandwidth": { "default": null, "description": "The total voltage bandwidth for the controller", "title": "Bandwidth", "type": "string" }, "controlled_bus": { "$ref": "#/$defs/DistributionBus", "description": "The bus that is being controlled by the controller." }, "controlled_phase": { "$ref": "#/$defs/Phase", "description": "The phase that is being controlled by the controller." } }, "$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." }, "in_service": { "default": true, "description": "Is the component in service?", "title": "In Service", "type": "boolean" }, "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": { "default": null, "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" }, "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": { "default": null, "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": [ "delay", "v_setpoint", "min_v_limit", "max_v_limit", "pt_ratio", "use_ldc", "is_reversible", "max_step", "bandwidth", "controlled_bus", "controlled_phase" ] }
- 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:
bandwidth (infrasys.quantities.Voltage)
controlled_bus (gdm.distribution.components.distribution_bus.DistributionBus)
controlled_phase (gdm.distribution.enums.Phase)
ct_primary (infrasys.quantities.Current | None)
delay (infrasys.quantities.Time | None)
is_reversible (bool)
ldc_R (infrasys.quantities.Voltage | None)
ldc_X (infrasys.quantities.Voltage | None)
max_step (int)
max_v_limit (infrasys.quantities.Voltage)
min_v_limit (infrasys.quantities.Voltage)
name (str)
pt_ratio (float)
use_ldc (bool)
uuid (uuid.UUID)
v_setpoint (infrasys.quantities.Voltage)
- field bandwidth: WithJsonSchema(json_schema={'type': 'string', 'default': None}, mode=None), FieldInfo(annotation=NoneType, required=True, description='The total voltage bandwidth for the controller', metadata=[Ge(ge=0)])] [Required]#
The total voltage bandwidth for the controller
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
ge = 0
- field controlled_bus: Annotated[DistributionBus, FieldInfo(annotation=NoneType, required=True, description='The bus that is being controlled by the controller.')] [Required]#
The bus that is being controlled by the controller.
- field controlled_phase: Annotated[Phase, FieldInfo(annotation=NoneType, required=True, description='The phase that is being controlled by the controller.')] [Required]#
The phase that is being controlled by the controller.
- field ct_primary: ', metadata=[Ge(ge=0)])] = None#
Current at which the line drop compensator voltages match the R and X settings.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
ge = 0
- field delay: WithJsonSchema(json_schema={'type': 'string', 'default': None}, mode=None), FieldInfo(annotation=NoneType, required=True, description='Delay for the first tap change operation')] [Required]#
Delay for the first tap change operation
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
- field is_reversible: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Boolean value representing whether the tap change is reversible or not.')] [Required]#
Boolean value representing whether the tap change is reversible or not.
- field ldc_R: ', metadata=[Ge(ge=0)])] = None#
R setting on the line drop compensator of the regulator in Volts.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
ge = 0
- field ldc_X: ', metadata=[Ge(ge=0)])] = None#
X setting on the line drop compensator of the regulator in Volts.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
ge = 0
- field max_step: Annotated[int, FieldInfo(annotation=NoneType, required=True, description='Maximum number of steps upwards or downwards that can be made per control iteration.', metadata=[Ge(ge=0)])] [Required]#
Maximum number of steps upwards or downwards that can be made per control iteration.
- Constraints:
ge = 0
- field max_v_limit: ', metadata=[Gt(gt=0)])] [Required]#
The maximum voltage limit for regulator controller.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
gt = 0
- field min_v_limit: ', metadata=[Gt(gt=0)])] [Required]#
The minimum voltage limit for regulator controller.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
gt = 0
- field name: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='', description='Name of the regulator controller.')] = ''#
Name of the regulator controller.
- field pt_ratio: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='Value of the voltage (potential) transformer ratio used to step down the voltage for the controller.', metadata=[Ge(ge=0)])] [Required]#
Value of the voltage (potential) transformer ratio used to step down the voltage for the controller.
- Constraints:
ge = 0
- field use_ldc: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Boolean value representing whether the line drop compensator is used or not.')] [Required]#
Boolean value representing whether the line drop compensator is used or not.
- field v_setpoint: ', metadata=[Gt(gt=0)])] [Required]#
The target control voltage for regulator controller.
- Constraints:
json_schema = {‘type’: ‘string’, ‘default’: None}
gt = 0