The generator subpackage contains definitions of the various generator types.
The slack node acts as angle and frequency reference. Presently, all networks must contain at least one slack node.
Name | Default | Description |
---|---|---|
Vref | 1.0 | Voltage Amplitude [p.u.] |
deltaref | 0 | Voltage Angle [rad] |
model Slack "Slack Node" extends Partials.Generator; parameter Base.VoltageAmplitude Vref=1.0 "Voltage Amplitude"; parameter Base.VoltageAngle deltaref=0 "Voltage Angle"; equation 1 + T.va = Vref*cos(deltaref); T.vb = Vref*sin(deltaref); end Slack;
The 3rd order Generator model with first order governor and exciter extend the DetGen3 class with voltage and frequency regulation capabilities.
Name | Default | Description |
---|---|---|
H | 6 | Inertia Constant [s] |
D | 0 | Damping Coeficient [1] |
Pgref | 0.60 | Active Power Generation Reference [p.u.] |
rt | 0 | Step-up Transformer Resistance [p.u.] |
xt | 0 | Step-up Transformer Reactance [p.u.] |
ra | 0 | Armature Resistance [p.u.] |
xd | 0.8948 | Direct Axis Synchronous Reactance [p.u.] |
xq | 0.84 | Quadrature Axis Synchronous Reactance [p.u.] |
xdp | 0.30 | Direct Axis Transient Reactance [p.u.] |
Td0p | 7 | Open-circuit Direct Axis Transient Time Constant [s] |
model GovExc3rdGen "3rd order Generator model with first order governor and exciter" extends Partials.DetGen3; ObjectStab.Generators.Controllers.Governor Gov(Pgref=Pgref); ObjectStab.Generators.Controllers.Exciter Exc; equation // connection equations for governor and exciter Exc.u = V; Exc.y = Efd; Gov.u = w; Gov.y = Pm; end GovExc3rdGen;
Name | Default | Description |
---|---|---|
H | 6 | Inertia Constant [s] |
D | 0 | Damping Coeficient [1] |
Pgref | 0.60 | Active Power Generation Reference [p.u.] |
rt | 0 | Step-up Transformer Resistance [p.u.] |
xt | 0 | Step-up Transformer Reactance [p.u.] |
ra | 0 | Armature Resistance [p.u.] |
xd | 0.8948 | Direct Axis Synchronous Reactance [p.u.] |
xq | 0.84 | Quadrature Axis Synchronous Reactance [p.u.] |
xdp | 0.30 | Direct Axis Transient Reactance [p.u.] |
xqp | 0.10 | Quadrature Axis Transient Reactance [p.u.] |
xqpp | 0.20 | Direct Axis Subtransient Reactance [p.u.] |
xdpp | 0.10 | Quadrature Axis Subransient Reactance [p.u.] |
Td0p | 7 | Open-circuit Direct Axis Transient Time Constant [s] |
Tq0p | 0.44 | Open-circuit Quadrature Axis Transient Time Constant [s] |
Td0pp | 0.02 | Open-circuit Direct Axis Subtransient Time Constant [s] |
Tq0pp | 0.03 | Open-circuit Quadrature Axis Subtransient Time Constant [s] |
model NoCon6thGen extends Partials.DetGen6; ObjectStab.Generators.Controllers.ConstPm Gov(Pgref=Pgref); ObjectStab.Generators.Controllers.ConstEf Exc; equation // connection equations for governor and exciter Exc.u = V; Exc.y = Efd; Gov.u = w; Gov.y = Pm; end NoCon6thGen;
The PV node with Q-limits models a load-flow PV node with unlimited reactive power generation resources.
Name | Default | Description |
---|---|---|
Vref | 1.0 | Voltage Amplitude [p.u.] |
Pgref | 0 | Generated Active Power [p.u.] |
model PVNode "PV Node" extends Partials.Generator; parameter Base.VoltageAmplitude Vref=1.0 "Voltage Amplitude"; parameter Base.ActivePower Pgref=0 "Generated Active Power"; equation V = Vref; Pg = Pgref; end PVNode;
The PV node with Q-limits models a load-flow PV node with limited reactive power generation resources. The node is turned into a PQ-node when Q-limits are reached.
Name | Default | Description |
---|---|---|
Vref | 1.0 | Voltage Amplitude] [p.u.] |
Pgref | 0 | Generated Active Power] [p.u.] |
Qgmax | 10 | Generated Reactive Power Limit [p.u.] |
Qgmin | -10 | Generated Reactive Power Limit [p.u.] |
model PVNodeLim "PV Node with Q Limitation" extends Partials.Generator; constant Boolean DymolaCompatibility=true; parameter Base.VoltageAmplitude Vref=1.0 "Voltage Amplitude]"; parameter Base.ActivePower Pgref=0 "Generated Active Power]"; parameter Base.ReactivePower Qgmax=10 "Generated Reactive Power Limit"; parameter Base.ReactivePower Qgmin=-10 "Generated Reactive Power Limit"; Boolean up_limit(start=false); Boolean low_limit(start=false); equation 0 = if up_limit then (Qg - Qgmax) else if low_limit then (Qg - Qgmin) else ( V - Vref); Pg = Pgref; new(up_limit) = (up_limit and V < Vref) or not up_limit and (Qg > Qgmax); new(low_limit) = (low_limit and V > Vref) or not low_limit and (Qg < Qgmin); end PVNodeLim;
Static implementation of the detailed generator model. Assumes voltage and governor controllers that regulate without frequency or voltage droop.The terminal voltage used by the voltage regulator is the voltage on the network side of the step-up transformer. Each generator has it's own dq coordinate system, and its stator equations must therefore be related to the network (global) coordinate system using the so called Kron's transformations [1, pp. 90].
Name | Default | Description |
---|---|---|
ra | 0 | Armature Resistance [p.u.] |
xd | 0.8948 | Direct Axis Synchronous Reactance [p.u.] |
xq | 0.84 | Quadrature Axis Synchronous Reactance [p.u.] |
Vref | 1.05 | Reference Voltage Amplitude [p.u.] |
Pgref | 0.6 | Reference Active Power Generation [p.u.] |
rt | 0 | Step-up Transformer Resistance [p.u.] |
xt | 0 | Step-up Transformer Reactance [p.u.] |
model DetGen0 "Static Detailed Generator" extends Partials.Generator; parameter Base.Resistance ra=0 "Armature Resistance"; parameter Base.Reactance xd=0.8948 "Direct Axis Synchronous Reactance"; parameter Base.Reactance xq=0.84 "Quadrature Axis Synchronous Reactance"; parameter Base.VoltageAmplitude Vref=1.05 "Reference Voltage Amplitude"; parameter Base.ActivePower Pgref=0.6 "Reference Active Power Generation"; parameter Base.Resistance rt=0 "Step-up Transformer Resistance"; parameter Base.Reactance xt=0 "Step-up Transformer Reactance"; Base.VoltageAngle delta(start=1) "Rotor Angle"; Real[2, 2] KronMatrix; Base.CurrentRealPart Eq "q-axis EMF"; Base.CurrentImagPart id "Direct axis component of Armature Current"; Base.CurrentRealPart iq "Quatrature axis component of Armature Current"; Base.VoltageImagPart vd "Direct axis component of Armature Voltage"; Base.VoltageRealPart vq "Quadrature axis component of Armature Voltage"; Base.VoltageRealPart vap; Base.VoltageImagPart vbp; equation // voltage eqs Pg = Pgref; V = Vref; vd + ra*id + xq*iq = 0; // = Ed vq + ra*iq - xd*id = Eq; // Kron's transformation, see fig 3.30 in Machovski KronMatrix = [-sin(delta), cos(delta); cos(delta), sin(delta)]; [1 + vap; vbp] = KronMatrix*[vd; vq]; -[T.ia; T.ib] = KronMatrix*[id; iq]; // transformer eqs [T.va - vap; T.vb - vbp] = [rt, -xt; xt, rt]*[T.ia; T.ib]; end DetGen0;
The 6th order Generator model with first order governor and exciter extend the DetGen6 class with voltage and frequency regulation capabilities.
Name | Default | Description |
---|---|---|
H | 6 | Inertia Constant [s] |
D | 0 | Damping Coeficient [1] |
Pgref | 0.60 | Active Power Generation Reference [p.u.] |
rt | 0 | Step-up Transformer Resistance [p.u.] |
xt | 0 | Step-up Transformer Reactance [p.u.] |
ra | 0 | Armature Resistance [p.u.] |
xd | 0.8948 | Direct Axis Synchronous Reactance [p.u.] |
xq | 0.84 | Quadrature Axis Synchronous Reactance [p.u.] |
xdp | 0.30 | Direct Axis Transient Reactance [p.u.] |
xqp | 0.10 | Quadrature Axis Transient Reactance [p.u.] |
xqpp | 0.20 | Direct Axis Subtransient Reactance [p.u.] |
xdpp | 0.10 | Quadrature Axis Subransient Reactance [p.u.] |
Td0p | 7 | Open-circuit Direct Axis Transient Time Constant [s] |
Tq0p | 0.44 | Open-circuit Quadrature Axis Transient Time Constant [s] |
Td0pp | 0.02 | Open-circuit Direct Axis Subtransient Time Constant [s] |
Tq0pp | 0.03 | Open-circuit Quadrature Axis Subtransient Time Constant [s] |
model GovExc6thGen "6th order Generator model with first order governor and exciter" extends Partials.DetGen6; ObjectStab.Generators.Controllers.Governor Gov(Pgref=Pgref); ObjectStab.Generators.Controllers.Exciter Exc; equation // connection equations for governor and exciter Exc.u = V; Exc.y = Efd; Gov.u = w; Gov.y = Pm; end GovExc6thGen;
Name | Default | Description |
---|---|---|
H | 6 | Inertia Constant [s] |
D | 0 | Damping Coeficient [1] |
Pgref | 0.60 | Active Power Generation Reference [p.u.] |
rt | 0 | Step-up Transformer Resistance [p.u.] |
xt | 0 | Step-up Transformer Reactance [p.u.] |
ra | 0 | Armature Resistance [p.u.] |
xd | 0.8948 | Direct Axis Synchronous Reactance [p.u.] |
xq | 0.84 | Quadrature Axis Synchronous Reactance [p.u.] |
xdp | 0.30 | Direct Axis Transient Reactance [p.u.] |
Td0p | 7 | Open-circuit Direct Axis Transient Time Constant [s] |
model NoCon3rdGen extends Partials.DetGen3; // connection equations for governor and exciter ObjectStab.Generators.Controllers.ConstPm Gov(Pgref=Pgref); ObjectStab.Generators.Controllers.ConstEf Exc; equation Exc.u = V; Exc.y = Efd; Gov.u = w; Gov.y = Pm; end NoCon3rdGen;