ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Enumerations | |
enum class | job_type { vlocal , rho , force , tau , vlocal_meta , force_meta , dvlocal } |
Functions | |
void | cal_ddpsir_ylm (const Grid_Technique >, 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 >, 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 >, 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 >, 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 >, 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 >, 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) |
|
strong |
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 | ||
) |
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 | ||
) |
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 | ||
) |
std::pair< int, int > Gint_Tools::cal_info | ( | const int | bxyz, |
const int | ia1, | ||
const int | ia2, | ||
const bool *const *const | cal_flag | ||
) |
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 | ||
) |
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.
gt | the grid technique, which contains the tools of the grid intergration |
bxyz | number of grids |
na_grid | number of atoms on this grid |
grid_index | 1d index of FFT index (i,j,k) |
block_iw | track the atom orbitals in all atoms |
block_index | count total number of atomis orbitals |
block_size | count the number of atomis orbitals in each atom |
cal_flag | whether the atom-grid distance is larger than cutoff |
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.
vldr3 | the local potential multiplied by the grid volume |
vlocal | the local potential |
bxyz | number of grids |
bx | number of grids in x direction |
by | number of grids in y direction |
bz | number of grids in z direction |
nplane | Currently using Z-axis 1D division, recording the number of the Z-axis process (nbz in the current process). |
start_ind | start index of the grid in the 1D FFT grid |
ncyz | number of grids in yz plane |
dv | the volume of the grid |
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 | ||
) |
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.
bxyz | number of big grids |
bx | number of big grids in x direction |
by | number of big grids in y direction |
bz | number of big grids in z direction |
nplane | Currently using Z-axis 1D division, recording the number of the Z-axis process (nbz in the current process). |
start_ind | start index of the grid in the 1D FFT grid |
ncyz | number of grids in yz plane |
vindex | the index of the grid |
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
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.
|
inline |