Power System Platform  2024w23a
Loading...
Searching...
No Matches
PowerQuality Class Reference

Responsible for the power quality calculations. More...

#include <PowerQuality.h>

Inheritance diagram for PowerQuality:
Collaboration diagram for PowerQuality:

Classes

struct  HarmonicYbus
 

Public Member Functions

 PowerQuality (std::vector< Element * > elementList)
 
virtual wxString GetErrorMessage ()
 
virtual void CalculateHarmonicYbusList (double systemPowerBase=100e6, HarmLoadConnection loadConnection=HarmLoadConnection::PARALLEL)
 
virtual void CalculateHarmonicYbus (std::vector< std::vector< std::complex< double > > > &yBus, double systemPowerBase, double order, bool ignoreTransformerConnection=false, HarmLoadConnection loadConnection=HarmLoadConnection::PARALLEL)
 
virtual bool CalculateDistortions (double systemPowerBase=100e6, HarmLoadConnection loadConnection=HarmLoadConnection::PARALLEL)
 
virtual bool CalculateFrequencyResponse (double systemFreq=60.0, double initFreq=0.0, double endFreq=1500.0, double stepFreq=1.0, int injBusNumber=0, double systemPowerBase=100e6, HarmLoadConnection loadConnection=HarmLoadConnection::PARALLEL)
 
virtual std::vector< double > GetHarmonicOrdersList ()
 
virtual std::vector< double > GetFrequencies ()
 
- Public Member Functions inherited from ElectricCalculation
 ElectricCalculation ()
 Constructor.
 
 ~ElectricCalculation ()
 Destructor.
 
virtual void GetElementsFromList (std::vector< Element * > elementList)
 Separate the power elements from a generic list.
 
virtual bool GetYBus (std::vector< std::vector< std::complex< double > > > &yBus, double systemPowerBase, YBusSequence sequence=POSITIVE_SEQ, bool includeSyncMachines=false, bool allLoadsAsImpedances=false, bool usePowerFlowVoltagesOnImpedances=false)
 Get the admittance matrix from the list of elements (use GetElementsFromList first).
 
virtual bool InvertMatrix (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::vector< std::complex< double > > > &inverse)
 Invert a matrix.
 
virtual void UpdateElementsPowerFlow (std::vector< std::complex< double > > voltage, std::vector< std::complex< double > > power, std::vector< BusType > busType, std::vector< ReactiveLimits > reactiveLimit, double systemPowerBase)
 Update the elements after the power flow calculation.
 
void ABCtoDQ0 (std::complex< double > complexValue, double angle, double &dValue, double &qValue)
 
void DQ0toABC (double dValue, double qValue, double angle, std::complex< double > &complexValue)
 
std::vector< std::complex< double > > GaussianElimination (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::complex< double > > array)
 
std::vector< double > GaussianElimination (std::vector< std::vector< double > > matrix, std::vector< double > array)
 
Machines::SyncMachineModel GetMachineModel (SyncGenerator *generator)
 
std::vector< std::complex< double > > ComplexMatrixTimesVector (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::complex< double > > vector)
 
void GetLUDecomposition (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::vector< std::complex< double > > > &matrixL, std::vector< std::vector< std::complex< double > > > &matrixU)
 
std::vector< std::complex< double > > LUEvaluate (std::vector< std::vector< std::complex< double > > > u, std::vector< std::vector< std::complex< double > > > l, std::vector< std::complex< double > > b)
 
bool GetParentBus (Element *childElement, Bus *&parentBus)
 
bool GetParentBus (Element *childElement, Bus *&parentBus1, Bus *&parentBus2)
 
const std::vector< PowerElement * > GetPowerElementList () const
 Get the power elements of the system (use GetElementsFromList first).
 
const std::vector< Bus * > GetBusList () const
 Get the buses of the system (use GetElementsFromList first).
 
const std::vector< Capacitor * > GetCapacitorList () const
 Get the capacitors of the system (use GetElementsFromList first).
 
const std::vector< IndMotor * > GetIndMotorList () const
 Get the induction motors of the system (use GetElementsFromList first).
 
const std::vector< Inductor * > GetInductorList () const
 Get the inductors of the system (use GetElementsFromList first).
 
const std::vector< Line * > GetLineList () const
 Get the lines of the system (use GetElementsFromList first).
 
const std::vector< Load * > GetLoadList () const
 Get the loads of the system (use GetElementsFromList first).
 
const std::vector< SyncGenerator * > GetSyncGeneratorList () const
 Get the synchronous generators of the system (use GetElementsFromList first).
 
const std::vector< SyncMotor * > GetSyncMotorList () const
 Get the synchronous motors of the system (use GetElementsFromList first).
 
const std::vector< Transformer * > GetTransformerList () const
 Get the transformers of the system (use GetElementsFromList first).
 
const std::vector< HarmCurrent * > GetHarmCurrentList () const
 Get the harmonic current source of the system (use GetElementsFromList first).
 

Protected Member Functions

std::vector< std::vector< std::complex< double > > > GetTransformerHarmAdmmitance (Transformer *transformer, double systemPowerBase, double hOrder, bool ignoreConnection=false)
 
- Protected Member Functions inherited from ElectricCalculation
void GetNextConnection (const unsigned int &checkBusNumber, const std::vector< std::vector< std::complex< double > > > &yBus, std::vector< bool > &connToSlack)
 

Protected Attributes

std::vector< HarmonicYbusm_harmYbusList
 
std::vector< double > m_frequencyList
 
wxString m_errorMsg = ""
 
- Protected Attributes inherited from ElectricCalculation
std::vector< PowerElement * > m_powerElementList
 
std::vector< Bus * > m_busList
 
std::vector< Capacitor * > m_capacitorList
 
std::vector< IndMotor * > m_indMotorList
 
std::vector< Inductor * > m_inductorList
 
std::vector< Line * > m_lineList
 
std::vector< Load * > m_loadList
 
std::vector< SyncGenerator * > m_syncGeneratorList
 
std::vector< SyncMotor * > m_syncMotorList
 
std::vector< Transformer * > m_transformerList
 
std::vector< HarmCurrent * > m_harmCurrentList
 

Detailed Description

Responsible for the power quality calculations.

Author
Thales Lima Oliveira thale.nosp@m.s@uf.nosp@m.u.br
Date
24/04/2019

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