ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <stress_op.h>
Public Member Functions | |
void | operator() (const Device *ctx, const bool &nondiagonal, const int &ipol, const int &jpol, const int &nkb, const int &nbands_occ, const int &ntype, const int &spin, const int &deeq_2, const int &deeq_3, const int &deeq_4, const int *atom_nh, const int *atom_na, const FPTYPE *d_wg, const bool &occ, const FPTYPE *d_ekb, const FPTYPE *qq_nt, const FPTYPE *deeq, const std::complex< FPTYPE > *becp, const std::complex< FPTYPE > *dbecp, FPTYPE *stress) |
Calculate the final stresses for multi-device. | |
void | operator() (const Device *ctx, const int &ipol, const int &jpol, const int &nkb, const int &nbands_occ, const int &ntype, const int &deeq_2, const int &deeq_3, const int &deeq_4, const int *atom_nh, const int *atom_na, const FPTYPE *d_wg, const bool &occ, const FPTYPE *d_ekb, const FPTYPE *qq_nt, const std::complex< FPTYPE > *deeq_nc, const std::complex< FPTYPE > *becp, const std::complex< FPTYPE > *dbecp, FPTYPE *stress) |
void | operator() (const base_device::DEVICE_CPU *ctx, const int &nkb, const int &nbands_occ, const int &ntype, const int &wg_nc, const int &ik, const int *atom_nh, const int *atom_na, const FPTYPE *d_wg, const std::complex< FPTYPE > *vu, const int *orbital_corr, const std::complex< FPTYPE > *becp, const std::complex< FPTYPE > *dbecp, FPTYPE *stress) |
void | operator() (const base_device::DEVICE_CPU *ctx, const int &nkb, const int &nbands_occ, const int &ntype, const int &wg_nc, const int &ik, const int *atom_nh, const int *atom_na, const FPTYPE *d_wg, const double *lambda, const std::complex< FPTYPE > *becp, const std::complex< FPTYPE > *dbecp, FPTYPE *stress) |
void hamilt::cal_stress_nl_op< FPTYPE, Device >::operator() | ( | const base_device::DEVICE_CPU * | ctx, |
const int & | nkb, | ||
const int & | nbands_occ, | ||
const int & | ntype, | ||
const int & | wg_nc, | ||
const int & | ik, | ||
const int * | atom_nh, | ||
const int * | atom_na, | ||
const FPTYPE * | d_wg, | ||
const double * | lambda, | ||
const std::complex< FPTYPE > * | becp, | ||
const std::complex< FPTYPE > * | dbecp, | ||
FPTYPE * | stress | ||
) |
void hamilt::cal_stress_nl_op< FPTYPE, Device >::operator() | ( | const base_device::DEVICE_CPU * | ctx, |
const int & | nkb, | ||
const int & | nbands_occ, | ||
const int & | ntype, | ||
const int & | wg_nc, | ||
const int & | ik, | ||
const int * | atom_nh, | ||
const int * | atom_na, | ||
const FPTYPE * | d_wg, | ||
const std::complex< FPTYPE > * | vu, | ||
const int * | orbital_corr, | ||
const std::complex< FPTYPE > * | becp, | ||
const std::complex< FPTYPE > * | dbecp, | ||
FPTYPE * | stress | ||
) |
void hamilt::cal_stress_nl_op< FPTYPE, Device >::operator() | ( | const Device * | ctx, |
const bool & | nondiagonal, | ||
const int & | ipol, | ||
const int & | jpol, | ||
const int & | nkb, | ||
const int & | nbands_occ, | ||
const int & | ntype, | ||
const int & | spin, | ||
const int & | deeq_2, | ||
const int & | deeq_3, | ||
const int & | deeq_4, | ||
const int * | atom_nh, | ||
const int * | atom_na, | ||
const FPTYPE * | d_wg, | ||
const bool & | occ, | ||
const FPTYPE * | d_ekb, | ||
const FPTYPE * | qq_nt, | ||
const FPTYPE * | deeq, | ||
const std::complex< FPTYPE > * | becp, | ||
const std::complex< FPTYPE > * | dbecp, | ||
FPTYPE * | stress | ||
) |
Calculate the final stresses for multi-device.
Input Parameters
ctx | - which device this function runs on |
nondiagonal | - control flag |
ipol | - loop of 0, 1, 2 |
jpol | - loop of 0, 1, 2 |
nkb | - number of k point |
nbands_occ | - number of occupied bands |
ntype | - total atomic type |
spin | - current spin |
deeq_2 | - the second dimension of deeq |
deeq_3 | - the third dimension of deeq |
deeq_4 | - the forth dimension of deeq |
atom_nh | - ucell.atoms[ii].ncpp.nh |
atom_na | - ucell.atoms[ii].na |
d_wg | - input parameter wg |
occ | - if use the occupation of the bands |
d_ekb | - input parameter ekb |
qq_nt | - ppcell.qq_nt |
deeq | - ppcell.deeq |
becp | - intermediate matrix with PARAM.inp.nbands * nkb |
dbecp | - intermediate matrix with 3 * PARAM.inp.nbands * nkb |
Output Parameters
stress | - output stresses |
void hamilt::cal_stress_nl_op< FPTYPE, Device >::operator() | ( | const Device * | ctx, |
const int & | ipol, | ||
const int & | jpol, | ||
const int & | nkb, | ||
const int & | nbands_occ, | ||
const int & | ntype, | ||
const int & | deeq_2, | ||
const int & | deeq_3, | ||
const int & | deeq_4, | ||
const int * | atom_nh, | ||
const int * | atom_na, | ||
const FPTYPE * | d_wg, | ||
const bool & | occ, | ||
const FPTYPE * | d_ekb, | ||
const FPTYPE * | qq_nt, | ||
const std::complex< FPTYPE > * | deeq_nc, | ||
const std::complex< FPTYPE > * | becp, | ||
const std::complex< FPTYPE > * | dbecp, | ||
FPTYPE * | stress | ||
) |