10#include <dpsim-models/Solver/MNAInterface.h>
11#include <dpsim/Definitions.h>
48 using Ptr = std::shared_ptr<MNAStateSpaceContributor>;
49 using List = std::vector<Ptr>;
60 virtual void stamp(Matrix &AdLocal, Matrix &BdMna, Matrix &CdMna,
61 UInt stateOffset, UInt mnaVectorSize)
const = 0;
68 UInt stateOffset)
const {}
78 static MNAStateSpaceContributor::List
79 createList(
const CPS::MNAInterface::List &components);
82 static MNAStateSpaceContributor::Ptr
83 create(
const CPS::MNAInterface::Ptr &component);
virtual Bool isVariable() const
Returns true if the local matrices may change during simulation.
virtual UInt getStateCount() const =0
Number of local extraction states contributed by this component.
virtual void stamp(Matrix &AdLocal, Matrix &BdMna, Matrix &CdMna, UInt stateOffset, UInt mnaVectorSize) const =0
Stamp this component's current local state-space contribution.
virtual void contributeMetadata(StateSpaceMetadata &metadata, UInt stateOffset) const
std::array< UInt, 3 > indices
Global extracted-state indices representing one native abc-frame state block.