7template <
typename VarType>
12template <
typename VarType>
17template <
typename VarType>
22template <
typename VarType>
41template <
typename VarType>
48template <
typename VarType>
52 systemMatrix.makeCompressed();
55template <
typename VarType>
61template <
typename VarType>
66template <
typename VarType>
71template <
typename VarType>
76template <
typename VarType>
82template <
typename VarType>
88 prevStepDependencies, attributeDependencies, modifiedAttributes);
91template <
typename VarType>
98 attributeDependencies,
99 modifiedAttributes, leftVector);
102template <
typename VarType>
108template <
typename VarType>
114template <
typename VarType>
120template <
typename VarType>
126template <
typename VarType>
132template <
typename VarType>
138template <
typename VarType>
143template <
typename VarType>
148template <
typename VarType>
153template <
typename VarType>
159template <
typename VarType>
167template <
typename VarType>
176template <
typename VarType>
182template <
typename VarType>
188template <
typename VarType>
194template <
typename VarType>
void mnaCompAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes)
void mnaCompAddPostStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector)
AttributePointer< Attribute< T > > Ptr
Base class for all MNA components that are transmitting power.
virtual void mnaCompPreStep(Real time, Int timeStepCount)
void mnaAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes) final
Add MNA pre step dependencies.
virtual void mnaCompAddPostStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector)
virtual void mnaCompInitializeHarm(Real omega, Real timeStep, std::vector< Attribute< Matrix >::Ptr > leftVector)
Attribute< Matrix >::Ptr getRightVector() const final
Task::List mMnaTasks
List of tasks that relate to using MNA for this component (usually pre-step and/or post-step)
void mnaApplyRightSideVectorStampHarm(Matrix &sourceVector) final
Stamps right side (source) vector considering the frequency index.
virtual void mnaCompUpdateVoltage(const Matrix &leftVector)
void mnaApplySystemMatrixStamp(SparseMatrixRow &systemMatrix) final
Stamps system matrix.
virtual void mnaCompAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes)
virtual void mnaCompInitialize(Real omega, Real timeStep, Attribute< Matrix >::Ptr leftVector)
void mnaAddPostStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector) final
virtual void mnaCompApplySystemMatrixStamp(SparseMatrixRow &systemMatrix)
void mnaUpdateCurrent(const Matrix &leftVector) final
Update interface current from MNA system result.
void mnaUpdateVoltage(const Matrix &leftVector) final
Update interface voltage from MNA system result.
virtual void mnaCompUpdateCurrent(const Matrix &leftVector)
const Task::List & mnaTasks() const final
Return list of MNA tasks.
void mnaInitialize(Real omega, Real timeStep) final
Initializes variables of components.
virtual void mnaCompApplyRightSideVectorStampHarm(Matrix &sourceVector)
Attribute< Matrix >::Ptr mRightVector
void mnaInitializeHarm(Real omega, Real timeStep, std::vector< Attribute< Matrix >::Ptr > leftVector) final
void mnaPreStep(Real time, Int timeStepCount) final
MNA pre step operations.
void mnaApplySystemMatrixStampHarm(SparseMatrixRow &systemMatrix, Int freqIdx) final
Stamps system matrix considering the frequency index.
virtual void mnaCompApplyRightSideVectorStamp(Matrix &rightVector)
void mnaApplyRightSideVectorStamp(Matrix &rightVector) final
Stamps right side (source) vector.
virtual void mnaCompPostStep(Real time, Int timeStepCount, Attribute< Matrix >::Ptr &leftVector)
void mnaPostStep(Real time, Int timeStepCount, Attribute< Matrix >::Ptr &leftVector) final
virtual void mnaCompApplySystemMatrixStampHarm(SparseMatrixRow &systemMatrix, Int freqIdx)
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > Matrix
Dense matrix for real numbers.
Eigen::SparseMatrix< Real, Eigen::RowMajor > SparseMatrixRow
Sparse matrix for real numbers (row major).