|
TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
|
#include <triqs_modest/ibz_symmetry_ops.hpp>
Irreducible Brillouin Zone (IBZ) symmetry operations to symmetrize observables over the entire Brillouin zone.
The IBZ symmetry operations are optional and specific to DFT codes that work in the IBZ instead of the full BZ. Currently, this is only used when DFT data is converted from Wien2k.
For computational efficiency, we can perform the one-body calculation on the irreducible Brillouin zone (IBZ). However, in order to obtain observable quantities like the local Green's function, one needs to symmetrize the obversable summed on only the IBZ. For any observable \(\mathcal{O}\), the unsymmetrized quantity is
\[ [\mathcal{O}^{\sigma}_{mm'}]_{\mathrm{unsymm}} = \sum_{\mathbf{k}\in\mathrm{IBZ}}\sum_{\nu\nu'}P_{m,\nu}^{\sigma} (\mathbf{k})O_{\nu\nu'}^{\sigma}(\mathbf{k})[P_{m'\nu'}^{\sigma}(\mathbf{k})]^{\dagger}. \]
To symmetrize, we must by apply all operations symmetry operations \(\mathcal{S}\) of the crystallographic space group \(\mathcal{G}\):
\[ [\mathcal{O}^{\sigma}_{(am_{a}), (a'm_{a}')}]_{\mathrm{symm}}^{\mathcal{G}} = \sum_{\mathcal{S}\in\mathcal{G}} \sum_{n_{a}n_{a}'} \mathcal{D}_{m_{a} n_{a}}(\mathcal{S})[(\mathcal{O}^{\mathcal{S}^{-1}a,\mathcal{S}^{-1} \sigma})_{n_{a}n_{a}'}]_{\mathrm{unsymm}}\mathcal{D}(\mathcal{S}^{-1})_{n_{a}'m_{a}'}. \]
Definition at line 48 of file ibz_symmetry_ops.hpp.
Public Member Functions | |
| bool | operator== (ibz_symmetry_ops const &) const =default |
| Equality comparison operator. | |
| template<typename Mesh > | |
| block2_gf< Mesh, matrix_valued > | symmetrize (block2_gf< Mesh, matrix_valued > const &Gin, auto const &atomic_decomposition) const |
| template<typename T > | |
| nda::array< T, 2 > | symmetrize (nda::array< T, 2 > const &X) const |
Public Attributes | |
| std::vector< op > | ops |
Friends | |
| C2PY_IGNORE friend void | mpi_broadcast (ibz_symmetry_ops &x, mpi::communicator c={}, int root=0) |
| MPI broadcast. | |
| std::ostream & | operator<< (std::ostream &out, ibz_symmetry_ops const &ibz) |
|
default |
Equality comparison operator.
|
inline |
Definition at line 101 of file ibz_symmetry_ops.hpp.
|
inline |
Definition at line 80 of file ibz_symmetry_ops.hpp.
|
friend |
MPI broadcast.
Definition at line 74 of file ibz_symmetry_ops.hpp.
|
friend |
Definition at line 63 of file printing.cpp.
| std::vector<op> triqs::modest::ibz_symmetry_ops::ops |
Definition at line 68 of file ibz_symmetry_ops.hpp.