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
10
11class K_Vectors;
12
13namespace KVectorUtils
14{
15void kvec_d2c(K_Vectors& kv, const ModuleBase::Matrix3& reciprocal_vec);
16
17void kvec_c2d(K_Vectors& kv, const ModuleBase::Matrix3& latvec);
18
39void set_both_kvec(K_Vectors& kv, const ModuleBase::Matrix3& G, const ModuleBase::Matrix3& R, std::string& skpt);
40
61void set_after_vc(K_Vectors& kv, const int& nspin, const ModuleBase::Matrix3& G);
62
79void print_klists(const K_Vectors& kv, std::ofstream& ofs);
80
81// step 3 : mpi kpoints information.
82
102#ifdef __MPI
103void kvec_mpi_k(K_Vectors& kv);
104#endif // __MPI
105
120 const ModuleSymmetry::Symmetry& symm,
121 bool use_symm,
122 std::string& skpt,
123 const UnitCell& ucell,
124 bool& match);
125} // namespace KVectorUtils
126
127#endif // K_VECTOR_UTILS_H
Definition klist.h:12
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
Definition symmetry.h:15
Definition unitcell.h:15
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:353
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