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

A control area is a grouping of generating units and/or loads and a cutset of tie lines (as terminals) which may be used for a variety of purposes including automatic generation control, power flow solution area interchange control specification, and input to load forecasting. All generation and load within the area defined by the terminals on the border are considered in the area interchange control. Note that any number of overlapping control area specifications can be superimposed on the physical model. The following general principles apply to ControlArea: 1. The control area orientation for net interchange is positive for an import, negative for an export. 2. The control area net interchange is determined by summing flows in Terminals. The Terminals are identified by creating a set of TieFlow objects associated with a ControlArea object. Each TieFlow object identifies one Terminal. 3. In a single network model, a tie between two control areas must be modelled in both control area specifications, such that the two representations of the tie flow sum to zero. 4. The normal orientation of Terminal flow is positive for flow into the conducting equipment that owns the Terminal. (i.e. flow from a bus into a device is positive.) However, the orientation of each flow in the control area specification must align with the control area convention, i.e. import is positive. If the orientation of the Terminal flow referenced by a TieFlow is positive into the control area, then this is confirmed by setting TieFlow.positiveFlowIn flag TRUE. If not, the orientation must be reversed by setting the TieFlow.positiveFlowIn flag FALSE. More...

#include <ControlArea.hpp>

Inheritance diagram for CIMPP::ControlArea:
Collaboration diagram for CIMPP::ControlArea:

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 CIMPP::PowerSystemResource
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::PowerSystemResource
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

std::list< CIMPP::ControlAreaGeneratingUnit * > ControlAreaGeneratingUnit
 The generating unit specifications for the control area. Default: {}.
CIMPP::EnergyArea * EnergyArea
 The energy area that is forecast from this control area specification. Default: nullptr.
std::list< CIMPP::TieFlow * > TieFlow
 The tie flows associated with the control area. Default: {}.
CIMPP::ActivePower netInterchange
 The specified positive net interchange into the control area, i.e. positive sign means flow into the area. Default: 0.0.
CIMPP::ActivePower pTolerance
 Active power net interchange tolerance. The attribute shall be a positive value or zero. Default: 0.0.
CIMPP::ControlAreaTypeKind type
 The primary type of control area definition used to determine if this is used for automatic generation control, for planning interchange control, or other purposes. A control area specified with primary type of automatic generation control could still be forecast and used as an interchange area in power flow analysis. Default: 0.
Public Attributes inherited from CIMPP::PowerSystemResource
std::list< CIMPP::Control * > Controls
 The controller outputs used to actually govern a regulating device, e.g. the magnetization of a synchronous machine or capacitor bank breaker actuator. Default: {}.
CIMPP::Location * Location
 Location of this power system resource. Default: nullptr.
std::list< CIMPP::Measurement * > Measurements
 The measurements associated with this power system resource. Default: {}.
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 [] = "ControlArea"
Static Public Attributes inherited from CIMPP::PowerSystemResource
static const char debugName [] = "PowerSystemResource"
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
Protected Member Functions inherited from CIMPP::PowerSystemResource
std::map< std::string, AttrDetails > allAttrDetailsMap () const override

Detailed Description

A control area is a grouping of generating units and/or loads and a cutset of tie lines (as terminals) which may be used for a variety of purposes including automatic generation control, power flow solution area interchange control specification, and input to load forecasting. All generation and load within the area defined by the terminals on the border are considered in the area interchange control. Note that any number of overlapping control area specifications can be superimposed on the physical model. The following general principles apply to ControlArea: 1. The control area orientation for net interchange is positive for an import, negative for an export. 2. The control area net interchange is determined by summing flows in Terminals. The Terminals are identified by creating a set of TieFlow objects associated with a ControlArea object. Each TieFlow object identifies one Terminal. 3. In a single network model, a tie between two control areas must be modelled in both control area specifications, such that the two representations of the tie flow sum to zero. 4. The normal orientation of Terminal flow is positive for flow into the conducting equipment that owns the Terminal. (i.e. flow from a bus into a device is positive.) However, the orientation of each flow in the control area specification must align with the control area convention, i.e. import is positive. If the orientation of the Terminal flow referenced by a TieFlow is positive into the control area, then this is confirmed by setting TieFlow.positiveFlowIn flag TRUE. If not, the orientation must be reversed by setting the TieFlow.positiveFlowIn flag FALSE.

Member Function Documentation

◆ addClassGetFnsToMap()

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

Reimplemented from BaseClass.

◆ addEnumGetFnsToMap()

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

Reimplemented from BaseClass.

◆ addPrimitiveGetFnsToMap()

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

Reimplemented from BaseClass.

◆ allAttrDetailsMap()

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

Reimplemented from BaseClass.

◆ debugString()

const char * ControlArea::debugString ( ) const
overridevirtual

Reimplemented from BaseClass.

◆ getAttributeNames()

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

Reimplemented from BaseClass.

◆ getAttributeNamespaceUrl()

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

Reimplemented from BaseClass.

◆ getClassNamespaceUrl()

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

Reimplemented from BaseClass.

◆ getPossibleAttributeProfiles()

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

Reimplemented from BaseClass.

◆ getPossibleProfiles()

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

Reimplemented from BaseClass.

◆ getPossibleProfilesIncludingAttributes()

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

Reimplemented from BaseClass.

◆ getRecommendedProfile()

const CGMESProfile & ControlArea::getRecommendedProfile ( ) const
overridevirtual

Reimplemented from BaseClass.

◆ isAssignableFrom()

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

Reimplemented from BaseClass.


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