TRIQS/nrgljubljana_interface 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
types.hpp
1/*******************************************************************************
2 *
3 * nrgljubljana_interface: A TRIQS interface to the nrgljubliana impurity solver
4 *
5 * Copyright (c) 2019 The Simons foundation
6 * authors: Nils Wentzell
7 *
8 * nrgljubljana_interface is free software: you can redistribute it and/or modify it under the
9 * terms of the GNU General Public License as published by the Free Software
10 * Foundation, either version 3 of the License, or (at your option) any later
11 * version.
12 *
13 * nrgljubljana_interface is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16 * details.
17 *
18 * You should have received a copy of the GNU General Public License along with
19 * nrgljubljana_interface. If not, see <http://www.gnu.org/licenses/>.
20 *
21 ******************************************************************************/
22
23#pragma once
24
25#include <triqs/gfs.hpp>
26#include <triqs/mesh.hpp>
27#include <triqs/hilbert_space/fundamental_operator_set.hpp>
28#include <triqs/utility/macros.hpp>
29
30#include <itertools/itertools.hpp>
31#include <mpi/mpi.hpp>
32
33#include <iostream>
34#include <string>
35#include <utility>
36
37namespace nrgljubljana_interface {
38
39 using namespace std::complex_literals; // Complex Unity 1i
40 using namespace triqs::gfs;
41 using namespace triqs::mesh;
42 using namespace nda;
43 using namespace triqs::hilbert_space;
44 using namespace triqs::utility;
45 using namespace h5;
46
47 using namespace itertools;
48
50 //using triqs::hilbert_space::gf_struct_t;
51
53 using g_w_t = block_gf<refreq_log, matrix_valued>;
54
56 using g_w_vt = g_w_t::view_type;
57
59 using g_w_cvt = g_w_t::const_view_type;
60
62 using s_w_t = gf<refreq_log, scalar_real_valued>;
63
65 using s_w_vt = s_w_t::view_type;
66
68 using s_w_cvt = s_w_t::const_view_type;
69
71 using c_w_t = gf<refreq_log, scalar_valued>;
72
74 using c_w_vt = c_w_t::view_type;
75
77 using c_w_cvt = c_w_t::const_view_type;
78
80 using m_w_t = gf<refreq_log, matrix_valued>;
81
83 using m_w_vt = m_w_t::view_type;
84
86 using m_w_cvt = m_w_t::const_view_type;
87
88 // Declare some placeholders for the rest of the code. Use anonymous namespace for proper linkage
89 // in this code, all variables with trailing _ are placeholders by convention.
90 namespace {
91 nda::clef::placeholder<0> i_;
92 nda::clef::placeholder<1> j_;
93 nda::clef::placeholder<2> w_;
94 } // anonymous namespace
95
96} // namespace nrgljubljana_interface