41 mDelay = sqrt(inductance * capacitance);
49 mSrc1->setParameters(0);
51 mSrc2->setParameters(0);
57 throw SystemError(
"Timestep too large for decoupling");
68 Complex cur1 = volt1 * initAdmittance -
70 Complex cur2 = volt2 * initAdmittance -
72 SPDLOG_LOGGER_INFO(
mSLog,
"initial voltages: v_k {} v_m {}", volt1, volt2);
73 SPDLOG_LOGGER_INFO(
mSLog,
"initial currents: i_km {} i_mk {}", cur1, cur2);
97 if (timeStepCount == 0) {
117 mLine.step(time, timeStepCount);
138 {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)
void initialize(Real omega, Real timeStep)
DecouplingLineEMT(String name, Logger::Level logLevel=Logger::Level::info)
Real interpolate(std::vector< Real > &data)
void setParameters(SimNode< Real >::Ptr node1, SimNode< Real >::Ptr node2, Real resistance, Real inductance, Real capacitance)
std::vector< Real > mVolt2
std::shared_ptr< EMT::SimNode > mNode2
Attribute< Complex >::Ptr mSrcCur2
std::shared_ptr< EMT::Ph1::Resistor > mRes2
IdentifiedObject::List getLineComponents()
std::shared_ptr< EMT::Ph1::Resistor > mRes1
const Attribute< Real >::Ptr mSrcCur1Ref
std::vector< Real > mVolt1
std::shared_ptr< EMT::Ph1::CurrentSource > mSrc2
Attribute< Complex >::Ptr mSrcCur1
std::vector< Real > mCur2
void step(Real time, Int timeStepCount)
const Attribute< Real >::Ptr mSrcCur2Ref
std::shared_ptr< EMT::Ph1::CurrentSource > mSrc1
std::shared_ptr< EMT::SimNode > mNode1
const Attribute< Matrix >::Ptr mStates
FIXME: workaround for dependency analysis as long as the states aren't attributes.
std::vector< Real > mCur1
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