ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
LR::PotHxcLR Class Reference

#include <pot_hxc_lrtd.h>

Collaboration diagram for LR::PotHxcLR:

Public Types

enum  SpinType { S1 = 0 , S2_singlet = 1 , S2_triplet = 2 , S2_updown = 3 }
 
enum  XCType { None = 0 , LDA = 1 , GGA = 2 , HYB_GGA = 4 }
 XCType here is to determin the method of integration from kernel to potential, not the way calculating the kernel. More...
 

Public Member Functions

 PotHxcLR (const std::string &xc_kernel, const ModulePW::PW_Basis &rho_basis, const UnitCell &ucell, const Charge &chg_gs, const Parallel_Grid &pgrid, const SpinType &st=SpinType::S1, const std::vector< std::string > &lr_init_xc_kernel={ "default" })
 constructor for exchange-correlation kernel
 
 ~PotHxcLR ()
 
void cal_v_eff (double **rho, const UnitCell &ucell, ModuleBase::matrix &v_eff, const std::vector< int > &ispin_op={ 0, 0 })
 

Public Attributes

const int & nrxx = nrxx_
 

Private Types

using Tfunc = std::function< void(const double *const, ModuleBase::matrix &, const std::vector< int > &ispin_op) >
 

Private Member Functions

void set_integral_func (const SpinType &s, const XCType &xc)
 

Private Attributes

const ModulePW::PW_Basisrho_basis_
 
const int nspin_ = 1
 
const int nrxx_ = 1
 
std::unique_ptr< elecstate::PotHartreepot_hartree_
 
const KernelXC xc_kernel_components_
 
const std::string xc_kernel_
 
const double & tpiba_
 
const SpinType spin_type_ = SpinType::S1
 
XCType xc_type_ = XCType::None
 
std::map< SpinType, Tfunckernel_to_potential_
 

Member Typedef Documentation

◆ Tfunc

using LR::PotHxcLR::Tfunc = std::function<void(const double* const , ModuleBase::matrix& , const std::vector<int>& ispin_op) >
private

Member Enumeration Documentation

◆ SpinType

S1: K^Hartree + K^xc S2_singlet: 2*K^Hartree + K^xc_{upup} + K^xc_{updown} S2_triplet: K^xc_{upup} - K^xc_{updown} S2_updown: K^Hartree + (K^xc_{upup}, K^xc_{updown}, K^xc_{downup} or K^xc_{downdown}), according to ispin_op (for spin-polarized systems)

Enumerator
S1 
S2_singlet 
S2_triplet 
S2_updown 

◆ XCType

XCType here is to determin the method of integration from kernel to potential, not the way calculating the kernel.

Enumerator
None 
LDA 
GGA 
HYB_GGA 

Constructor & Destructor Documentation

◆ PotHxcLR()

LR::PotHxcLR::PotHxcLR ( const std::string &  xc_kernel,
const ModulePW::PW_Basis rho_basis,
const UnitCell ucell,
const Charge chg_gs,
const Parallel_Grid pgrid,
const SpinType st = SpinType::S1,
const std::vector< std::string > &  lr_init_xc_kernel = { "default" } 
)

constructor for exchange-correlation kernel

Here is the call graph for this function:

◆ ~PotHxcLR()

LR::PotHxcLR::~PotHxcLR ( )
inline

Member Function Documentation

◆ cal_v_eff()

void LR::PotHxcLR::cal_v_eff ( double **  rho,
const UnitCell ucell,
ModuleBase::matrix v_eff,
const std::vector< int > &  ispin_op = { 0,0 } 
)
Here is the call graph for this function:

◆ set_integral_func()

void LR::PotHxcLR::set_integral_func ( const SpinType s,
const XCType xc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kernel_to_potential_

std::map<SpinType, Tfunc> LR::PotHxcLR::kernel_to_potential_
private

◆ nrxx

const int& LR::PotHxcLR::nrxx = nrxx_

◆ nrxx_

const int LR::PotHxcLR::nrxx_ = 1
private

◆ nspin_

const int LR::PotHxcLR::nspin_ = 1
private

◆ pot_hartree_

std::unique_ptr<elecstate::PotHartree> LR::PotHxcLR::pot_hartree_
private

◆ rho_basis_

const ModulePW::PW_Basis& LR::PotHxcLR::rho_basis_
private

◆ spin_type_

const SpinType LR::PotHxcLR::spin_type_ = SpinType::S1
private

◆ tpiba_

const double& LR::PotHxcLR::tpiba_
private

◆ xc_kernel_

const std::string LR::PotHxcLR::xc_kernel_
private

◆ xc_kernel_components_

const KernelXC LR::PotHxcLR::xc_kernel_components_
private

different components of local and semi-local xc kernels: LDA: v2rho2 GGA: v2rho2, v2rhosigma, v2sigma2 meta-GGA: v2rho2, v2rhosigma, v2sigma2, v2rholap, v2rhotau, v2sigmalap, v2sigmatau, v2laptau, v2lap2, v2tau2

◆ xc_type_

XCType LR::PotHxcLR::xc_type_ = XCType::None
private

The documentation for this class was generated from the following files: