TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
brzone.hpp
#include "./k_expr.hpp"
#include "./mesh_iterator.hpp"
#include "./utils.hpp"
#include "../lattice/brillouin_zone.hpp"
#include "../utility/macros.hpp"
#include <fmt/ranges.h>
#include <h5/h5.hpp>
#include <nda/nda.hpp>
#include <array>
#include <cmath>
#include <cstdint>
#include <concepts>
#include <iostream>
#include <limits>
#include <mutex>
#include <optional>
#include <ranges>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>

Detailed Description

Provides a mesh type for Brillouin zones.

Definition in file brzone.hpp.

Go to the source code of this file.

Classes

class  triqs::mesh::brillouin_zone
 A Brillouin zone class. More...
class  triqs::mesh::brzone
 Brillouin zone mesh type. More...
class  triqs::mesh::brzone::mesh_point_t
 Mesh point of a triqs::mesh::brzone mesh. More...

Concepts

concept  triqs::mesh::BzMeshPoint
 Concept for a Brillouin zone mesh point.

Functions

auto triqs::mesh::evaluate (brzone const &m, auto const &f, brzone::index_t const &n_tilde)
 Evaluate a function \( f \) defined on a triqs::mesh::brzone mesh at the given index \( \tilde{ \mathbf{n}} \).
template<typename V>
requires (std::ranges::contiguous_range<V> or nda::ArrayOfRank<V, 1> or is_k_expr<V>)
auto triqs::mesh::evaluate (brzone const &m, auto const &f, V const &k)
 Trilinear interpolation of a function \( f \) defined on a triqs::mesh::brzone mesh at a given \(\mathbf{k} \)-vector or expression.
template<std::integral Int, BzMeshPoint R>
k_expr<' *', long, R > triqs::mesh::operator* (Int l, R &&r)
 Lazy multiplication of a triqs::mesh::BzMeshPoint object with a scalar.
template<BzMeshPoint L, BzMeshPoint R>
k_expr<'+', L, R > triqs::mesh::operator+ (L &&l, R &&r)
 Lazy addition of two triqs::mesh::BzMeshPoint objects.
template<BzMeshPoint L>
k_expr_unary<'-', L > triqs::mesh::operator- (L &&l)
 Lazy unary minus for triqs::mesh::BzMeshPoint objects.
template<BzMeshPoint L, BzMeshPoint R>
k_expr<'-', L, R > triqs::mesh::operator- (L &&l, R &&r)
 Lazy subtraction of two triqs::mesh::BzMeshPoint objects.