17class TopologicalNode :
public IdentifiedObject {
19 PhaseType mPhaseType = PhaseType::Single;
20 Bool mIsGround =
false;
23 typedef std::shared_ptr<TopologicalNode> Ptr;
24 typedef std::vector<Ptr> List;
26 const Attribute<MatrixComp>::Ptr mInitialVoltage;
30 TopologicalNode(String
uid, String name, PhaseType phaseType,
31 const std::vector<Complex> &initialVoltage);
33 virtual ~TopologicalNode() {}
36 Bool isGround()
const;
38 MatrixComp initialVoltage()
const;
40 void setInitialVoltage(MatrixComp voltage)
const;
42 void setInitialVoltage(Complex voltage)
const;
44 void setInitialVoltage(Complex voltage, Int phaseIndex)
const;
46 Complex initialSingleVoltage(PhaseType phaseType = PhaseType::Single);
48 PhaseType phaseType()
const;
50 virtual UInt matrixNodeIndex(PhaseType phaseType = PhaseType::Single) = 0;
52 virtual std::vector<UInt> matrixNodeIndices() = 0;
54 virtual void setMatrixNodeIndex(UInt phase, UInt matrixNodeIndex) = 0;