CGMES_3_0_0
Loading...
Searching...
No Matches
CIMPP::SynchronousMachineEquivalentCircuit Class Reference

The electrical equations for all variations of the synchronous models are based on the SynchronousEquivalentCircuit diagram for the direct- and quadrature- axes. Equations for conversion between equivalent circuit and time constant reactance forms: Xd = Xad + Xl X'd = Xl + Xad x Xfd / (Xad + Xfd) X"d</i> = <i>Xl</i> + <i>Xad</i> x <i>Xfd</i> x <i>X1d</i> / (<i>Xad</i> x <i>Xfd</i> + <i>Xad</i> x <i>X1d</i> + <i>Xfd</i> x <i>X1d</i>) <i>Xq</i> = <i>Xaq</i> + <i>Xl</i> <i>X'q</i> = <i>Xl</i> + <i>Xaq</i> x <i>X1q</i> / (<i>Xaq</i> + <i>X1q</i>) <i>X"q = Xl + Xaq x X1q x X2q / (Xaq x X1q + Xaq x X2q + X1q x X2q) T'do = (Xad + Xfd) / (omega0 x Rfd) T"do</i> = (<i>Xad</i> x <i>Xfd</i> + <i>Xad</i> x <i>X1d</i> + <i>Xfd</i> x <i>X1d</i>) / (<i>omega</i><i><sub>0</sub></i> x <i>R1d</i> x (<i>Xad</i> + <i>Xfd</i>) <i>T'qo</i> = (<i>Xaq</i> + <i>X1q</i>) / (<i>omega</i><i><sub>0</sub></i> x <i>R1q</i>) <i>T"qo = (Xaq x X1q + Xaq x X2q + X1q x X2q) / (omega0 x R2q x (Xaq + X1q) Same equations using CIM attributes from SynchronousMachineTimeConstantReactance class on left of "=" and SynchronousMachineEquivalentCircuit class on right (except as noted): xDirectSync = xad + RotatingMachineDynamics.statorLeakageReactance xDirectTrans = RotatingMachineDynamics.statorLeakageReactance + xad x xfd / (xad + xfd) xDirectSubtrans = RotatingMachineDynamics.statorLeakageReactance + xad x xfd x x1d / (xad x xfd + xad x x1d + xfd x x1d) xQuadSync = xaq + RotatingMachineDynamics.statorLeakageReactance xQuadTrans = RotatingMachineDynamics.statorLeakageReactance + xaq x x1q / (xaq+ x1q) xQuadSubtrans = RotatingMachineDynamics.statorLeakageReactance + xaq x x1q x x2q / (xaq x x1q + xaq x x2q + x1q x x2q) tpdo = (xad + xfd) / (2 x pi x nominal frequency x rfd) tppdo = (xad x xfd + xad x x1d + xfd x x1d) / (2 x pi x nominal frequency x r1d x (xad + xfd) tpqo = (xaq + x1q) / (2 x pi x nominal frequency x r1q) tppqo = (xaq x x1q + xaq x x2q + x1q x x2q) / (2 x pi x nominal frequency x r2q x (xaq + x1q) These are only valid for a simplified model where "Canay" reactance is zero. More...

#include <SynchronousMachineEquivalentCircuit.hpp>

Inheritance diagram for CIMPP::SynchronousMachineEquivalentCircuit:
Collaboration diagram for CIMPP::SynchronousMachineEquivalentCircuit:

Public Member Functions

const char * debugString () const override
const std::list< std::string > & getAttributeNames () const override
const std::string & getClassNamespaceUrl () const override
const std::string & getAttributeNamespaceUrl (const std::string &attrName) const override
const std::list< CGMESProfile > & getPossibleProfiles () const override
const CGMESProfile & getRecommendedProfile () const override
const std::list< CGMESProfile > & getPossibleAttributeProfiles (const std::string &attrName) const override
const std::list< CGMESProfile > & getPossibleProfilesIncludingAttributes () const override
void addPrimitiveGetFnsToMap (std::map< std::string, get_function > &get_map) const override
void addClassGetFnsToMap (std::map< std::string, class_get_function > &get_map) const override
void addEnumGetFnsToMap (std::map< std::string, get_function > &get_map) const override
bool isAssignableFrom (BaseClass *otherObject) const override
Public Member Functions inherited from BaseClass
void setRdfid (const std::string &id)
std::string getRdfid () const

Static Public Member Functions

static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from CIMPP::SynchronousMachineDetailed
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from CIMPP::SynchronousMachineDynamics
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from CIMPP::RotatingMachineDynamics
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from CIMPP::DynamicsFunctionBlock
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from CIMPP::IdentifiedObject
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const BaseClassDefiner declare ()
Static Public Member Functions inherited from BaseClass
static void addConstructToMap (std::unordered_map< std::string, BaseClass *(*)()> &factory_map)
static void addPrimitiveAssignFnsToMap (std::unordered_map< std::string, assign_function > &assign_map)
static void addClassAssignFnsToMap (std::unordered_map< std::string, class_assign_function > &assign_map)
static const CIMPP::BaseClassDefiner declare ()

Public Attributes

CIMPP::PU r1d
 Direct-axis damper 1 winding resistance. Default: 0.0.
CIMPP::PU r1q
 Quadrature-axis damper 1 winding resistance. Default: 0.0.
CIMPP::PU r2q
 Quadrature-axis damper 2 winding resistance. Default: 0.0.
CIMPP::PU rfd
 Field winding resistance. Default: 0.0.
CIMPP::PU x1d
 Direct-axis damper 1 winding leakage reactance. Default: 0.0.
CIMPP::PU x1q
 Quadrature-axis damper 1 winding leakage reactance. Default: 0.0.
CIMPP::PU x2q
 Quadrature-axis damper 2 winding leakage reactance. Default: 0.0.
CIMPP::PU xad
 Direct-axis mutual reactance. Default: 0.0.
CIMPP::PU xaq
 Quadrature-axis mutual reactance. Default: 0.0.
CIMPP::PU xf1d
 Differential mutual (Canay) reactance. Default: 0.0.
CIMPP::PU xfd
 Field winding leakage reactance. Default: 0.0.
Public Attributes inherited from CIMPP::SynchronousMachineDetailed
CIMPP::Float efdBaseRatio
 Ratio (exciter voltage/generator voltage) of Efd bases of exciter and generator models (> 0). Typical value = 1. Default: 0.0.
CIMPP::IfdBaseKind ifdBaseType
 Excitation base system mode. It should be equal to the value of WLMDV given by the user. WLMDV is the PU ratio between the field voltage and the excitation current: Efd = WLMDV x Ifd. Typical value = ifag. Default: 0.
CIMPP::Float saturationFactor120QAxis
 Quadrature-axis saturation factor at 120% of rated terminal voltage (S12q) (>= SynchonousMachineDetailed.saturationFactorQAxis). Typical value = 0,12. Default: 0.0.
CIMPP::Float saturationFactorQAxis
 Quadrature-axis saturation factor at rated terminal voltage (S1q) (>= 0). Typical value = 0,02. Default: 0.0.
Public Attributes inherited from CIMPP::SynchronousMachineDynamics
CIMPP::CrossCompoundTurbineGovernorDynamics * CrossCompoundTurbineGovernorDyanmics
 The cross-compound turbine governor with which this high-pressure synchronous machine is associated. Default: nullptr.
CIMPP::CrossCompoundTurbineGovernorDynamics * CrossCompoundTurbineGovernorDynamics
 The cross-compound turbine governor with which this low-pressure synchronous machine is associated. Default: nullptr.
CIMPP::ExcitationSystemDynamics * ExcitationSystemDynamics
 Excitation system model associated with this synchronous machine model. Default: nullptr.
CIMPP::MechanicalLoadDynamics * MechanicalLoadDynamics
 Compensation of voltage compensator`s generator for current flow out of this generator. Default: {} */ std::list<CIMPP::GenICompensationForGenJ*> GenICompensationForGenJ;.
CIMPP::SynchronousMachine * SynchronousMachine
 Synchronous machine to which synchronous machine dynamics model applies. Default: nullptr.
std::list< CIMPP::TurbineGovernorDynamics * > TurbineGovernorDynamics
 Turbine-governor model associated with this synchronous machine model. Multiplicity of greater than one is intended to support hydro units that have multiple turbines on one generator. Default: {}.
Public Attributes inherited from CIMPP::RotatingMachineDynamics
CIMPP::Float damping
 Damping torque coefficient (D) (>= 0). A proportionality constant that, when multiplied by the angular velocity of the rotor poles with respect to the magnetic field (frequency), results in the damping torque. This value is often zero when the sources of damping torques (generator damper windings, load damping effects, etc.) are modelled in detail. Typical value = 0. Default: 0.0.
CIMPP::Seconds inertia
 Inertia constant of generator or motor and mechanical load (H) (> 0). This is the specification for the stored energy in the rotating mass when operating at rated speed. For a generator, this includes the generator plus all other elements (turbine, exciter) on the same shaft and has units of MW x s. For a motor, it includes the motor plus its mechanical load. Conventional units are PU on the generator MVA base, usually expressed as MW x s / MVA or just s. This value is used in the accelerating power reference frame for operator training simulator solutions. Typical value = 3. Default: 0.0.
CIMPP::Float saturationFactor
 Saturation factor at rated terminal voltage (S1) (>= 0). Not used by simplified model. Defined by defined by S(E1) in the SynchronousMachineSaturationParameters diagram. Typical value = 0,02. Default: 0.0.
CIMPP::Float saturationFactor120
 Saturation factor at 120% of rated terminal voltage (S12) (>= RotatingMachineDynamics.saturationFactor). Not used by the simplified model, defined by S(E2) in the SynchronousMachineSaturationParameters diagram. Typical value = 0,12. Default: 0.0.
CIMPP::PU statorLeakageReactance
 Stator leakage reactance (Xl) (>= 0). Typical value = 0,15. Default: 0.0.
CIMPP::PU statorResistance
 Stator (armature) resistance (Rs) (>= 0). Typical value = 0,005. Default: 0.0.
Public Attributes inherited from CIMPP::DynamicsFunctionBlock
CIMPP::Boolean enabled
 Function block used indicator. true = use of function block is enabled false = use of function block is disabled. Default: false.
Public Attributes inherited from CIMPP::IdentifiedObject
std::list< CIMPP::DiagramObject * > DiagramObjects
 The diagram objects that are associated with the domain object. Default: {}.
CIMPP::String description
 The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy. Default: "".
CIMPP::String energyIdentCodeEic
 The attribute is used for an exchange of the EIC code (Energy identification Code). The length of the string is 16 characters as defined by the EIC code. For details on EIC scheme please refer to ENTSO-E web site. Default: "".
CIMPP::String mRID
 Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended. For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements. Default: "".
CIMPP::String name
 The name is any free human readable and possibly non unique text naming the object. Default: "".
CIMPP::String shortName
 The attribute is used for an exchange of a human readable short name with length of the string 12 characters maximum. Default: "".

Static Public Attributes

static const char debugName [] = "SynchronousMachineEquivalentCircuit"
Static Public Attributes inherited from CIMPP::SynchronousMachineDetailed
static const char debugName [] = "SynchronousMachineDetailed"
Static Public Attributes inherited from CIMPP::SynchronousMachineDynamics
static const char debugName [] = "SynchronousMachineDynamics"
Static Public Attributes inherited from CIMPP::RotatingMachineDynamics
static const char debugName [] = "RotatingMachineDynamics"
Static Public Attributes inherited from CIMPP::DynamicsFunctionBlock
static const char debugName [] = "DynamicsFunctionBlock"
Static Public Attributes inherited from CIMPP::IdentifiedObject
static const char debugName [] = "IdentifiedObject"
Static Public Attributes inherited from BaseClass
static const char debugName [] = "BaseClass"

Protected Member Functions

std::map< std::string, AttrDetails > allAttrDetailsMap () const override

Detailed Description

The electrical equations for all variations of the synchronous models are based on the SynchronousEquivalentCircuit diagram for the direct- and quadrature- axes. Equations for conversion between equivalent circuit and time constant reactance forms: Xd = Xad + Xl X'd = Xl + Xad x Xfd / (Xad + Xfd) X"d</i> = <i>Xl</i> + <i>Xad</i> x <i>Xfd</i> x <i>X1d</i> / (<i>Xad</i> x <i>Xfd</i> + <i>Xad</i> x <i>X1d</i> + <i>Xfd</i> x <i>X1d</i>) <i>Xq</i> = <i>Xaq</i> + <i>Xl</i> <i>X'q</i> = <i>Xl</i> + <i>Xaq</i> x <i>X1q</i> / (<i>Xaq</i> + <i>X1q</i>) <i>X"q = Xl + Xaq x X1q x X2q / (Xaq x X1q + Xaq x X2q + X1q x X2q) T'do = (Xad + Xfd) / (omega0 x Rfd) T"do</i> = (<i>Xad</i> x <i>Xfd</i> + <i>Xad</i> x <i>X1d</i> + <i>Xfd</i> x <i>X1d</i>) / (<i>omega</i><i><sub>0</sub></i> x <i>R1d</i> x (<i>Xad</i> + <i>Xfd</i>) <i>T'qo</i> = (<i>Xaq</i> + <i>X1q</i>) / (<i>omega</i><i><sub>0</sub></i> x <i>R1q</i>) <i>T"qo = (Xaq x X1q + Xaq x X2q + X1q x X2q) / (omega0 x R2q x (Xaq + X1q) Same equations using CIM attributes from SynchronousMachineTimeConstantReactance class on left of "=" and SynchronousMachineEquivalentCircuit class on right (except as noted): xDirectSync = xad + RotatingMachineDynamics.statorLeakageReactance xDirectTrans = RotatingMachineDynamics.statorLeakageReactance + xad x xfd / (xad + xfd) xDirectSubtrans = RotatingMachineDynamics.statorLeakageReactance + xad x xfd x x1d / (xad x xfd + xad x x1d + xfd x x1d) xQuadSync = xaq + RotatingMachineDynamics.statorLeakageReactance xQuadTrans = RotatingMachineDynamics.statorLeakageReactance + xaq x x1q / (xaq+ x1q) xQuadSubtrans = RotatingMachineDynamics.statorLeakageReactance + xaq x x1q x x2q / (xaq x x1q + xaq x x2q + x1q x x2q) tpdo = (xad + xfd) / (2 x pi x nominal frequency x rfd) tppdo = (xad x xfd + xad x x1d + xfd x x1d) / (2 x pi x nominal frequency x r1d x (xad + xfd) tpqo = (xaq + x1q) / (2 x pi x nominal frequency x r1q) tppqo = (xaq x x1q + xaq x x2q + x1q x x2q) / (2 x pi x nominal frequency x r2q x (xaq + x1q) These are only valid for a simplified model where "Canay" reactance is zero.

Member Function Documentation

◆ addClassGetFnsToMap()

void SynchronousMachineEquivalentCircuit::addClassGetFnsToMap ( std::map< std::string, class_get_function > & get_map) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ addEnumGetFnsToMap()

void SynchronousMachineEquivalentCircuit::addEnumGetFnsToMap ( std::map< std::string, get_function > & get_map) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ addPrimitiveGetFnsToMap()

void SynchronousMachineEquivalentCircuit::addPrimitiveGetFnsToMap ( std::map< std::string, get_function > & get_map) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ allAttrDetailsMap()

std::map< std::string, AttrDetails > SynchronousMachineEquivalentCircuit::allAttrDetailsMap ( ) const
overrideprotectedvirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ debugString()

const char * SynchronousMachineEquivalentCircuit::debugString ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getAttributeNames()

const std::list< std::string > & SynchronousMachineEquivalentCircuit::getAttributeNames ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getAttributeNamespaceUrl()

const std::string & SynchronousMachineEquivalentCircuit::getAttributeNamespaceUrl ( const std::string & attrName) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getClassNamespaceUrl()

const std::string & SynchronousMachineEquivalentCircuit::getClassNamespaceUrl ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getPossibleAttributeProfiles()

const std::list< CGMESProfile > & SynchronousMachineEquivalentCircuit::getPossibleAttributeProfiles ( const std::string & attrName) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getPossibleProfiles()

const std::list< CGMESProfile > & SynchronousMachineEquivalentCircuit::getPossibleProfiles ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getPossibleProfilesIncludingAttributes()

const std::list< CGMESProfile > & SynchronousMachineEquivalentCircuit::getPossibleProfilesIncludingAttributes ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ getRecommendedProfile()

const CGMESProfile & SynchronousMachineEquivalentCircuit::getRecommendedProfile ( ) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.

◆ isAssignableFrom()

bool SynchronousMachineEquivalentCircuit::isAssignableFrom ( BaseClass * otherObject) const
overridevirtual

Reimplemented from CIMPP::SynchronousMachineDetailed.


The documentation for this class was generated from the following files: