#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 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, int injBusNumber = 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