|
| | GW (Logger &log, TCMatrix_gwbse &Mmn, const Eigen::MatrixXd &vxc, const Eigen::VectorXd &dft_energies) |
| void | configure (const options &opt) |
| Index | ScreeningBuilds () const |
| | Screening builds and QP iterations of the last evGW run.
|
| Index | QPIterations () const |
| Index | TrackedLocalSolves () const |
| | Level solves of the last evGW run done by root tracking (locally).
|
| Eigen::VectorXd | getGWAResults () const |
| void | setReactionField (const Eigen::MatrixXd &R) |
| | Screen by a static polarizable environment (embedded GW).
|
| void | setCoreExchange (const Eigen::MatrixXd &X) |
| const Eigen::MatrixXd & | getSigmaReac () const |
| void | CalculateGWPerturbation () |
| void | CalculateHQP () |
| void | CalculateQSGW () |
| | Run quasiparticle self-consistent GW (QSGW).
|
| const Eigen::MatrixXd & | getQSGWRotation () const |
| const Eigen::VectorXd & | getQSGWSeedEnergies () const |
| | Return the seed (G0W0/evGW) energies that QSGW started from.
|
| void | PrintQSGW_Energies (const std::string &seed_label, const Eigen::VectorXd &seed_energies, const Eigen::VectorXd &qsgw_energies) const |
| | Print a two-column comparison of seed (G0W0 or evGW) vs converged QSGW quasiparticle energies.
|
| void | PrintQSGW_Composition (double threshold=0.01) const |
| | Print the dominant DFT-KS orbital contributions to each converged QSGW quasiparticle state.
|
| Eigen::MatrixXd | getHQP () const |
| Eigen::SelfAdjointEigenSolver< Eigen::MatrixXd > | DiagonalizeQPHamiltonian () const |
| void | PlotSigma (std::string filename, Index steps, double spacing, std::string states) |
| void | DumpSigma (const sigma_dump_options &dopt, const std::string &gw_mode, const std::string &version) |
| | Write the self-energy and screening data of the finished GW (G0W0 or evGW, ppm or exact) to a separate HDF5 file.
|
| void | setKeepScreeningData (bool keep) |
| | Call after configure and before CalculateGWPerturbation.
|
| Eigen::VectorXd | RPAInputEnergies () const |
|
| Eigen::MatrixXd | SigmaCurves (const std::vector< Index > &levels, Index steps, double spacing) const |
| void | DressForEnvironment () |
| void | PrintReactionFieldShifts () const |
| double | CalcHomoLumoShift (Eigen::VectorXd frequencies) const |
| Eigen::VectorXd | ScissorShift_DFTlevel (const Eigen::VectorXd &dft_energies) const |
| void | PrintQP_Energies (const Eigen::VectorXd &qp_diag_energies) const |
| void | PrintGWA_Energies () const |
| Eigen::VectorXd | SolveQP (const Eigen::VectorXd &frequencies) const |
| boost::optional< qp_solver::RootCandidate > | SolveQP_Tracked (double intercept0, double frequency0, Index gw_level, QPStats *stats) const |
| void | RecordCompetingRoots (Index gw_level, const std::vector< QPRootCandidate > &roots, double chosen) const |
| void | PrintCompetingRoots (Log::Level level) const |
| boost::optional< double > | SolveQP_Grid (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const |
| boost::optional< double > | SolveQP_Grid_Windowed (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const |
| boost::optional< double > | SolveQP_Grid_Windowed_Adaptive (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const |
| boost::optional< double > | SolveQP_Grid_Windowed_Dense (double intercept0, double frequency0, Index gw_level, double left_limit, double right_limit, bool allow_rejected_return=true, QPStats *stats=nullptr) const |
| boost::optional< double > | SolveQP_FixedPoint (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const |
| boost::optional< double > | SolveQP_Linearisation (double intercept0, double frequency0, Index gw_level, QPStats *stats=nullptr) const |
| bool | Converged (const Eigen::VectorXd &e1, const Eigen::VectorXd &e2, double epsilon) const |
| boost::optional< QPRootCandidate > | RefineQPInterval (double lowerbound, double f_lowerbound, double upperbound, double f_upperbound, const QPFunc &f, double reference) const |
Definition at line 39 of file gw.h.
| void votca::xtp::GW::DumpSigma |
( |
const sigma_dump_options & | dopt, |
|
|
const std::string & | gw_mode, |
|
|
const std::string & | version ) |
Write the self-energy and screening data of the finished GW (G0W0 or evGW, ppm or exact) to a separate HDF5 file.
Call after CalculateHQP. Per QP level: the static parts, Sigma_c, its first two derivatives and Z at the QP solution, Sigma_c at the DFT energy, competing roots; for levels up to levels_emax_ev also the binned pole spectrum and Sigma_c on the imaginary axis mu + i nu. The screening: mode frequencies and strengths, and W_c in the plasmon-pole frame (static weights, moments, eps^-1(i nu) diagonal). The evaluator must have kept its screening data (Sigma_base::setKeepScreeningData, set by setKeepScreeningData here before CalculateGWPerturbation).
Definition at line 1723 of file gw.cc.
| void votca::xtp::GW::PrintQSGW_Composition |
( |
double | threshold = 0.01 | ) |
const |
Print the dominant DFT-KS orbital contributions to each converged QSGW quasiparticle state.
For each QP state n, prints the KS orbitals m with |U_{mn}|^2 > threshold, where U = qsgw_rotation_ (columns = QP states in DFT-KS basis).
- Parameters
-
| threshold | Minimum weight to print (default 0.01 = 1%) |
Definition at line 182 of file gw.cc.
| void votca::xtp::GW::setReactionField |
( |
const Eigen::MatrixXd & | R | ) |
|
Screen by a static polarizable environment (embedded GW).
R is the environment reaction field in the fill-time auxiliary frame of the three-centre integrals, as EnvironmentScreening::SymmetrizedReactionField returns it. Set before CalculateGWPerturbation; an empty matrix (the default) switches it off.
It enters twice, splitting W = u + (W - u) with u = v + v_reac:
- u: v gives the exchange as always, and nothing else; v_reac gives a static COH+SEX self-energy (Sigma_base::CalcReactionFieldMatrix). By its physics that is correlation – it is part of W - v – and it is kept as the frequency-independent part of Sigma_c, apart from the dynamic part, and added wherever Sigma_c is: getHQP, the QP equation, evGW, QSGW. getSigmaReac() returns it; zero without an environment. It is printed as S-R next to S-X and S-C.
- W - u: the correlation of the QM electrons, now interacting through u and screened by the environment as well, W = [u^-1 - chi0]^-1 = S [1 - S chi0 S]^-1 S, S = (1 + R)^(1/2). That is the unchanged RPA and correlation machinery run on M S, so the integrals are dressed (TCMatrix_gwbse::DressAuxIndex) after the static terms are formed and before the first screening. They stay dressed when GW is done; the caller undresses them if it needs the bare ones.
Definition at line 72 of file gw.cc.