41 typedef std::shared_ptr<SimPowerComp<VarType>>
Ptr;
42 typedef std::vector<Ptr>
List;
83 UInt terminalPosition);
String uid()
Returns unique id.
spdlog::level::level_enum Level
std::shared_ptr< SimNode< VarType > > Ptr
UInt mNumFreqs
Number of network frequencies.
UInt matrixNodeIndex(UInt nodeIndex)
void setVirtualNodeAt(typename SimNode< VarType >::Ptr virtualNode, UInt nodeNum)
Sets the virtual node at index nodeNum.
const Attribute< MatrixVar< VarType > >::Ptr mIntfCurrent
Current through component.
SimTerminal< VarType >::List mTerminals
List of Terminals.
const MatrixVar< VarType > & intfVoltage()
Bool hasVirtualNodes()
Returns true if virtual node number is greater than zero.
std::vector< bool > mMatrixNodeIndexIsGround
"Cached" flags for whether the connected nodes are grounded
UInt terminalNumber()
Returns nominal number of Terminals for this component type.
UInt virtualSimNode(UInt nodeIndex, UInt phaseIndex=0)
Get simulation node number from virtual node.
SimPowerComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Basic constructor that takes UID, name and log level.
virtual void initializeFromNodesAndTerminals(Real frequency)
Initializes Component variables according to power flow data stored in Nodes.
UInt nodeNumber()
Returns the actual number of Nodes / Terminals that are already set to valid Nodes.
void checkForUnconnectedTerminals()
SimNode< VarType >::Ptr node(UInt index)
Get pointer to node.
SimPowerComp(String name, Logger::Level logLevel=Logger::Level::off)
Basic constructor that takes name and log level and sets the UID to name as well.
std::vector< UInt > mMatrixNodeIndices
"Cached" list of simulation nodes (to avoid shared_ptr accesses during simulation)
Matrix mFrequencies
List of considered network frequencies.
virtual void initialize(Matrix frequencies)
Initialize components with correct network frequencies.
SimTerminal< VarType >::Ptr terminal(UInt index)
Get pointer to Terminal.
const MatrixVar< VarType > & intfCurrent()
SimTerminal< VarType >::List terminals()
Return list of Terminal pointers.
std::vector< UInt > virtualMatrixNodeIndices(UInt index)
Get vector of simulation node numbers from virtual Node.
void setVirtualNodeNumber(UInt num)
Bool hasUnconnectedTerminals()
const Attribute< MatrixVar< VarType > >::Ptr mIntfVoltage
Voltage between terminals.
void connect(typename SimNode< VarType >::List nodes)
Sets all nodes and checks for nominal number of Nodes for this Component.
SimPowerComp< VarType >::List subComponents()
Get list of subcomponents.
UInt virtualNodesNumber()
Returns nominal number of virtual nodes for this component type.
void setTerminalAt(typename SimTerminal< VarType >::Ptr terminal, UInt terminalPosition)
Sets Terminal at index terminalPosition.
void setIntfVoltage(MatrixVar< VarType > voltage)
MatrixComp initialVoltage(UInt index)
SimNode< VarType >::Ptr virtualNode(UInt index)
Get pointer to virtual node.
void setIntfCurrent(MatrixVar< VarType > current)
TopologicalNode::List topologicalNodes()
Get nodes as base type TopologicalNode.
UInt terminalNumberConnected()
Returns the number of connected Terminals.
std::shared_ptr< SimPowerComp< VarType > > Ptr
SimNode< VarType >::List mVirtualNodes
List of virtual nodes.
std::vector< std::shared_ptr< SimPowerComp< VarType > > > mSubComponents
void setTerminals(typename SimTerminal< VarType >::List terminals)
SimNode< VarType >::List & virtualNodes()
Bool terminalNotGrounded(UInt index)
Bool hasSubComponents()
Returns true if subcomponents included in this component.
virtual ~SimPowerComp()
Destructor - does not do anything.
Complex initialSingleVoltage(UInt index)
void updateMatrixNodeIndices()
Update the "cached" mMatrixNodeIndices and mMatrixNodeIndexIsGround members.
void setTerminalNumber(UInt num)
virtual SimPowerComp< VarType >::Ptr clone(String name)
Returns a modified copy of the component with the given suffix added to the name and without.
TopologicalTerminal::List topologicalTerminals()
Returns the list of terminals as TopologicalTerminal pointers.
std::vector< UInt > matrixNodeIndices(UInt index)
TODO replace with access to mMatrixNodeIndices.
std::shared_ptr< SimTerminal< VarType > > Ptr
TopologicalPowerComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Basic constructor that takes UID, name and log level.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > Matrix
Dense matrix for real numbers.
Eigen::Matrix< VarType, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > MatrixVar
std::complex< Real > Complex
Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > MatrixComp
Dense matrix for complex numbers.