ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Typedefs | Functions
LCAO_domain Namespace Reference

Typedefs

typedef std::tuple< int, int, int, int > key_tuple
 

Functions

void grid_prepare (const Grid_Technique &gt, Gint_Gamma &gint_gamma, Gint_k &gint_k, const UnitCell &ucell, const LCAO_Orbitals &orb, const ModulePW::PW_Basis &rhopw, const ModulePW::PW_Basis_Big &bigpw)
 prepare gird integration
 
template<typename T >
void DeePKS_init (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< T > &ld, std::ofstream &ofs)
 
template void DeePKS_init< double > (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< double > &ld, std::ofstream &ofs)
 
template void DeePKS_init< std::complex< double > > (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< std::complex< double > > &ld, std::ofstream &ofs)
 
void init_basis_lcao (Parallel_Orbitals &pv, const double &onsite_radius, const double &lcao_ecut, const double &lcao_dk, const double &lcao_dr, const double &lcao_rmax, UnitCell &ucell, TwoCenterBundle &two_center_bundle, LCAO_Orbitals &orb)
 
void build_Nonlocal_mu_new (const Parallel_Orbitals &pv, ForceStressArrays &fsr, double *HlocR, const bool &calc_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const TwoCenterIntegrator &intor_orb_beta, const Grid_Driver *GridD)
 
void set_force (const Parallel_Orbitals &pv, const int &iw1_all, const int &iw2_all, const double &vx, const double &vy, const double &vz, const char &dtype, double *dsloc_x, double *dsloc_y, double *dsloc_z, double *dhloc_fixed_x, double *dhloc_fixed_y, double *dhloc_fixed_z)
 set the elements of force-related matrices in LCAO method
 
void set_stress (const Parallel_Orbitals &pv, const int &iw1_all, const int &iw2_all, const double &vx, const double &vy, const double &vz, const char &dtype, const ModuleBase::Vector3< double > &dtau, double *dsloc_11, double *dsloc_12, double *dsloc_13, double *dsloc_22, double *dsloc_23, double *dsloc_33, double *dhloc_fixed_11, double *dhloc_fixed_12, double *dhloc_fixed_13, double *dhloc_fixed_22, double *dhloc_fixed_23, double *dhloc_fixed_33)
 set the elements of stress-related matrices in LCAO method
 
void single_overlap (const LCAO_Orbitals &orb, const TwoCenterBundle &two_center_bundle, const Parallel_Orbitals &pv, const UnitCell &ucell, const int nspin, const bool cal_stress, const int iw1_all, const int iw2_all, const int m1, const int m2, const char &dtype, const int T1, const int L1, const int N1, const int T2, const int L2, const int N2, const ModuleBase::Vector3< double > &dtau, const ModuleBase::Vector3< double > &tau1, const ModuleBase::Vector3< double > &tau2, const int npol, const int jj, const int jj0, const int kk, const int kk0, int &nnr, int &total_nnr, double *olm, double *HSloc)
 set each element without derivatives
 
void single_derivative (ForceStressArrays &fsr, const LCAO_Orbitals &orb, const TwoCenterBundle &two_center_bundle, const Parallel_Orbitals &pv, const UnitCell &ucell, const int nspin, const bool cal_stress, const int iw1_all, const int iw2_all, const int m1, const int m2, const char &dtype, const int T1, const int L1, const int N1, const int T2, const int L2, const int N2, const ModuleBase::Vector3< double > &dtau, const ModuleBase::Vector3< double > &tau1, const ModuleBase::Vector3< double > &tau2, const int npol, const int jj, const int jj0, const int kk, const int kk0, int &nnr, int &total_nnr, double *olm)
 set each element of T matrices
 
void build_ST_new (ForceStressArrays &fsr, const char &dtype, const bool &cal_deri, const bool &cal_stress, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const TwoCenterBundle &two_center_bundle, const Grid_Driver *GridD, double *SHlocR, bool cal_syns=false, double dmax=0.0)
 set the elements of S and T matrices
 
void zeros_HSR (const char &mtype, LCAO_HS_Arrays &HS_arrays)
 set zeros for HSR matrices
 
template<typename T >
void set_mat2d (const int &global_ir, const int &global_ic, const T &v, const Parallel_Orbitals &pv, T *mat)
 
template void set_mat2d< double > (const int &global_ir, const int &global_ic, const double &v, const Parallel_Orbitals &pv, double *HSloc)
 
template void set_mat2d< std::complex< double > > (const int &global_ir, const int &global_ic, const std::complex< double > &v, const Parallel_Orbitals &pv, std::complex< double > *HSloc)
 

Detailed Description

once the GlobalC::exx_info has been deleted, this include can be gone mohan note 2024-07-21

Typedef Documentation

◆ key_tuple

typedef std::tuple<int, int, int, int> LCAO_domain::key_tuple

Function Documentation

◆ build_Nonlocal_mu_new()

void LCAO_domain::build_Nonlocal_mu_new ( const Parallel_Orbitals pv,
ForceStressArrays fsr,
double *  HlocR,
const bool &  calc_deri,
const UnitCell ucell,
const LCAO_Orbitals orb,
const TwoCenterIntegrator intor_orb_beta,
const Grid_Driver GridD 
)

calc_deri

calc_deri

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_ST_new()

void LCAO_domain::build_ST_new ( ForceStressArrays fsr,
const char &  dtype,
const bool &  cal_deri,
const bool &  cal_stress,
const UnitCell ucell,
const LCAO_Orbitals orb,
const Parallel_Orbitals pv,
const TwoCenterBundle two_center_bundle,
const Grid_Driver GridD,
double *  SHlocR,
bool  cal_syns = false,
double  dmax = 0.0 
)

set the elements of S and T matrices

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeePKS_init()

template<typename T >
void LCAO_domain::DeePKS_init ( const UnitCell ucell,
Parallel_Orbitals pv,
const int &  nks,
const LCAO_Orbitals orb,
LCAO_Deepks< T > &  ld,
std::ofstream &  ofs 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeePKS_init< double >()

template void LCAO_domain::DeePKS_init< double > ( const UnitCell ucell,
Parallel_Orbitals pv,
const int &  nks,
const LCAO_Orbitals orb,
LCAO_Deepks< double > &  ld,
std::ofstream &  ofs 
)

◆ DeePKS_init< std::complex< double > >()

template void LCAO_domain::DeePKS_init< std::complex< double > > ( const UnitCell ucell,
Parallel_Orbitals pv,
const int &  nks,
const LCAO_Orbitals orb,
LCAO_Deepks< std::complex< double > > &  ld,
std::ofstream &  ofs 
)

◆ grid_prepare()

void LCAO_domain::grid_prepare ( const Grid_Technique gt,
Gint_Gamma gint_gamma,
Gint_k gint_k,
const UnitCell ucell,
const LCAO_Orbitals orb,
const ModulePW::PW_Basis rhopw,
const ModulePW::PW_Basis_Big bigpw 
)

prepare gird integration

Here is the call graph for this function:

◆ init_basis_lcao()

void LCAO_domain::init_basis_lcao ( Parallel_Orbitals pv,
const double &  onsite_radius,
const double &  lcao_ecut,
const double &  lcao_dk,
const double &  lcao_dr,
const double &  lcao_rmax,
UnitCell ucell,
TwoCenterBundle two_center_bundle,
LCAO_Orbitals orb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_force()

void LCAO_domain::set_force ( const Parallel_Orbitals pv,
const int &  iw1_all,
const int &  iw2_all,
const double &  vx,
const double &  vy,
const double &  vz,
const char &  dtype,
double *  dsloc_x,
double *  dsloc_y,
double *  dsloc_z,
double *  dhloc_fixed_x,
double *  dhloc_fixed_y,
double *  dhloc_fixed_z 
)

set the elements of force-related matrices in LCAO method

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_mat2d()

template<typename T >
void LCAO_domain::set_mat2d ( const int &  global_ir,
const int &  global_ic,
const T v,
const Parallel_Orbitals pv,
T mat 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_mat2d< double >()

template void LCAO_domain::set_mat2d< double > ( const int &  global_ir,
const int &  global_ic,
const double &  v,
const Parallel_Orbitals pv,
double *  HSloc 
)

◆ set_mat2d< std::complex< double > >()

template void LCAO_domain::set_mat2d< std::complex< double > > ( const int &  global_ir,
const int &  global_ic,
const std::complex< double > &  v,
const Parallel_Orbitals pv,
std::complex< double > *  HSloc 
)

◆ set_stress()

void LCAO_domain::set_stress ( const Parallel_Orbitals pv,
const int &  iw1_all,
const int &  iw2_all,
const double &  vx,
const double &  vy,
const double &  vz,
const char &  dtype,
const ModuleBase::Vector3< double > &  dtau,
double *  dsloc_11,
double *  dsloc_12,
double *  dsloc_13,
double *  dsloc_22,
double *  dsloc_23,
double *  dsloc_33,
double *  dhloc_fixed_11,
double *  dhloc_fixed_12,
double *  dhloc_fixed_13,
double *  dhloc_fixed_22,
double *  dhloc_fixed_23,
double *  dhloc_fixed_33 
)

set the elements of stress-related matrices in LCAO method

Here is the call graph for this function:
Here is the caller graph for this function:

◆ single_derivative()

void LCAO_domain::single_derivative ( ForceStressArrays fsr,
const LCAO_Orbitals orb,
const TwoCenterBundle two_center_bundle,
const Parallel_Orbitals pv,
const UnitCell ucell,
const int  nspin,
const bool  cal_stress,
const int  iw1_all,
const int  iw2_all,
const int  m1,
const int  m2,
const char &  dtype,
const int  T1,
const int  L1,
const int  N1,
const int  T2,
const int  L2,
const int  N2,
const ModuleBase::Vector3< double > &  dtau,
const ModuleBase::Vector3< double > &  tau1,
const ModuleBase::Vector3< double > &  tau2,
const int  npol,
const int  jj,
const int  jj0,
const int  kk,
const int  kk0,
int &  nnr,
int &  total_nnr,
double *  olm 
)

set each element of T matrices

Here is the call graph for this function:
Here is the caller graph for this function:

◆ single_overlap()

void LCAO_domain::single_overlap ( const LCAO_Orbitals orb,
const TwoCenterBundle two_center_bundle,
const Parallel_Orbitals pv,
const UnitCell ucell,
const int  nspin,
const bool  cal_stress,
const int  iw1_all,
const int  iw2_all,
const int  m1,
const int  m2,
const char &  dtype,
const int  T1,
const int  L1,
const int  N1,
const int  T2,
const int  L2,
const int  N2,
const ModuleBase::Vector3< double > &  dtau,
const ModuleBase::Vector3< double > &  tau1,
const ModuleBase::Vector3< double > &  tau2,
const int  npol,
const int  jj,
const int  jj0,
const int  kk,
const int  kk0,
int &  nnr,
int &  total_nnr,
double *  olm,
double *  HSloc 
)

set each element without derivatives

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zeros_HSR()

void LCAO_domain::zeros_HSR ( const char &  mtype,
LCAO_HS_Arrays HS_arrays 
)

set zeros for HSR matrices

Here is the call graph for this function:
Here is the caller graph for this function: