NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library
cntr_dyson_omp_decl.hpp
Go to the documentation of this file.
1 #ifndef CNTR_DYSON_OMP_DECL_H
2 #define CNTR_DYSON_OMP_DECL_H
3 
5 #include "integration.hpp"
6 
7 namespace cntr {
8 
9 template <typename T> class function;
10 template <typename T> class herm_matrix;
12 template <typename T> class herm_pseudo;
13 
14 #if CNTR_USE_OMP == 1
15 template <typename T, class GG, int SIZE1>
17 void dyson_timestep_ret_omp(int omp_num_threads, int n, GG &G, T mu, std::complex<T> *H,
18  GG &Sigma, integration::Integrator<T> &I, T h);
20 template <typename T, class GG, int SIZE1>
21 void dyson_timestep_tv_omp(int omp_num_threads, int n, GG &G, T mu, std::complex<T> *Hn,
22  GG &Sigma, integration::Integrator<T> &I, T beta, T h);
24 template <typename T, class GG, int SIZE1>
25 void pseudodyson_timestep_tv_omp(int omp_num_threads, int n, GG &G, T mu,
26  std::complex<T> *Hn, GG &Sigma,
27  integration::Integrator<T> &I, T beta, T h);
29 template <typename T, class GG, int SIZE1>
30 void dyson_timestep_les_omp(int omp_num_threads, int n, GG &G, T mu, std::complex<T> *H,
31  GG &Sigma, integration::Integrator<T> &I, T beta, T h);
33 template <typename T>
34 void pseudodyson_timestep_omp(int omp_num_threads, int n, herm_pseudo<T> &G, T lam0,
35  function<T> &H, herm_pseudo<T> &Sigma,
36  integration::Integrator<T> &I, T beta, T h);
38 template <typename T>
39 void pseudodyson_timestep_omp(int omp_num_threads, int n, herm_pseudo<T> &G, T lam0,
40  std::complex<T> *Ht, herm_pseudo<T> &Sigma,
41  integration::Integrator<T> &I, T beta, T h);
43 template <typename T>
44 void pseudodyson_timestep_omp(int omp_num_threads, int n, herm_pseudo<T> &G, T lam0,
45  std::vector<std::complex<T>> &Ht, herm_pseudo<T> &Sigma,
46  integration::Integrator<T> &I, T beta, T h);
48 template <typename T>
49 void dyson_timestep_omp(int omp_num_threads, int n, herm_matrix<T> &G, T lam0,
50  function<T> &H, herm_matrix<T> &Sigma, integration::Integrator<T> &I,
51  T beta, T h);
52 
53 template <typename T>
54 void dyson_timestep_omp(int omp_num_threads, int n, herm_matrix<T> &G, T lam0,
55  function<T> &H, herm_matrix<T> &Sigma,
56  T beta, T h, int SolveOrder=MAX_SOLVE_ORDER);
57 
58 #endif // CNTR_USE_OMP
59 
60 } // namespace cntr
61 
62 #endif // CNTR_DYSON_OMP_DECL_H
Class Integrator contains all kinds of weights for integration and differentiation of a function at ...
void dyson_timestep_omp(int omp_num_threads, int n, herm_matrix< T > &G, T lam0, function< T > &H, herm_matrix< T > &Sigma, T beta, T h, int SolveOrder=MAX_SOLVE_ORDER)
One step Dyson solver (integral-differential form) for a Green&#39;s function using openMP parallelizat...
Integrator< T > & I(int k)