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

Enumerations

enum class  job_type {
  vlocal , rho , force , tau ,
  vlocal_meta , force_meta , dvlocal
}
 

Functions

void cal_ddpsir_ylm (const Grid_Technique &gt, const int bxyz, const int na_grid, const int grid_index, const double delta_r, const int *const block_index, const int *const block_size, const bool *const *const cal_flag, double *const *const ddpsir_ylm_xx, double *const *const ddpsir_ylm_xy, double *const *const ddpsir_ylm_xz, double *const *const ddpsir_ylm_yy, double *const *const ddpsir_ylm_yz, double *const *const ddpsir_ylm_zz)
 
void cal_dpsir_ylm (const Grid_Technique &gt, const int bxyz, const int na_grid, const int grid_index, const double delta_r, const int *const block_index, const int *const block_size, const bool *const *const cal_flag, double *const *const psir_ylm, double *const *const dpsir_ylm_x, double *const *const dpsir_ylm_y, double *const *const dpsir_ylm_z)
 
void cal_psir_ylm (const Grid_Technique &gt, const int bxyz, const int na_grid, const int grid_index, const double delta_r, const int *const block_index, const int *const block_size, const bool *const *const cal_flag, double *const *const psir_ylm)
 
void get_vindex (const int bxyz, const int bx, const int by, const int bz, const int nplane, const int start_ind, const int ncyz, int *vindex)
 Get the vindex form the grid index.
 
void get_gint_vldr3 (double *vldr3, const double *const vlocal, const int bxyz, const int bx, const int by, const int bz, const int nplane, const int start_ind, const int ncyz, const double dv)
 Get the vldr3 form the grid index.
 
void get_block_info (const Grid_Technique &gt, const int bxyz, const int na_grid, const int grid_index, int *block_iw, int *block_index, int *block_size, bool **cal_flag)
 Get the information of a big grid index.
 
void cal_dpsirr_ylm (const Grid_Technique &gt, const int bxyz, const int na_grid, const int grid_index, const int *const block_index, const int *const block_size, const bool *const *const cal_flag, double *const *const dpsir_ylm_x, double *const *const dpsir_ylm_y, double *const *const dpsir_ylm_z, double *const *const dpsirr_ylm)
 
ModuleBase::Array_Pool< double > get_psir_vlbr3 (const int bxyz, const int na_grid, const int LD_pool, const int *const block_index, const bool *const *const cal_flag, const double *const vldr3, const double *const *const psir_ylm)
 
std::pair< int, int > cal_info (const int bxyz, const int ia1, const int ia2, const bool *const *const cal_flag)
 
double pow_int (const double base, const int exp)
 
void init_orb (double &dr_uniform, std::vector< double > &rcuts, UnitCell &ucell, const LCAO_Orbitals &orb, std::vector< std::vector< double > > &psi_u, std::vector< std::vector< double > > &dpsi_u, std::vector< std::vector< double > > &d2psi_u)
 
void mult_psi_DMR (const Grid_Technique &gt, const int bxyz, const int LD_pool, const int &grid_index, const int &na_grid, const int *const block_index, const int *const block_size, const bool *const *const cal_flag, const double *const *const psi, double *const *const psi_DMR, const hamilt::HContainer< double > *const DM, const bool if_symm)
 

Enumeration Type Documentation

◆ job_type

enum class Gint_Tools::job_type
strong
Enumerator
vlocal 
rho 
force 
tau 
vlocal_meta 
force_meta 
dvlocal 

Function Documentation

◆ cal_ddpsir_ylm()

void Gint_Tools::cal_ddpsir_ylm ( const Grid_Technique gt,
const int  bxyz,
const int  na_grid,
const int  grid_index,
const double  delta_r,
const int *const  block_index,
const int *const  block_size,
const bool *const *const  cal_flag,
double *const *const  ddpsir_ylm_xx,
double *const *const  ddpsir_ylm_xy,
double *const *const  ddpsir_ylm_xz,
double *const *const  ddpsir_ylm_yy,
double *const *const  ddpsir_ylm_yz,
double *const *const  ddpsir_ylm_zz 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_dpsir_ylm()

void Gint_Tools::cal_dpsir_ylm ( const Grid_Technique gt,
const int  bxyz,
const int  na_grid,
const int  grid_index,
const double  delta_r,
const int *const  block_index,
const int *const  block_size,
const bool *const *const  cal_flag,
double *const *const  psir_ylm,
double *const *const  dpsir_ylm_x,
double *const *const  dpsir_ylm_y,
double *const *const  dpsir_ylm_z 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_dpsirr_ylm()

void Gint_Tools::cal_dpsirr_ylm ( const Grid_Technique gt,
const int  bxyz,
const int  na_grid,
const int  grid_index,
const int *const  block_index,
const int *const  block_size,
const bool *const *const  cal_flag,
double *const *const  dpsir_ylm_x,
double *const *const  dpsir_ylm_y,
double *const *const  dpsir_ylm_z,
double *const *const  dpsirr_ylm 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_info()

std::pair< int, int > Gint_Tools::cal_info ( const int  bxyz,
const int  ia1,
const int  ia2,
const bool *const *const  cal_flag 
)
Here is the caller graph for this function:

◆ cal_psir_ylm()

void Gint_Tools::cal_psir_ylm ( const Grid_Technique gt,
const int  bxyz,
const int  na_grid,
const int  grid_index,
const double  delta_r,
const int *const  block_index,
const int *const  block_size,
const bool *const *const  cal_flag,
double *const *const  psir_ylm 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_block_info()

void Gint_Tools::get_block_info ( const Grid_Technique gt,
const int  bxyz,
const int  na_grid,
const int  grid_index,
int *  block_iw,
int *  block_index,
int *  block_size,
bool **  cal_flag 
)

Get the information of a big grid index.

Parameters
gtthe grid technique, which contains the tools of the grid intergration
bxyznumber of grids
na_gridnumber of atoms on this grid
grid_index1d index of FFT index (i,j,k)
block_iwtrack the atom orbitals in all atoms
block_indexcount total number of atomis orbitals
block_sizecount the number of atomis orbitals in each atom
cal_flagwhether the atom-grid distance is larger than cutoff
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_gint_vldr3()

void Gint_Tools::get_gint_vldr3 ( double *  vldr3,
const double *const  vlocal,
const int  bxyz,
const int  bx,
const int  by,
const int  bz,
const int  nplane,
const int  start_ind,
const int  ncyz,
const double  dv 
)

Get the vldr3 form the grid index.

Parameters
vldr3the local potential multiplied by the grid volume
vlocalthe local potential
bxyznumber of grids
bxnumber of grids in x direction
bynumber of grids in y direction
bznumber of grids in z direction
nplaneCurrently using Z-axis 1D division, recording the number of the Z-axis process (nbz in the current process).
start_indstart index of the grid in the 1D FFT grid
ncyznumber of grids in yz plane
dvthe volume of the grid
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_psir_vlbr3()

ModuleBase::Array_Pool< double > Gint_Tools::get_psir_vlbr3 ( const int  bxyz,
const int  na_grid,
const int  LD_pool,
const int *const  block_index,
const bool *const *const  cal_flag,
const double *const  vldr3,
const double *const *const  psir_ylm 
)
Here is the caller graph for this function:

◆ get_vindex()

void Gint_Tools::get_vindex ( const int  bxyz,
const int  bx,
const int  by,
const int  bz,
const int  nplane,
const int  start_ind,
const int  ncyz,
int *  vindex 
)

Get the vindex form the grid index.

Parameters
bxyznumber of big grids
bxnumber of big grids in x direction
bynumber of big grids in y direction
bznumber of big grids in z direction
nplaneCurrently using Z-axis 1D division, recording the number of the Z-axis process (nbz in the current process).
start_indstart index of the grid in the 1D FFT grid
ncyznumber of grids in yz plane
vindexthe index of the grid
Here is the caller graph for this function:

◆ init_orb()

void Gint_Tools::init_orb ( double &  dr_uniform,
std::vector< double > &  rcuts,
UnitCell ucell,
const LCAO_Orbitals orb,
std::vector< std::vector< double > > &  psi_u,
std::vector< std::vector< double > > &  dpsi_u,
std::vector< std::vector< double > > &  d2psi_u 
)

set the grid parameters

set the grid parameters

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

◆ mult_psi_DMR()

void Gint_Tools::mult_psi_DMR ( const Grid_Technique gt,
const int  bxyz,
const int  LD_pool,
const int &  grid_index,
const int &  na_grid,
const int *const  block_index,
const int *const  block_size,
const bool *const *const  cal_flag,
const double *const *const  psi,
double *const *const  psi_DMR,
const hamilt::HContainer< double > *const  DM,
const bool  if_symm 
)

get cell R1, this step is redundant in gamma_only case.

density

ia2==ia1

maybe checking "tmp_matrix == nullptr" is not necessary

get (j,beta,R2)

get cell R2, this step is redundant in gamma_only case.

get cell R1, this step is redundant in gamma_only case.

density

ia2==ia1

maybe checking "tmp_matrix == nullptr" is not necessary

get (j,beta,R2)

get cell R2, this step is redundant in gamma_only case.

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

◆ pow_int()

double Gint_Tools::pow_int ( const double  base,
const int  exp 
)
inline
Here is the caller graph for this function: