#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