Control profiles

A control profile is a reusable smart-inverter control law, referenced by IBRs the way lines reference a linecode. Several IBRs can share one profile. This page documents the control_profile object (its data model); the constraints each law induces are on the IBR page. This is a data-model page — a profile carries no variables itself. Symbols are defined in Notation.

A control_profile is a named entry of the top-level control_profile object. Each of its sub-objects is optional; the presence of a sub-object activates that law. An IBR references a profile by id via its control_profile field. A profile normally carries one law; when both power_factor and a droop are present, power_factor wins (with a warning).

power_factor

Constant power-factor operation.

FieldTypeRangeDescription
pfnumber$[-1, 1]$Power factor; positive = lagging (absorbing VAr), negative = leading (injecting VAr)

Induces the bilinear equality $\operatorname{sign}(\textcolor{red}{\mathrm{pf}})\,Q + \tan(\arccos|\textcolor{red}{\mathrm{pf}}|)\,P = 0$ per phase.

volt_var

Reactive power as a piecewise-linear function of a monitored voltage magnitude.

FieldTypeDescription
voltage_referenceenumMonitored voltage quantity + aggregation (see below)
breakpointsnumber[]Four non-decreasing voltage breakpoints $[U_1,U_2,U_3,U_4]$ (V)
q_limitsnumber[]$[q_{\text{absorb}}\le 0,\ q_{\text{inject}}\ge 0]$, in q_unit
q_unitenumVA_FRACTION (fraction of s_max) or VAR (absolute)
q_refenumVAR_MAX (fixed limits) or VAR_AVAILABLE (scale with remaining apparent power)
p_min_for_qnumberActive power below which reactive output is zero (OpenDSS %PminNoVars)
p_min_for_q_maxnumberActive power below which reactive capability is derated (OpenDSS %PminkvarMax)

The curve injects VAr at low voltage, absorbs at high voltage, and is flat (zero) between $U_2$ and $U_3$.

volt_watt

Active-power limit as a piecewise-linear function of a monitored voltage magnitude.

FieldTypeDescription
voltage_referenceenumMonitored voltage quantity + aggregation
breakpointsnumber[]Two non-decreasing breakpoints $[U_5,U_6]$ (V)
p_limitsnumber[]$[p_{\text{low}},\ p_{\text{high}}]$, in p_unit
p_unitenumVA_FRACTION (fraction of s_max) or W (absolute)
p_refenumNormalisation base: P_AVAILABLE, P_MAX, or S_MAX

The curve caps active power as voltage rises (curtailment), stacking on top of the IBR's p_max availability bound (the tighter binds).

Enumerations

Voltage reference

voltage_reference combines a monitored quantity with a cross-phase aggregation:

ValueQuantityAggregation
PN_PER_PHASEphase-to-neutraleach phase sees its own magnitude
PG_PER_PHASEphase-to-groundper phase
PP_PER_PHASEphase-to-phaseper phase
PN_AVERAGEDphase-to-neutralevery phase sees the mean magnitude
PG_AVERAGEDphase-to-groundaveraged
PP_AVERAGEDphase-to-phaseaveraged

The IBR-level voltage_aggregation field, when present, overrides the aggregation implied here.

Applicability

Volt-VAr / Volt-Watt droop applies to SINGLE_PHASE and FOUR_LEG IBRs; a THREE_LEG (delta) IBR has too few degrees of freedom for a per-phase droop and falls back to box bounds with a warning. See IBRs for the full constraint treatment and the smoothed piecewise-linear encoding.

Reconciliation note — control profiles are not in the Task Force PDF

The control_profile object and its smart-inverter laws are a BMOPFTools extension with no counterpart in the current PDF. They pair with the IBR object and should enter the superseding spec together.