votca 2024.2-dev
Loading...
Searching...
No Matches
sigma_exact.h
Go to the documentation of this file.
1/*
2 * Copyright 2009-2020 The VOTCA Development Team
3 * (http://www.votca.org)
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License")
6 *
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 */
19
20#ifndef VOTCA_XTP_SIGMA_EXACT_H
21#define VOTCA_XTP_SIGMA_EXACT_H
22
23// Local VOTCA includes
24#include "votca/xtp/rpa.h"
26
27namespace votca {
28namespace xtp {
29
30class TCMatrix_gwbse;
31class RPA;
32
33class Sigma_Exact : public Sigma_base {
34
35 public:
36 Sigma_Exact(TCMatrix_gwbse& Mmn, RPA& rpa) : Sigma_base(Mmn, rpa) {};
37
38 // Sets up the screening parametrisation
39 void PrepareScreening() final;
40 // Calculates Sigma_c diagonal elements
41 double CalcCorrelationDiagElement(Index gw_level,
42 double frequency) const final;
43
45 double frequency) const final;
46 // Calculates Sigma_c off-diagonal elements
47 double CalcCorrelationOffDiagElement(Index gw_level1, Index gw_level2,
48 double frequency1,
49 double frequency2) const final;
50
51 private:
52 Eigen::VectorXd rpa_omegas_; // Eigenvalues from RPA
53 std::vector<Eigen::MatrixXd> residues_; // Residues
54
55 Eigen::MatrixXd CalcResidues(Index gw_level,
56 const Eigen::MatrixXd& XpY) const;
57};
58} // namespace xtp
59} // namespace votca
60
61#endif // VOTCA_XTP_SIGMA_EXACT_H
Eigen::MatrixXd CalcResidues(Index gw_level, const Eigen::MatrixXd &XpY) const
std::vector< Eigen::MatrixXd > residues_
Definition sigma_exact.h:53
double CalcCorrelationDiagElementDerivative(Index gw_level, double frequency) const final
void PrepareScreening() final
Sigma_Exact(TCMatrix_gwbse &Mmn, RPA &rpa)
Definition sigma_exact.h:36
double CalcCorrelationDiagElement(Index gw_level, double frequency) const final
Eigen::VectorXd rpa_omegas_
Definition sigma_exact.h:52
double CalcCorrelationOffDiagElement(Index gw_level1, Index gw_level2, double frequency1, double frequency2) const final
STL namespace.
base class for all analysis tools
Definition basebead.h:33
Eigen::Index Index
Definition types.h:26