TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
mesh.hpp
Go to the documentation of this file.
1// Copyright (c) 2014-2016 Commissariat à l'énergie atomique et aux énergies alternatives (CEA)
2// Copyright (c) 2014-2016 Centre national de la recherche scientifique (CNRS)
3// Copyright (c) 2019-2023 Simons Foundation
4//
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You may obtain a copy of the License at
16// https://www.gnu.org/licenses/gpl-3.0.txt
17//
18// Authors: Philipp Dumitrescu, Olivier Parcollet, Nils Wentzell
19
20#pragma once
21
26
27// for python code generator, we need to know what has to been included.
28#define TRIQS_INCLUDED_MESH
29
30#include <vector>
31#include <utility>
32
33#include <mpi/vector.hpp>
34
35#include <nda/stdutil/complex.hpp>
36
37#include "utility/factory.hpp"
39#include "utility/macros.hpp"
41
42#include "arrays.hpp"
43#include "./mesh/utils.hpp"
45
46#include "./mesh/imtime.hpp"
47#include "./mesh/imfreq.hpp"
48#include "./mesh/retime.hpp"
49#include "./mesh/refreq.hpp"
50#include "./mesh/refreq_pts.hpp"
51#include "./mesh/refreq_log.hpp"
52
53#include "./mesh/discrete.hpp"
54
55#include "./mesh/legendre.hpp"
56
57#include "./mesh/chebyshev.hpp"
58
59#include "./mesh/dlr.hpp"
60#include "./mesh/dlr_imtime.hpp"
61#include "./mesh/dlr_imfreq.hpp"
62
63#include "./mesh/brzone.hpp"
64#include "./mesh/cyclat.hpp"
65
66#include "./mesh/prod.hpp"
67
68#include "./mesh/adjoint.hpp"
69
70#include "./mesh/evaluate.hpp"
71
72#ifdef C2PY_INCLUDED
73#include <triqs/mesh/meshes.wrap.hxx>
74#include "./c2py_converters/mesh.hpp"
75#endif
76
77namespace triqs::mesh {
78
79 template <triqs::mesh::Mesh M> using gf_mesh [[deprecated("mesh::X is deprecated since TRIQS 2.3. Replace simply by M. Cf documentation.")]] = M;
80
81 // -- Backward compat aliases --
82 using cyclic_lattice = cyclat;
83 template <Mesh... M> using cartesian_product = prod<M...>;
84 template <Mesh M> using mesh_point = typename M::mesh_point_t;
85
86} // namespace triqs::mesh
Provides functions to create adjoint meshes.
Backward-compatibility umbrella header pulling in the nda array library.
Provides a mesh type for Brillouin zones.
Cyclic lattice mesh type for Bravais lattices with Born-von Karman periodic boundary conditions.
Definition cyclat.hpp:88
Product mesh type for combining multiple meshes.
Definition prod.hpp:138
Concept for a mesh.
Definition concepts.hpp:85
Provides a mesh type for Bravais lattices with Born-von Karman periodic boundary conditions.
Provides a discrete mesh type.
Provides a mesh type for the discrete Lehmann representation in imaginary frequency space.
Provides a mesh type for the discrete Lehmann representation in imaginary time.
Provides generic evaluation of functions defined on meshes.
Generic factory for constructing objects of a given type.
Common macros used in TRIQS.
Provides a mesh type for Chebyshev collocation points in imaginary time.
Provides a mesh type for the discrete Lehmann representation.
Provides a mesh type on the imaginary frequency axis.
Provides a mesh type on the imaginary time axis.
Provides a mesh type for Legendre polynomials as basis functions.
Provides various utilities used with Meshes.
Provides a generic random access iterator for 1D meshes.
Provides a product mesh type.
Provides a mesh type on the real frequency axis.
Provides a logarithmic real frequency mesh type for NRG algorithms.
Provides a real frequency mesh type from arbitrary sorted frequency points.
Provides a mesh type on the real time axis.
Generic tuple manipulation tools.
Aliases that map a TRIQS container type to its regular / view / const-view companion.