27 mDelay = sqrt(inductance * capacitance);
39 mSrc1->setParameters(0);
43 mSrc2->setParameters(0);
74 mDelay = sqrt(inductance * capacitance);
82 mSrc1->setParameters(0);
84 mSrc2->setParameters(0);
90 throw SystemError(
"Timestep too large for decoupling");
104 Complex cur1 = volt1 * initAdmittance -
106 Complex cur2 = volt2 * initAdmittance -
108 SPDLOG_LOGGER_INFO(
mSLog,
"initial voltages: v_k {} v_m {}", volt1, volt2);
109 SPDLOG_LOGGER_INFO(
mSLog,
"initial currents: i_km {} i_mk {}", cur1, cur2);
131 if (timeStepCount == 0) {
157 mLine.step(time, timeStepCount);
178 {std::make_shared<PreStep>(*
this), std::make_shared<PostStep>(*
this)});
AttributeList::Ptr mAttributes
Attribute List.
spdlog::level::level_enum Level
void execute(Real time, Int timeStepCount)
void execute(Real time, Int timeStepCount)
Attribute< Complex >::Ptr mSrcCur2
std::shared_ptr< DP::Ph1::CurrentSource > mSrc1
std::shared_ptr< DP::SimNode > mNode1
std::shared_ptr< DP::SimNode > mNode2
std::vector< Complex > mCur2
Attribute< Complex >::Ptr mSrcCur1
std::vector< Complex > mCur1
const Attribute< Complex >::Ptr mSrcCur1Ref
std::shared_ptr< DP::Ph1::CurrentSource > mSrc2
void setParameters(SimNode< Complex >::Ptr node1, SimNode< Complex >::Ptr node2, Real resistance, Real inductance, Real capacitance)
std::vector< Complex > mVolt2
Complex interpolate(std::vector< Complex > &data)
IdentifiedObject::List getLineComponents()
const Attribute< Matrix >::Ptr mStates
FIXME: workaround for dependency analysis as long as the states aren't attributes.
std::shared_ptr< DP::Ph1::Resistor > mRes1
const Attribute< Complex >::Ptr mSrcCur2Ref
void initialize(Real omega, Real timeStep)
void step(Real time, Int timeStepCount)
std::vector< Complex > mVolt1
DecouplingLine(String name, SimNode< Complex >::Ptr node1, SimNode< Complex >::Ptr node2, Real resistance, Real inductance, Real capacitance, Logger::Level logLevel=Logger::Level::info)
std::shared_ptr< DP::Ph1::Resistor > mRes2
std::shared_ptr< SimNode< VarType > > Ptr
SimSignalComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Logger::Log mSLog
Component logger.
static std::shared_ptr< Resistor > make(Args &&...args)
struct dps_magma_data data
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > Matrix
Dense matrix for real numbers.
std::complex< Real > Complex