ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
k_vector_utils.h
Go to the documentation of this file.
1//
2// Created by rhx on 25-6-3.
3//
4
5#ifndef K_VECTOR_UTILS_H
6#define K_VECTOR_UTILS_H
7
11
12class K_Vectors;
13
14namespace KVectorUtils
15{
16void kvec_d2c(K_Vectors& kv, const ModuleBase::Matrix3& reciprocal_vec);
17
18void kvec_c2d(K_Vectors& kv, const ModuleBase::Matrix3& latvec);
19
40void set_both_kvec(K_Vectors& kv, const ModuleBase::Matrix3& G, const ModuleBase::Matrix3& R, std::string& skpt);
41
62void set_after_vc(K_Vectors& kv, const int& nspin, const ModuleBase::Matrix3& G);
63
80void print_klists(const K_Vectors& kv, std::ofstream& ofs);
81
82// step 3 : mpi kpoints information.
83
103#ifdef __MPI
104void kvec_mpi_k(K_Vectors& kv);
105#endif // __MPI
106
121 const ModuleSymmetry::Symmetry& symm,
122 bool use_symm,
123 std::string& skpt,
124 const UnitCell& ucell,
125 bool& match);
126} // namespace KVectorUtils
127
128#endif // K_VECTOR_UTILS_H
Definition klist.h:13
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
Definition symmetry.h:16
Definition unitcell.h:16
Definition k_vector_utils.cpp:16
void kvec_c2d(K_Vectors &kv, const ModuleBase::Matrix3 &latvec)
Definition k_vector_utils.cpp:62
void set_both_kvec(K_Vectors &kv, const ModuleBase::Matrix3 &G, const ModuleBase::Matrix3 &R, std::string &skpt)
Sets both the direct and Cartesian k-vectors.
Definition k_vector_utils.cpp:83
void kvec_ibz_kpoint(K_Vectors &kv, const ModuleSymmetry::Symmetry &symm, bool use_symm, std::string &skpt, const UnitCell &ucell, bool &match)
Generates irreducible k-points in the Brillouin zone considering symmetry operations.
Definition k_vector_utils.cpp:345
void print_klists(const K_Vectors &kv, std::ofstream &ofs)
Prints the k-points in both Cartesian and direct coordinates.
Definition k_vector_utils.cpp:178
void kvec_mpi_k(K_Vectors &kv)
Distributes k-points among MPI processes.
Definition k_vector_utils.cpp:221
void kvec_d2c(K_Vectors &kv, const ModuleBase::Matrix3 &reciprocal_vec)
Definition k_vector_utils.cpp:17
void set_after_vc(K_Vectors &kv, const int &nspin_in, const ModuleBase::Matrix3 &reciprocal_vec)
Sets up the k-points after a volume change.
Definition k_vector_utils.cpp:148