Machine

AndersonFouadMachine

PowerSystems.AndersonFouadMachineType
mutable struct AndersonFouadMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xq_pp::Float64
    Td0_p::Float64
    Tq0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    ext::Dict{String, Any}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 6-states synchronous machine: Anderson-Fouad model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
ψd: d-axis stator flux,
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage,
eq_pp: q-axis subtransient voltage,
ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) The states AndersonFouadMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

BaseMachine

PowerSystems.BaseMachineType
mutable struct BaseMachine <: Machine
    R::Float64
    Xd_p::Float64
    eq_p::Float64
    ext::Dict{String, Any}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of a Classic Machine: GENCLS in PSSE and PSLF

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd_p::Float64: Reactance after EMF in machine per unit, validation range: (0, nothing)
  • eq_p::Float64: Fixed EMF behind the impedance, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • states::Vector{Symbol}: (Do not modify.) BaseMachine has no states
  • n_states::Int: (Do not modify.) BaseMachine has no states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

FullMachine

PowerSystems.FullMachineType
mutable struct FullMachine <: Machine
    R::Float64
    R_f::Float64
    R_1d::Float64
    R_1q::Float64
    L_d::Float64
    L_q::Float64
    L_ad::Float64
    L_aq::Float64
    L_f1d::Float64
    L_ff::Float64
    L_1d::Float64
    L_1q::Float64
    ext::Dict{String, Any}
    inv_d_fluxlink::Array{Float64,2}
    inv_q_fluxlink::Array{Float64,2}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is NOT neglected. Only one q-axis damping circuit is considered. All parameters are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • inv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψd: d-axis stator flux,
ψq: q-axis stator flux,
ψf: field rotor flux,
ψ1d: d-axis rotor damping flux,
ψ1q: q-axis rotor damping flux
  • n_states::Int: (Do not modify.) FullMachine has 5 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

MarconatoMachine

PowerSystems.MarconatoMachineType
mutable struct MarconatoMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xq_pp::Float64
    Td0_p::Float64
    Tq0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    T_AA::Float64
    ext::Dict{String, Any}
    γd::Float64
    γq::Float64
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 6-states synchronous machine: Marconato model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • γd::Float64: (Do not modify.) Internal equation
  • γq::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
ψd: d-axis stator flux,
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage,
eq_pp: q-axis subtransient voltage,
ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) MarconatoMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

OneDOneQMachine

PowerSystems.OneDOneQMachineType
mutable struct OneDOneQMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Td0_p::Float64
    Tq0_p::Float64
    ext::Dict{String, Any}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage
  • n_states::Int: (Do not modify.) OneDOneQMachine has 2 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

RoundRotorExponential

PowerSystems.RoundRotorExponentialType
mutable struct RoundRotorExponential <: Machine
    base_machine::RoundRotorMachine
    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROE model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

RoundRotorMachine

PowerSystems.RoundRotorMachineType
mutable struct RoundRotorMachine <: Machine
    R::Float64
    Td0_p::Float64
    Td0_pp::Float64
    Tq0_p::Float64
    Tq0_pp::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xl::Float64
    Se::Tuple{Float64, Float64}
    ext::Dict{String, Any}
    γ_d1::Float64
    γ_q1::Float64
    γ_d2::Float64
    γ_q2::Float64
    γ_qd::Float64
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 4-states round-rotor synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU or GENROE model in PSSE and PSLF

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: S(1.0) = B(|ψ_pp|-A)^2
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • γ_d1::Float64: (Do not modify.) γ_d1 parameter
  • γ_q1::Float64: (Do not modify.) γ_q1 parameter
  • γ_d2::Float64: (Do not modify.) γ_d2 parameter
  • γ_q2::Float64: (Do not modify.) γ_q2 parameter
  • γ_qd::Float64: (Do not modify.) γ_qd parameter
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis generator voltage behind the transient reactance,
ed_p: d-axis generator voltage behind the transient reactance,
ψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,
ψ_kq: flux linkage in the first equivalent damping circuit in the d-axis
  • n_states::Int: (Do not modify.) RoundRotorMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

RoundRotorQuadratic

PowerSystems.RoundRotorQuadraticType
mutable struct RoundRotorQuadratic <: Machine
    base_machine::RoundRotorMachine
    saturation_coeffs::Tuple{Float64, Float64}

4-states round-rotor synchronous machine with quadratic saturation: IEEE Std 1110 §5.3.2 (Model 2.2). GENROU model in PSSE and PSLF.

Arguments

  • base_machine::RoundRotorMachine: Round Rotor Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SalientPoleExponential

PowerSystems.SalientPoleExponentialType
mutable struct SalientPoleExponential <: Machine
    base_machine::SalientPoleMachine
    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAE in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for exponential model.
source

SalientPoleMachine

PowerSystems.SalientPoleMachineType
mutable struct SalientPoleMachine <: Machine
    R::Float64
    Td0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xd_pp::Float64
    Xl::Float64
    Se::Tuple{Float64, Float64}
    ext::Dict{String, Any}
    γ_d1::Float64
    γ_q1::Float64
    γ_d2::Float64
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 3-states salient-pole synchronous machine with quadratic/exponential saturation: IEEE Std 1110 §5.3.1 (Model 2.1). GENSAL or GENSAE model in PSSE and PSLF

Arguments

  • R::Float64: Armature resistance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit. Note: Xdpp = Xqpp, validation range: (0, nothing)
  • Xl::Float64: Stator leakage reactance, validation range: (0, nothing)
  • Se::Tuple{Float64, Float64}: Saturation factor at 1 and 1.2 pu flux: Se(eqp) = B(eqp-A)^2
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • γ_d1::Float64: (Do not modify.) γ_d1 parameter
  • γ_q1::Float64: (Do not modify.) γ_q1 parameter
  • γ_d2::Float64: (Do not modify.) γ_d2 parameter
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis generator voltage behind the transient reactance,
ψ_kd: flux linkage in the first equivalent damping circuit in the d-axis,
ψq_pp: phasonf of the subtransient flux linkage in the q-axis
  • n_states::Int: (Do not modify.) SalientPoleMachine has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SalientPoleQuadratic

PowerSystems.SalientPoleQuadraticType
mutable struct SalientPoleQuadratic <: Machine
    base_machine::SalientPoleMachine
    saturation_coeffs::Tuple{Float64, Float64}

3-states salient-pole synchronous machine with exponential saturation: IEEE Std 1110 §5.3.2 (Model 2.1). GENSAL in PSSE and PSLF.

Arguments:

  • base_machine::SalientPoleMachine: Salient Pole Machine model.
  • saturation_coeffs::Tuple{Float64, Float64}`: Saturation coefficients for quadratic model.
source

SauerPaiMachine

PowerSystems.SauerPaiMachineType
mutable struct SauerPaiMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xq_pp::Float64
    Xl::Float64
    Td0_p::Float64
    Tq0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    ext::Dict{String, Any}
    γ_d1::Float64
    γ_q1::Float64
    γ_d2::Float64
    γ_q2::Float64
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of synchronous machine: Sauer Pai model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xl::Float64: Stator Leakage Reactance, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • γ_d1::Float64: (Do not modify.) Internal equation
  • γ_q1::Float64: (Do not modify.) Internal equation
  • γ_d2::Float64: (Do not modify.) Internal equation
  • γ_q2::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψq: q-axis stator flux,
ψd: d-axis stator flux,
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage
ψd_pp: subtransient flux linkage in the d-axis
ψq_pp: subtransient flux linkage in the q-axis
  • n_states::Int: (Do not modify.) SauerPaiMachine has 6 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleAFMachine

PowerSystems.SimpleAFMachineType
mutable struct SimpleAFMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xq_pp::Float64
    Td0_p::Float64
    Tq0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    ext::Dict{String, Any}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 4-states simplified Anderson-Fouad (SimpleAFMachine) model. The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected. If transmission dynamics is considered use the full order Anderson Fouad model

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage,
eq_pp: q-axis subtransient voltage,
ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) SimpleAFMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleFullMachine

PowerSystems.SimpleFullMachineType
mutable struct SimpleFullMachine <: Machine
    R::Float64
    R_f::Float64
    R_1d::Float64
    R_1q::Float64
    L_d::Float64
    L_q::Float64
    L_ad::Float64
    L_aq::Float64
    L_f1d::Float64
    L_ff::Float64
    L_1d::Float64
    L_1q::Float64
    ext::Dict{String, Any}
    inv_d_fluxlink::Array{Float64,2}
    inv_q_fluxlink::Array{Float64,2}
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameter of a full order flux stator-rotor model without zero sequence flux in the stator. The derivative of stator fluxes (ψd and ψq) is neglected. This is standard when transmission network dynamics is neglected. Only one q-axis damping circuit is considered. All per unit are in machine per unit. Refer to Chapter 3 of Power System Stability and Control by P. Kundur or Chapter 11 of Power System Dynamics: Stability and Control, by J. Machowski, J. Bialek and J. Bumby, for more details. Note that the models are somewhat different (but equivalent) due to the different Park Transformation used in both books

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • R_f::Float64: Field rotor winding resistance in per unit, validation range: (0, nothing)
  • R_1d::Float64: Damping rotor winding resistance on d-axis in per unit. This value is denoted as RD in Machowski, validation range: (0, nothing)
  • R_1q::Float64: Damping rotor winding resistance on q-axis in per unit. This value is denoted as RQ in Machowski, validation range: (0, nothing)
  • L_d::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the d-axis of the rotor, in per unit. This value is denoted as Lad + Ll in Kundur (and Ld in Machowski), validation range: (0, nothing)
  • L_q::Float64: Inductance of fictitious damping that represent the effect of the three-phase stator winding in the q-axis of the rotor, in per unit. This value is denoted as Laq + Ll in Kundur, validation range: (0, nothing)
  • L_ad::Float64: Mutual inductance between stator winding and rotor field (and damping) winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_aq::Float64: Mutual inductance between stator winding and rotor damping winding inductance on q-axis, in per unit, validation range: (0, nothing)
  • L_f1d::Float64: Mutual inductance between rotor field winding and rotor damping winding inductance on d-axis, in per unit, validation range: (0, nothing)
  • L_ff::Float64: Field rotor winding inductance, in per unit, validation range: (0, nothing)
  • L_1d::Float64: Inductance of the d-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • L_1q::Float64: Inductance of the q-axis rotor damping circuit, in per unit, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • inv_d_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.127, 3.130, 3.131 From Kundur
  • inv_q_fluxlink::Array{Float64,2}: (Do not modify.) Equations 3.128, 3.132 From Kundur
  • states::Vector{Symbol}: (Do not modify.) The states are:
ψf: field rotor flux,
ψ1d: d-axis rotor damping flux,
ψ1q: q-axis rotor damping flux
  • n_states::Int: (Do not modify.) SimpleFullMachine has 3 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source

SimpleMarconatoMachine

PowerSystems.SimpleMarconatoMachineType
mutable struct SimpleMarconatoMachine <: Machine
    R::Float64
    Xd::Float64
    Xq::Float64
    Xd_p::Float64
    Xq_p::Float64
    Xd_pp::Float64
    Xq_pp::Float64
    Td0_p::Float64
    Tq0_p::Float64
    Td0_pp::Float64
    Tq0_pp::Float64
    T_AA::Float64
    ext::Dict{String, Any}
    γd::Float64
    γq::Float64
    states::Vector{Symbol}
    n_states::Int
    internal::InfrastructureSystemsInternal
end

Parameters of 4-states synchronous machine: Simplified Marconato model The derivative of stator fluxes (ψd and ψq) is neglected and ωψd = ψd and ωψq = ψq is assumed (i.e. ω=1.0). This is standard when transmission network dynamics is neglected

Arguments

  • R::Float64: Resistance after EMF in machine per unit, validation range: (0, nothing)
  • Xd::Float64: Reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq::Float64: Reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_p::Float64: Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_p::Float64: Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Xd_pp::Float64: Sub-Transient reactance after EMF in d-axis per unit, validation range: (0, nothing)
  • Xq_pp::Float64: Sub-Transient reactance after EMF in q-axis per unit, validation range: (0, nothing)
  • Td0_p::Float64: Time constant of transient d-axis voltage, validation range: (0, nothing)
  • Tq0_p::Float64: Time constant of transient q-axis voltage, validation range: (0, nothing)
  • Td0_pp::Float64: Time constant of sub-transient d-axis voltage, validation range: (0, nothing)
  • Tq0_pp::Float64: Time constant of sub-transient q-axis voltage, validation range: (0, nothing)
  • T_AA::Float64: Time constant of d-axis additional leakage, validation range: (0, nothing)
  • ext::Dict{String, Any}: (default: Dict{String, Any}()) An extra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude.
  • γd::Float64: (Do not modify.) Internal equation
  • γq::Float64: (Do not modify.) Internal equation
  • states::Vector{Symbol}: (Do not modify.) The states are:
eq_p: q-axis transient voltage,
ed_p: d-axis transient voltage,
eq_pp: q-axis subtransient voltage,
ed_pp: d-axis subtransient voltage
  • n_states::Int: (Do not modify.) SimpleMarconatoMachine has 4 states
  • internal::InfrastructureSystemsInternal: (Do not modify.) PowerSystems.jl internal reference
source