19 MNAInterface::List mSubcomponentsMNA;
20 MNAInterface::List mSubcomponentsPreStepBeforeParent;
21 MNAInterface::List mSubcomponentsPreStepAfterParent;
22 MNAInterface::List mSubcomponentsPostStepBeforeParent;
23 MNAInterface::List mSubcomponentsPostStepAfterParent;
25 std::vector<CPS::Attribute<Matrix>::Ptr> mRightVectorStamps;
34 using Ptr = std::shared_ptr<CompositePowerComp<VarType>>;
35 using List = std::vector<Ptr>;
39 Logger::Level logLevel)
45 Bool hasPostStep =
true,
46 Logger::Level logLevel = Logger::Level::off)
70 MNA_SUBCOMP_TASK_ORDER preStepOrder,
71 MNA_SUBCOMP_TASK_ORDER postStepOrder,
72 Bool contributeToRightVector);
77 Attribute<Matrix>::Ptr leftVector)
override;
86 Attribute<Matrix>::Ptr &leftVector)
override;
89 AttributeBase::List &prevStepDependencies,
90 AttributeBase::List &attributeDependencies,
91 AttributeBase::List &modifiedAttributes)
override;
95 AttributeBase::List &attributeDependencies,
96 AttributeBase::List &modifiedAttributes,
97 Attribute<Matrix>::Ptr &leftVector)
override;
100 virtual void mnaParentInitialize(Real omega, Real timeStep,
101 Attribute<Matrix>::Ptr leftVector){
104 virtual void mnaParentApplySystemMatrixStamp(SparseMatrixRow &systemMatrix){
107 virtual void mnaParentApplyRightSideVectorStamp(Matrix &rightVector){
110 virtual void mnaParentPreStep(Real time, Int timeStepCount){
113 virtual void mnaParentPostStep(Real time, Int timeStepCount,
114 Attribute<Matrix>::Ptr &leftVector){
118 mnaParentAddPreStepDependencies(AttributeBase::List &prevStepDependencies,
119 AttributeBase::List &attributeDependencies,
120 AttributeBase::List &modifiedAttributes){
124 mnaParentAddPostStepDependencies(AttributeBase::List &prevStepDependencies,
125 AttributeBase::List &attributeDependencies,
126 AttributeBase::List &modifiedAttributes,
127 Attribute<Matrix>::Ptr &leftVector){
void addMNASubComponent(typename SimPowerComp< VarType >::Ptr subc, MNA_SUBCOMP_TASK_ORDER preStepOrder, MNA_SUBCOMP_TASK_ORDER postStepOrder, Bool contributeToRightVector)
Add a new subcomponent implementing MNA methods.
CompositePowerComp(String uid, String name, Bool hasPreStep, Bool hasPostStep, Logger::Level logLevel)
Basic constructor that takes UID, name and log level.
MNASimPowerComp(String uid, String name, Bool hasPreStep, Bool hasPostStep, Logger::Level logLevel)
Basic constructor that takes UID, name and log level.