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

Models the characteristic response of the load demand due to changes in system conditions such as voltage and frequency. It is not related to demand response. If LoadResponseCharacteristic.exponentModel is True, the exponential voltage or frequency dependent models are specified and used as to calculate active and reactive power components of the load model. The equations to calculate active and reactive power components of the load model are internal to the power flow calculation, hence they use different quantities depending on the use case of the data exchange. The equations for exponential voltage dependent load model injected power are: pInjection= Pnominal* (Voltage/cim:BaseVoltage.nominalVoltage) ** cim:LoadResponseCharacteristic.pVoltageExponent qInjection= Qnominal* (Voltage/cim:BaseVoltage.nominalVoltage) ** cim:LoadResponseCharacteristic.qVoltageExponent Where: 1) * means "multiply" and ** is "raised to power of"; 2) Pnominal and Qnominal represent the active power and reactive power at nominal voltage as any load described by the voltage exponential model shall be given at nominal voltage. This means that EnergyConsumer.p and EnergyConsumer.q are at nominal voltage. 3) After power flow is solved: -pInjection and qInjection correspond to SvPowerflow.p and SvPowerflow.q respectively. - Voltage corresponds to SvVoltage.v at the TopologicalNode where the load is connected. More...

#include <LoadResponseCharacteristic.hpp>

Inheritance diagram for CIMPP::LoadResponseCharacteristic:
Collaboration diagram for CIMPP::LoadResponseCharacteristic:

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::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::EnergyConsumer * > EnergyConsumer
 The set of loads that have the response characteristics. Default: {}.
CIMPP::Boolean exponentModel
 Indicates the exponential voltage dependency model is to be used. If false, the coefficient model is to be used. The exponential voltage dependency model consist of the attributes: - pVoltageExponent - qVoltageExponent - pFrequencyExponent - qFrequencyExponent. The coefficient model consist of the attributes: - pConstantImpedance - pConstantCurrent - pConstantPower - qConstantImpedance - qConstantCurrent - qConstantPower. The sum of pConstantImpedance, pConstantCurrent and pConstantPower shall equal 1. The sum of qConstantImpedance, qConstantCurrent and qConstantPower shall equal 1. Default: false.
CIMPP::Float pConstantCurrent
 Portion of active power load modelled as constant current. Default: 0.0.
CIMPP::Float pConstantImpedance
 Portion of active power load modelled as constant impedance. Default: 0.0.
CIMPP::Float pConstantPower
 Portion of active power load modelled as constant power. Default: 0.0.
CIMPP::Float pFrequencyExponent
 Exponent of per unit frequency effecting active power. Default: 0.0.
CIMPP::Float pVoltageExponent
 Exponent of per unit voltage effecting real power. Default: 0.0.
CIMPP::Float qConstantCurrent
 Portion of reactive power load modelled as constant current. Default: 0.0.
CIMPP::Float qConstantImpedance
 Portion of reactive power load modelled as constant impedance. Default: 0.0.
CIMPP::Float qConstantPower
 Portion of reactive power load modelled as constant power. Default: 0.0.
CIMPP::Float qFrequencyExponent
 Exponent of per unit frequency effecting reactive power. Default: 0.0.
CIMPP::Float qVoltageExponent
 Exponent of per unit voltage effecting reactive power. Default: 0.0.
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 [] = "LoadResponseCharacteristic"
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

Models the characteristic response of the load demand due to changes in system conditions such as voltage and frequency. It is not related to demand response. If LoadResponseCharacteristic.exponentModel is True, the exponential voltage or frequency dependent models are specified and used as to calculate active and reactive power components of the load model. The equations to calculate active and reactive power components of the load model are internal to the power flow calculation, hence they use different quantities depending on the use case of the data exchange. The equations for exponential voltage dependent load model injected power are: pInjection= Pnominal* (Voltage/cim:BaseVoltage.nominalVoltage) ** cim:LoadResponseCharacteristic.pVoltageExponent qInjection= Qnominal* (Voltage/cim:BaseVoltage.nominalVoltage) ** cim:LoadResponseCharacteristic.qVoltageExponent Where: 1) * means "multiply" and ** is "raised to power of"; 2) Pnominal and Qnominal represent the active power and reactive power at nominal voltage as any load described by the voltage exponential model shall be given at nominal voltage. This means that EnergyConsumer.p and EnergyConsumer.q are at nominal voltage. 3) After power flow is solved: -pInjection and qInjection correspond to SvPowerflow.p and SvPowerflow.q respectively. - Voltage corresponds to SvVoltage.v at the TopologicalNode where the load is connected.

Member Function Documentation

◆ addClassGetFnsToMap()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ addEnumGetFnsToMap()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ addPrimitiveGetFnsToMap()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ allAttrDetailsMap()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ debugString()

const char * LoadResponseCharacteristic::debugString ( ) const
overridevirtual

Reimplemented from CIMPP::IdentifiedObject.

◆ getAttributeNames()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getAttributeNamespaceUrl()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getClassNamespaceUrl()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getPossibleAttributeProfiles()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getPossibleProfiles()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getPossibleProfilesIncludingAttributes()

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

Reimplemented from CIMPP::IdentifiedObject.

◆ getRecommendedProfile()

const CGMESProfile & LoadResponseCharacteristic::getRecommendedProfile ( ) const
overridevirtual

Reimplemented from CIMPP::IdentifiedObject.

◆ isAssignableFrom()

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

Reimplemented from CIMPP::IdentifiedObject.


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