Program Listing for File Green_function.hpp

Return to documentation for file (src_qcm/Green_function.hpp)

#ifndef Green_function_hpp
#define Green_function_hpp

#include "vector3D.hpp"
#include "block_matrix.hpp"



struct Green_function
{
    Complex w;
    int iw;
    bool spin_down;
    block_matrix<Complex> G;
    block_matrix<Complex> gamma; // hybridization functions
    block_matrix<Complex> sigma; // self-energies
};


struct Green_function_k
{
    Green_function &G;
    static size_t dim_GF;
    static size_t dim_reduced_GF;
    vector3D<double> k;
    int ik;
    matrix<Complex> Gcpt;
    matrix<Complex> t;
    matrix<Complex> V;
    matrix<Complex> g;
    matrix<Complex> sigma;
    vector<Complex> phase;

    Green_function_k(Green_function &_G, const vector3D<double> &_k, const int &_ik = -1) : G(_G), k(_k), ik(_ik){
        QCM_ASSERT(G.G.r > 0);
        V.set_size(dim_GF);
        t.set_size(dim_GF);
        Gcpt.set_size(dim_GF);
        g.set_size(dim_reduced_GF);
        sigma.set_size(dim_reduced_GF);
    }

};


#endif