25enum TransformerConnection {
40 double primaryNominalVoltage = 138.0;
42 double secondaryNominalVoltage = 138.0;
45 double nominalPower = 100.0;
47 double resistance = 0.0;
49 double indReactance = 1.0;
51 TransformerConnection connection = GWYE_GWYE;
52 double turnsRatio = 1.0;
53 double phaseShift = 0.0;
54 bool useTransformerPower =
false;
57 std::complex<double> current[2] = {std::complex<double>(0.0, 0.0), std::complex<double>(0.0, 0.0)};
58 std::complex<double> powerFlow[2] = {std::complex<double>(0.0, 0.0), std::complex<double>(0.0, 0.0)};
61 double zeroResistance = 0.0;
62 double zeroIndReactance = 1.0;
63 double primaryGrndResistance = 0.0;
64 double primaryGrndReactance = 0.0;
65 double secondaryGrndResistance = 0.0;
66 double secondaryGrndReactance = 0.0;
69 std::complex<double> faultCurrent[2][3];
72 std::vector<int> harmonicOrder;
73 std::vector< std::complex<double> > harmonicCurrent[2];
92 virtual bool Contains(wxPoint2DDouble position)
const;
94 virtual void DrawDC(wxPoint2DDouble translation,
double scale, wxGraphicsContext* gc)
const;
95 virtual void DrawDC(wxPoint2DDouble translation,
double scale, wxDC& dc)
const;
96 virtual bool Intersects(wxRect2DDouble rect)
const;
97 virtual void Rotate(
bool clockwise =
true);
98 virtual void Move(wxPoint2DDouble position);
100 virtual void StartMove(wxPoint2DDouble position);
110 virtual void SetNominalVoltage(std::vector<double> nominalVoltage, std::vector<ElectricalUnit> nominalVoltageUnit);
111 virtual void SetBestPositionAndRotation();
113 virtual rapidxml::xml_node<>* SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode);
114 virtual bool OpenElement(rapidxml::xml_node<>* elementNode, std::vector<Element*> parentList);
117 void UpdatePowerFlowArrowsPosition();
ElectricalUnit
Electrical units.
PowerFlowDirection
Direction of power flow arrows.
Abstract class for branch power elements.
Base class of all elements of the program. This class is responsible for manage graphical and his dat...