6#ifndef NUMERICAL_BASIS_H
7#define NUMERICAL_BASIS_H
11#include "../../source_base/complexarray.h"
12#include "../../source_base/complexmatrix.h"
13#include "../../source_base/global_function.h"
14#include "../../source_base/intarray.h"
15#include "../../source_base/matrix.h"
16#include "../../source_base/vector3.h"
17#include "../../source_basis/module_pw/pw_basis_k.h"
18#include "../../source_cell/klist.h"
19#include "../../source_pw/module_pwdft/structure_factor.h"
20#include "../../source_psi/psi.h"
61 const double derivative_order,
68 const double derivative_order,
75 const double derivative_order,
81 const int ucell_lmax)
const;
85 const int ucell_lmax);
89 const double derivative_order);
96 const std::vector<ModuleBase::ComplexArray>& overlap_Q,
101 const std::vector<ModuleBase::ComplexArray>& overlap_Sq,
Definition bessel_basis.h:18
A basic type of data for complex array.
Definition complexarray.h:15
Definition complexmatrix.h:13
3 elements vector
Definition vector3.h:24
double float array
Definition realarray.h:21
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition numerical_basis.h:26
static void output_overlap_V(std::ofstream &ofs, const ModuleBase::matrix &overlap_V)
Definition numerical_basis.cpp:851
std::vector< ModuleBase::IntArray > mu_index
Definition numerical_basis.h:48
ModuleBase::ComplexArray cal_overlap_Q(const int &ik, const int &np, const ModulePW::PW_Basis_K *wfcpw, const psi::Psi< std::complex< double > > &psi, const double derivative_order, const Structure_Factor &sf, const UnitCell &ucell) const
Definition numerical_basis.cpp:220
void numerical_atomic_wfc(const int &ik, const ModulePW::PW_Basis_K *wfcpw, ModuleBase::ComplexMatrix &psi, const Structure_Factor &sf, const UnitCell &ucell)
Definition numerical_basis.cpp:529
Bessel_Basis bessel_basis
Definition numerical_basis.h:46
static void output_overlap_Q(std::ofstream &ofs, const std::vector< ModuleBase::ComplexArray > &overlap_Q, const K_Vectors &kv)
Definition numerical_basis.cpp:715
ModuleBase::ComplexArray cal_overlap_Sq(const int &ik, const int &np, const double derivative_order, const Structure_Factor &sf, const ModulePW::PW_Basis_K *wfcpw, const UnitCell &ucell) const
Definition numerical_basis.cpp:298
bool init_label
Definition numerical_basis.h:44
static ModuleBase::matrix cal_overlap_V(const ModulePW::PW_Basis_K *wfcpw, const psi::Psi< std::complex< double > > &psi, const double derivative_order, const K_Vectors &kv, const double tpiba)
Definition numerical_basis.cpp:419
static ModuleBase::matrix cal_ylm(const std::vector< ModuleBase::Vector3< double > > &gk, const int ucell_lmax)
Definition numerical_basis.cpp:464
static std::vector< ModuleBase::IntArray > init_mu_index(const UnitCell &ucell)
Definition numerical_basis.cpp:493
static std::vector< double > cal_gpow(const std::vector< ModuleBase::Vector3< double > > &gk, const double derivative_order)
Definition numerical_basis.cpp:472
static void output_overlap_Sq(const std::string &name, std::ofstream &ofs, const std::vector< ModuleBase::ComplexArray > &overlap_Sq, const K_Vectors &kv)
Definition numerical_basis.cpp:783
void output_overlap(const psi::Psi< std::complex< double > > &psi, const Structure_Factor &sf, const K_Vectors &kv, const ModulePW::PW_Basis_K *wfcpw, const UnitCell &ucell, const int &index)
Definition numerical_basis.cpp:59
~Numerical_Basis()
Definition numerical_basis.cpp:21
static void output_k(std::ofstream &ofs, const K_Vectors &kv)
Definition numerical_basis.cpp:635
static void output_info(std::ofstream &ofs, const Bessel_Basis &bessel_basis, const K_Vectors &kv, const UnitCell &ucell)
Definition numerical_basis.cpp:581
ModuleBase::realArray cal_flq(const std::vector< ModuleBase::Vector3< double > > &gk, const int ucell_lmax) const
Definition numerical_basis.cpp:443
Numerical_Basis()
Definition numerical_basis.cpp:18
Definition structure_factor.h:10