From 2771fff79ac9c3c09b70f4668e7142b2e944d1f2 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 25 Apr 2019 01:25:41 -0300 Subject: Matpower Importer and power quality calculation Power quality in implementation --- Project/PowerQuality.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Project/PowerQuality.h (limited to 'Project/PowerQuality.h') diff --git a/Project/PowerQuality.h b/Project/PowerQuality.h new file mode 100644 index 0000000..ad47884 --- /dev/null +++ b/Project/PowerQuality.h @@ -0,0 +1,37 @@ +#ifndef POWERQUALITY_H +#define POWERQUALITY_H + +#include "ElectricCalculation.h" + +#include //_() +#include + +/** + * @class PowerQuality + * @author Thales Lima Oliveira + * @date 24/04/2019 + * @brief Responsible for the power quality calculations. + * @file PowerQuality.h + */ +class PowerQuality : public ElectricCalculation +{ + public: + struct HarmonicYbus { + double order; + std::vector > > yBus; + }; + + PowerQuality(); + PowerQuality(std::vector elementList); + ~PowerQuality(); + + virtual void CalculateHarmonicYbusList(double systemPowerBase = 100e6); + + virtual bool CalculateDistortions(double systemPowerBase = 100e6); + virtual std::vector GetHarmonicOrdersList(); + + protected: + std::vector m_harmYbusList; +}; + +#endif // POWERQUALITY_H -- cgit From a40d5a405d60b4e429f6f578dcfe3c33ab5ad81a Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Fri, 26 Apr 2019 02:29:47 -0300 Subject: Frequency response implemented Need a form --- Project/PowerQuality.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Project/PowerQuality.h') diff --git a/Project/PowerQuality.h b/Project/PowerQuality.h index ad47884..6c443e3 100644 --- a/Project/PowerQuality.h +++ b/Project/PowerQuality.h @@ -22,16 +22,26 @@ class PowerQuality : public ElectricCalculation }; PowerQuality(); - PowerQuality(std::vector elementList); + PowerQuality(std::vector elementList); ~PowerQuality(); - + virtual void CalculateHarmonicYbusList(double systemPowerBase = 100e6); + virtual void CalculateHarmonicYbus(std::vector > > &yBus, + double systemPowerBase, + double order); virtual bool CalculateDistortions(double systemPowerBase = 100e6); + virtual bool CalculateFrequencyResponse(double systemFreq = 60.0, + double initFreq = 0.0, + double endFreq = 1500.0, + double stepFreq = 1.0, + double systemPowerBase = 100e6); virtual std::vector GetHarmonicOrdersList(); + virtual std::vector GetFrequencies() { return m_frequencyList; } protected: std::vector m_harmYbusList; + std::vector m_frequencyList; }; #endif // POWERQUALITY_H -- cgit From 2b02ef22cc5f2025b09b700f1cb6e1cec94d80f6 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Fri, 26 Apr 2019 17:52:32 -0300 Subject: Power quality fully implemented A formal filter element must be implemented in future --- Project/PowerQuality.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Project/PowerQuality.h') diff --git a/Project/PowerQuality.h b/Project/PowerQuality.h index 6c443e3..47d2260 100644 --- a/Project/PowerQuality.h +++ b/Project/PowerQuality.h @@ -35,6 +35,7 @@ class PowerQuality : public ElectricCalculation double initFreq = 0.0, double endFreq = 1500.0, double stepFreq = 1.0, + int injBusNumber = 0, double systemPowerBase = 100e6); virtual std::vector GetHarmonicOrdersList(); virtual std::vector GetFrequencies() { return m_frequencyList; } -- cgit