#include <velocity_pw.h>
|
| Velocity (const ModulePW::PW_Basis_K *wfcpw_in, const int *isk_in, pseudopot_cell_vnl *ppcell_in, const UnitCell *ucell_in, const bool nonlocal_in=true) |
|
| ~Velocity () |
|
void | init (const int ik_in) |
|
void | act (const psi::Psi< std::complex< FPTYPE >, Device > *psi_in, const int n_npwx, const std::complex< FPTYPE > *tmpsi_in, std::complex< FPTYPE > *tmvpsi, const bool add=false) const |
| calculate \hat{v}|\psi>
|
|
|
using | Complex = std::complex< FPTYPE > |
|
using | resmem_var_op = base_device::memory::resize_memory_op< FPTYPE, Device > |
|
using | delmem_var_op = base_device::memory::delete_memory_op< FPTYPE, Device > |
|
using | syncmem_var_h2d_op = base_device::memory::synchronize_memory_op< FPTYPE, Device, base_device::DEVICE_CPU > |
|
using | castmem_var_h2d_op = base_device::memory::cast_memory_op< FPTYPE, double, Device, base_device::DEVICE_CPU > |
|
using | resmem_complex_op = base_device::memory::resize_memory_op< std::complex< FPTYPE >, Device > |
|
using | setmem_complex_op = base_device::memory::set_memory_op< std::complex< FPTYPE >, Device > |
|
using | delmem_complex_op = base_device::memory::delete_memory_op< std::complex< FPTYPE >, Device > |
|
using | castmem_complex_h2d_op = base_device::memory::cast_memory_op< std::complex< FPTYPE >, std::complex< double >, Device, base_device::DEVICE_CPU > |
|
using | syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op< std::complex< FPTYPE >, base_device::DEVICE_CPU, Device > |
|
using | syncmem_complex_h2d_op = base_device::memory::synchronize_memory_op< std::complex< FPTYPE >, Device, base_device::DEVICE_CPU > |
|
|
const ModulePW::PW_Basis_K * | wfcpw = nullptr |
|
const int * | isk = nullptr |
|
pseudopot_cell_vnl * | ppcell = nullptr |
|
const UnitCell * | ucell = nullptr |
|
int | ik =0 |
|
double | tpiba =0.0 |
|
FPTYPE * | gx_ = nullptr |
| [Device, npwx] x component of G+K
|
|
FPTYPE * | gy_ = nullptr |
| [Device, npwx] y component of G+K
|
|
FPTYPE * | gz_ = nullptr |
| [Device, npwx] z component of G+K
|
|
std::complex< FPTYPE > * | vkb_ = nullptr |
| [Device, nkb * npwk_max] nonlocal pseudopotential vkb
|
|
std::complex< FPTYPE > * | gradvkb_ = nullptr |
| [Device, 3*nkb * npwk_max] gradient of nonlocal pseudopotential gradvkb
|
|
FPTYPE * | deeq_ = nullptr |
| [Device] D matrix for nonlocal pseudopotential
|
|
◆ castmem_complex_h2d_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ castmem_var_h2d_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ Complex
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ delmem_complex_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ delmem_var_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ resmem_complex_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ resmem_var_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ setmem_complex_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ syncmem_complex_d2h_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ syncmem_complex_h2d_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ syncmem_var_h2d_op
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ Velocity()
template<typename FPTYPE , typename Device >
◆ ~Velocity()
template<typename FPTYPE , typename Device >
◆ act()
template<typename FPTYPE , typename Device >
void hamilt::Velocity< FPTYPE, Device >::act |
( |
const psi::Psi< std::complex< FPTYPE >, Device > * |
psi_in, |
|
|
const int |
n_npwx, |
|
|
const std::complex< FPTYPE > * |
tmpsi_in, |
|
|
std::complex< FPTYPE > * |
tmvpsi, |
|
|
const bool |
add = false |
|
) |
| const |
calculate \hat{v}|\psi>
- Parameters
-
psi_in | Psi class which contains some information |
n_npwx | nbands * NPOL |
tmpsi_in | |\psi_i> size: n_npwx*npwx |
tmvpsi | \hat{v}|\psi> size: 3*n_npwx*npwx |
add | true : tmvpsi = tmvpsi + v|\psi> false: tmvpsi = v|\psi> |
<[Device, n_npwx * nkb] <\beta|\psi>
<[Device, n_npwx * 3*nkb] <\nabla\beta|\psi>
<[Device, nkb * n_npwx] sum of becp1
<[Device, 3*nkb * n_npwx] sum of becp2
◆ init()
template<typename FPTYPE , typename Device >
◆ deeq_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device] D matrix for nonlocal pseudopotential
◆ gradvkb_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device, 3*nkb * npwk_max] gradient of nonlocal pseudopotential gradvkb
◆ gx_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device, npwx] x component of G+K
◆ gy_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device, npwx] y component of G+K
◆ gz_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device, npwx] z component of G+K
◆ ik
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ isk
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ nonlocal
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ ppcell
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ tpiba
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ ucell
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
◆ vkb_
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
[Device, nkb * npwk_max] nonlocal pseudopotential vkb
◆ wfcpw
template<typename FPTYPE , typename Device = base_device::DEVICE_CPU>
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_pwdft/operator_pw/velocity_pw.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_pwdft/operator_pw/velocity_pw.cpp