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/HarmCurrent.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Project/HarmCurrent.h (limited to 'Project/HarmCurrent.h') diff --git a/Project/HarmCurrent.h b/Project/HarmCurrent.h new file mode 100644 index 0000000..c01f150 --- /dev/null +++ b/Project/HarmCurrent.h @@ -0,0 +1,51 @@ +#ifndef HARMCURRENT_H +#define HARMCURRENT_H + +#include "Shunt.h" + +class HarmCurrentForm; + +struct HarmCurrentElectricalData { + wxString name; + std::vector harmonicOrder; + std::vector injHarmCurrent; + std::vector injHarmCurrentUnit; + std::vector injHarmAngle; +}; + +/** + * @class HarmCurrent + * @author Thales Lima Oliveira + * @date 22/04/2019 + * @brief Shunt Harmonic Corrent Source. + * @file HarmCurrent.h + */ +class HarmCurrent : public Shunt +{ + public: + HarmCurrent(); + HarmCurrent(wxString name); + ~HarmCurrent(); + + virtual Element* GetCopy(); + virtual bool AddParent(Element* parent, wxPoint2DDouble position); + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Contains(wxPoint2DDouble position) const; + virtual bool Intersects(wxRect2DDouble rect) const; + virtual void Rotate(bool clockwise = true); + virtual bool GetContextMenu(wxMenu& menu); + virtual wxString GetTipText() const; + virtual bool ShowForm(wxWindow* parent, Element* element); + virtual HarmCurrentElectricalData GetElectricalData() { return m_electricalData; } + virtual HarmCurrentElectricalData GetPUElectricalData(double systemPowerBase, double voltage); + virtual void SetElectricalData(HarmCurrentElectricalData electricalData) { m_electricalData = electricalData; } + + virtual rapidxml::xml_node<>* SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode); + virtual bool OpenElement(rapidxml::xml_node<>* elementNode, std::vector parentList); + + protected: + std::vector m_triangPts; + HarmCurrentElectricalData m_electricalData; +}; + +#endif // HARMCURRENT_H -- cgit