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

Functions

void gint_fvl_gpu (const hamilt::HContainer< double > *dm, const double *vlocal, double *force_in, double *stress_in, double dr, const double *rcut, const int isforce, const int isstress, const Grid_Technique &gridt, const UnitCell &ucell)
 
void gtask_force (const Grid_Technique &gridt, const UnitCell &ucell, const int grid_index_ij, const int nczp, const double vfactor, const double *vlocal_global_value, int &atoms_per_z, int *atoms_num_info, int *iat_on_nbz, uint8_t *atoms_type, double *dr_part, double *vldr3)
 
void alloc_mult_force (const hamilt::HContainer< double > *dm, const Grid_Technique &gridt, const UnitCell &ucell, const int grid_index_ij, const int max_atom, const int *atoms_num_info, double *const psi_g, double *const psi_dm_g, double *const dm_matrix_g, int &max_m, int &max_n, int &atom_pair_num, int *mat_m, int *mat_n, int *mat_k, int *mat_lda, int *mat_ldb, int *mat_ldc, double **mat_A, double **mat_B, double **mat_C)
 
void gint_rho_gpu (const hamilt::HContainer< double > *dm, const double *ylmcoef_now, const double dr, const double *rcut, const Grid_Technique &gridt, const UnitCell &ucell, double *rho)
 
void gtask_rho (const Grid_Technique &gridt, const int grid_index_ij, const UnitCell &ucell, double *dr_part, uint8_t *atoms_type, int *atoms_num_info, int &atoms_per_z)
 
void alloc_mult_dot_rho (const hamilt::HContainer< double > *dm, const Grid_Technique &gridt, const UnitCell &ucell, const int grid_index_ij, const int max_atom, const int lgd, const int nczp, const int *atoms_num_info, double *const psir_ylm_g, double *const psir_dm_g, double *const dm_matrix_g, double *mat_alpha, int *mat_m, int *mat_n, int *mat_k, int *mat_lda, int *mat_ldb, int *mat_ldc, double **mat_A, double **mat_B, double **mat_C, int &max_m, int &max_n, int &atom_pair_num, double *rho_g, double **dot_product)
 
void gint_vl_gpu (hamilt::HContainer< double > *hRGint, const double *vlocal, const double *ylmcoef_now, const double dr, const double *rcut, const Grid_Technique &gridt, const UnitCell &ucell)
 
void gtask_vlocal (const Grid_Technique &gridt, const UnitCell &ucell, const int grid_index_ij, const int nczp, const double vfactor, const double *vlocal_global_value, int &atoms_per_z, int *atoms_num_info, uint8_t *atoms_type, double *dr_part, double *vldr3)
 
void alloc_mult_vlocal (const hamilt::HContainer< double > *hRGint, const Grid_Technique &gridt, const UnitCell &ucell, const int grid_index_ij, const int max_atom, double *const psi, double *const psi_vldr3, double *const grid_vlocal_g, int *mat_m, int *mat_n, int *mat_k, int *mat_lda, int *mat_ldb, int *mat_ldc, double **mat_A, double **mat_B, double **mat_C, int &atom_pair_num, int &max_m, int &max_n)
 

Function Documentation

◆ alloc_mult_dot_rho()

void GintKernel::alloc_mult_dot_rho ( const hamilt::HContainer< double > *  dm,
const Grid_Technique gridt,
const UnitCell ucell,
const int  grid_index_ij,
const int  max_atom,
const int  lgd,
const int  nczp,
const int *  atoms_num_info,
double *const  psir_ylm_g,
double *const  psir_dm_g,
double *const  dm_matrix_g,
double *  mat_alpha,
int *  mat_m,
int *  mat_n,
int *  mat_k,
int *  mat_lda,
int *  mat_ldb,
int *  mat_ldc,
double **  mat_A,
double **  mat_B,
double **  mat_C,
int &  max_m,
int &  max_n,
int &  atom_pair_num,
double *  rho_g,
double **  dot_product 
)
Here is the call graph for this function:

◆ alloc_mult_force()

void GintKernel::alloc_mult_force ( const hamilt::HContainer< double > *  dm,
const Grid_Technique gridt,
const UnitCell ucell,
const int  grid_index_ij,
const int  max_atom,
const int *  atoms_num_info,
double *const  psi_g,
double *const  psi_dm_g,
double *const  dm_matrix_g,
int &  max_m,
int &  max_n,
int &  atom_pair_num,
int *  mat_m,
int *  mat_n,
int *  mat_k,
int *  mat_lda,
int *  mat_ldb,
int *  mat_ldc,
double **  mat_A,
double **  mat_B,
double **  mat_C 
)
Here is the call graph for this function:

◆ alloc_mult_vlocal()

void GintKernel::alloc_mult_vlocal ( const hamilt::HContainer< double > *  hRGint,
const Grid_Technique gridt,
const UnitCell ucell,
const int  grid_index_ij,
const int  max_atom,
double *const  psi,
double *const  psi_vldr3,
double *const  grid_vlocal_g,
int *  mat_m,
int *  mat_n,
int *  mat_k,
int *  mat_lda,
int *  mat_ldb,
int *  mat_ldc,
double **  mat_A,
double **  mat_B,
double **  mat_C,
int &  atom_pair_num,
int &  max_m,
int &  max_n 
)
Here is the call graph for this function:

◆ gint_fvl_gpu()

void GintKernel::gint_fvl_gpu ( const hamilt::HContainer< double > *  dm,
const double *  vlocal,
double *  force_in,
double *  stress_in,
double  dr,
const double *  rcut,
const int  isforce,
const int  isstress,
const Grid_Technique gridt,
const UnitCell ucell 
)
Here is the caller graph for this function:

◆ gint_rho_gpu()

void GintKernel::gint_rho_gpu ( const hamilt::HContainer< double > *  dm,
const double *  ylmcoef_now,
const double  dr,
const double *  rcut,
const Grid_Technique gridt,
const UnitCell ucell,
double *  rho 
)

calculate the rho by GPU

Parameters
dmdensity matrix.
ylmcoef_nowcoefficients for the spherical harmonics expansion.
drThe grid spacing.
rcutPointer to the cutoff radius array.
gridtGrid_Technique object containing grid information.
ucellUnitCell.
rhorho.
Here is the caller graph for this function:

◆ gint_vl_gpu()

void GintKernel::gint_vl_gpu ( hamilt::HContainer< double > *  hRGint,
const double *  vlocal,
const double *  ylmcoef_now,
const double  dr,
const double *  rcut,
const Grid_Technique gridt,
const UnitCell ucell 
)
Here is the caller graph for this function:

◆ gtask_force()

void GintKernel::gtask_force ( const Grid_Technique gridt,
const UnitCell ucell,
const int  grid_index_ij,
const int  nczp,
const double  vfactor,
const double *  vlocal_global_value,
int &  atoms_per_z,
int *  atoms_num_info,
int *  iat_on_nbz,
uint8_t *  atoms_type,
double *  dr_part,
double *  vldr3 
)

◆ gtask_rho()

void GintKernel::gtask_rho ( const Grid_Technique gridt,
const int  grid_index_ij,
const UnitCell ucell,
double *  dr_part,
uint8_t *  atoms_type,
int *  atoms_num_info,
int &  atoms_per_z 
)

◆ gtask_vlocal()

void GintKernel::gtask_vlocal ( const Grid_Technique gridt,
const UnitCell ucell,
const int  grid_index_ij,
const int  nczp,
const double  vfactor,
const double *  vlocal_global_value,
int &  atoms_per_z,
int *  atoms_num_info,
uint8_t *  atoms_type,
double *  dr_part,
double *  vldr3 
)