blob: 47d2260a90ef4dcc8e8f319b85f21e5e0403b003 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef POWERQUALITY_H
#define POWERQUALITY_H
#include "ElectricCalculation.h"
#include <wx/intl.h> //_()
#include <wx/string.h>
/**
* @class PowerQuality
* @author Thales Lima Oliveira <thales@ufu.br>
* @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<std::vector<std::complex<double> > > yBus;
};
PowerQuality();
PowerQuality(std::vector<Element *> elementList);
~PowerQuality();
virtual void CalculateHarmonicYbusList(double systemPowerBase = 100e6);
virtual void CalculateHarmonicYbus(std::vector<std::vector<std::complex<double> > > &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<double> GetHarmonicOrdersList();
virtual std::vector<double> GetFrequencies() { return m_frequencyList; }
protected:
std::vector<HarmonicYbus> m_harmYbusList;
std::vector<double> m_frequencyList;
};
#endif // POWERQUALITY_H
|