You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
for physics: act() is a basic property of an operator to a vector: $\ket{\psi_\text{out}}=\hat{O}\ket{\psi_\text{in}}$
for demand:
LR-TDDFT Implementation #2460 has 2 different types of operators inheriting basic Operator rather than OperatorPW, whose act() interface will be called in hPsi() in sequence.
if a derived class (like OperatorLCAO) doesn't need the hPsi-call-act procedure, just ignore or override it.
Why redesign the interface?
The old act() inteface uses both psi::Psi<std::complex<FPTYPE>, Device> *psi_in and std::complex<FPTYPE>* tmpsi_in (the data pointer of psi_in) as input, which is a kind of redundancy.
Background
Why move to basic class?
act()is a basic property of an operator to a vector:Why redesign the interface?
The old act() inteface uses both
psi::Psi<std::complex<FPTYPE>, Device> *psi_inandstd::complex<FPTYPE>* tmpsi_in(the data pointer of psi_in) as input, which is a kind of redundancy.What's changed (in #2912)
OperatorPWinto basicOperator