10#include <dpsim-models/Solver/MNAInterface.h>
11#include <dpsim/Definitions.h>
34 using Ptr = std::shared_ptr<MNAStateSpaceContributor>;
35 using List = std::vector<Ptr>;
46 virtual void stamp(Matrix &AdLocal, Matrix &BdMna, Matrix &CdMna,
47 UInt stateOffset, UInt mnaVectorSize)
const = 0;
54 UInt stateOffset)
const {}
64 static MNAStateSpaceContributor::List
65 createList(
const CPS::MNAInterface::List &components);
68 static MNAStateSpaceContributor::Ptr
69 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