summaryrefslogtreecommitdiffstats
path: root/Project/Fault.h
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Fault.h')
-rw-r--r--Project/Fault.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/Project/Fault.h b/Project/Fault.h
new file mode 100644
index 0000000..c3caef7
--- /dev/null
+++ b/Project/Fault.h
@@ -0,0 +1,70 @@
+#ifndef FAULT_H
+#define FAULT_H
+
+#include "ElectricCalculation.h"
+/**
+ * @class Fault
+ * @author Thales Lima Oliveira
+ * @date 10/01/2017
+ * @file Fault.h
+ * @brief Calculate the fault of the system and update the elements data.
+ */
+
+class Fault : public ElectricCalculation
+{
+public:
+ /**
+ * @brief Contructor.
+ * @param elementList List of elements in workspace
+ */
+ Fault(std::vector<Element*> elementList);
+
+ /**
+ * @brief Default contructor. Use GetElementsFromList(std::vector<Element*> elementList).
+ */
+ Fault();
+
+ /**
+ * @brief Destructor.
+ */
+ ~Fault();
+
+ /**
+ * @brief Calculate the fault of the system. Return true if was possible the calculation.
+ * @param systemPowerBase System base of power.
+ */
+ virtual bool RunFaultCalculation(double systemPowerBase);
+
+ /**
+ * @brief Update the data of the elements.
+ * @param systemPowerBase System base of power.
+ */
+ virtual void UpdateElementsFault(double systemPowerBase);
+
+ /**
+ * @brief Get the error message generated in RunFaultCalculation(double systemPowerBase).
+ * @return Error message.
+ */
+ virtual wxString GetErrorMessage() { return m_errorMsg; }
+
+protected:
+ wxString m_errorMsg = "";
+
+ std::vector<std::vector<std::complex<double> > > m_zBusPos;
+ std::vector<std::vector<std::complex<double> > > m_zBusNeg;
+ std::vector<std::vector<std::complex<double> > > m_zBusZero;
+
+ std::vector<std::complex<double> > m_posFaultVoltagePos;
+ std::vector<std::complex<double> > m_posFaultVoltageNeg;
+ std::vector<std::complex<double> > m_posFaultVoltageZero;
+
+ std::complex<double> m_fCurrentA;
+ std::complex<double> m_fCurrentB;
+ std::complex<double> m_fCurrentC;
+
+ std::vector<std::complex<double> > m_posFaultVoltageA;
+ std::vector<std::complex<double> > m_posFaultVoltageB;
+ std::vector<std::complex<double> > m_posFaultVoltageC;
+};
+
+#endif // FAULT_H