78 std::vector< std::vector<states_pair_t> >
pairs;
83 std::vector< arma::vec >
f;
90 std::vector<arma::vec>
E;
92 std::vector<arma::mat>
C;
94 std::vector<arma::mat>
P;
96 std::vector< std::vector<arma::mat> >
dipmat;
127 void Kxc(
const BasisSet & bas,
double tol,
int x_func,
int c_func);
159 arma::mat
transition(
const std::vector<arma::mat> & M)
const;
161 arma::mat
transition(
const std::vector<arma::cx_mat> & M)
const;
167 Casida(
const Settings & set,
const BasisSet & basis,
const arma::vec &
E,
const arma::mat &
C,
const arma::mat &
P,
const std::vector<double> & occs);
169 Casida(
const Settings & set,
const BasisSet & basis,
const arma::vec & Ea,
const arma::vec & Eb,
const arma::mat & Ca,
const arma::mat & Cb,
const arma::mat & Pa,
const arma::mat & Pb,
const std::vector<double> & occa,
const std::vector<double> & occb);
Class for performing Casida calculations.
Definition: casida.h:76
void form_pairs(const Settings &set, const std::vector< std::vector< double > > occs)
Form pairs and occupations.
Definition: casida.cpp:161
arma::mat transition(const std::vector< arma::mat > &M) const
Compute the transition speeds using the matrix elements given by M.
Definition: casida.cpp:331
std::vector< arma::mat > P
Density matrices.
Definition: casida.h:94
arma::vec w_i
Eigenvalues of Casida's equation (and later on, the excitation energies)
Definition: casida.h:102
double esq(states_pair_t ip, bool ispin) const
Calculate .
Definition: casida.cpp:279
int i
Initial state.
Definition: casida.h:70
void solve()
Solve the Casida equation.
Definition: casida.cpp:288
arma::mat dipole_transition(const BasisSet &bas) const
Compute the dipole transition spectrum.
Definition: casida.cpp:399
std::vector< arma::vec > f
Occupancies of orbitals.
Definition: casida.h:83
arma::mat matrix_transform(bool ispin, const arma::mat &m) const
Transform given AO matrix to MO.
Definition: casida.cpp:153
std::vector< arma::vec > E
MO energies for spin up and spin down.
Definition: casida.h:90
Casida()
Dummy constructor.
Definition: casida.cpp:45
void Kcoul(const BasisSet &basis, const Settings &set)
Definition: casida.cpp:705
int f
Final state.
Definition: casida.h:72
Settings used for a calculations.
Definition: settings.h:74
~Casida()
Destructor.
Definition: casida.cpp:150
void calc_K(const Settings &set, const BasisSet &bas)
Construct the K matrices.
Definition: casida.cpp:122
double fe(states_pair_t ip, bool ispin) const
Calculate .
Definition: casida.cpp:284
std::vector< size_t > nvirt
Number of virtual orbitals.
Definition: casida.h:87
std::vector< arma::mat > C
MO coefficient matrices for spin up and spin down.
Definition: casida.h:92
void parse_coupling(const Settings &set)
Common routines for constructors.
Definition: casida.cpp:99
Basis set.
Definition: basis.h:187
std::vector< std::vector< states_pair_t > > pairs
List of electron-hole pairs included in calculation.
Definition: casida.h:78
void coulomb_fit(const BasisSet &basis, std::vector< arma::mat > &munu, arma::mat &ab_inv, const Settings &set) const
Compute the Coulomb fitting integrals and the matrix .
Definition: casida.cpp:500
std::vector< size_t > nocc
Number of occupied orbitals.
Definition: casida.h:85
std::vector< std::vector< arma::mat > > dipmat
Dipole matrix elements: [nspin][3][norb,norb].
Definition: casida.h:96
enum coupling_mode coupling
How to couple electron-hole pairs (IPA, RPA, TDLDA)
Definition: casida.h:80
arma::mat F_i
Eigenvectors of Casida's equation.
Definition: casida.h:104
void Kxc(const BasisSet &bas, double tol, int x_func, int c_func)
Definition: casida.cpp:764