ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
elecond.h
Go to the documentation of this file.
1#ifndef ELECOND_H
2#define ELECOND_H
3
6#include "source_cell/klist.h"
11
12template<typename FPTYPE, typename Device>
14{
15 public:
19 public:
20 EleCond(UnitCell* p_ucell_in,
21 K_Vectors* p_kv_in,
22 elecstate::ElecState* p_elec_in,
23 ModulePW::PW_Basis_K* p_wfcpw_in,
24 psi::Psi<std::complex<FPTYPE>, Device>* p_psi_in,
25 pseudopot_cell_vnl* p_ppcell_in);
27
39 void KG(const int& smear_type,
40 const double& fwhmin,
41 const double& wcut,
42 const double& dw_in,
43 const double& dt_in,
44 const bool& nonlocal,
46
47 protected:
49 UnitCell* p_ucell = nullptr;
51 K_Vectors* p_kv = nullptr;
54
55 protected:
69 void jjresponse_ks(const int ik,
70 const int nt,
71 const double dt,
72 const double decut,
75 double* ct11,
76 double* ct12,
77 double* ct22);
91 void calcondw(const int nt,
92 const double dt,
93 const int& smear_type,
94 const double fwhmin,
95 const double wcut,
96 const double dw_in,
97 double* ct11,
98 double* ct12,
99 double* ct22);
100};
101
102#endif // ELECOND_H
Definition elecond.h:14
void calcondw(const int nt, const double dt, const int &smear_type, const double fwhmin, const double wcut, const double dw_in, double *ct11, double *ct12, double *ct22)
Calculate the conductivity using the response function.
Definition elecond.cpp:241
void KG(const int &smear_type, const double &fwhmin, const double &wcut, const double &dw_in, const double &dt_in, const bool &nonlocal, ModuleBase::matrix &wg)
calculate Onsager coefficients Lmn(\omega) and conductivities with Kubo-Greenwood formula
Definition elecond.cpp:46
elecstate::ElecState * p_elec
pointer to the electronic state
Definition elecond.h:52
ModulePW::PW_Basis_K * p_wfcpw
pointer to the plane wave basis
Definition elecond.h:50
psi::Psi< std::complex< FPTYPE >, Device > * p_psi
pointer to the wavefunction
Definition elecond.h:53
K_Vectors * p_kv
pointer to the k vectors
Definition elecond.h:51
UnitCell * p_ucell
pointer to the unit cell
Definition elecond.h:49
pseudopot_cell_vnl * p_ppcell
pointer to the pseudopotential
Definition elecond.h:48
~EleCond()
Definition elecond.h:26
void jjresponse_ks(const int ik, const int nt, const double dt, const double decut, ModuleBase::matrix &wg, hamilt::Velocity< FPTYPE, Device > &velop, double *ct11, double *ct12, double *ct22)
calculate the response function Cmn(t) for currents
Definition elecond.cpp:110
Definition klist.h:13
Definition matrix.h:19
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition unitcell.h:16
Definition elecstate.h:15
Definition velocity_pw.h:13
Definition VNL_in_pw.h:21
Definition psi.h:37
Definition memory_op.h:77
Definition memory_op.h:17