|
1 | 1 | #pragma once |
2 | | -#include "module_elecstate/elecstate.h" |
| 2 | +#include "module_elecstate/elecstate_pw.h" |
3 | 3 | #include "module_psi/wavefunc.h" |
4 | 4 |
|
5 | 5 | namespace elecstate |
@@ -62,6 +62,46 @@ void ElecState::init_ks(Charge* chg_in, // pointer for class Charge |
62 | 62 | return; |
63 | 63 | } |
64 | 64 |
|
| 65 | +template <typename T, typename Device> |
| 66 | +ElecStatePW<T, Device>::ElecStatePW(ModulePW::PW_Basis_K* wfc_basis_in, |
| 67 | + Charge* chg_in, |
| 68 | + K_Vectors* pkv_in, |
| 69 | + UnitCell* ucell_in, |
| 70 | + pseudopot_cell_vnl* ppcell_in, |
| 71 | + ModulePW::PW_Basis* rhodpw_in, |
| 72 | + ModulePW::PW_Basis* rhopw_in, |
| 73 | + ModulePW::PW_Basis_Big* bigpw_in) |
| 74 | + : basis(wfc_basis_in) |
| 75 | +{ |
| 76 | +} |
| 77 | + |
| 78 | +template <typename T, typename Device> |
| 79 | +ElecStatePW<T, Device>::~ElecStatePW() |
| 80 | +{ |
| 81 | +} |
| 82 | + |
| 83 | +template <typename T, typename Device> |
| 84 | +void ElecStatePW<T, Device>::psiToRho(const psi::Psi<T, Device>& psi) |
| 85 | +{ |
| 86 | +} |
| 87 | + |
| 88 | +template <typename T, typename Device> |
| 89 | +void ElecStatePW<T, Device>::cal_tau(const psi::Psi<T, Device>& psi) |
| 90 | +{ |
| 91 | +} |
| 92 | + |
| 93 | +template <typename T, typename Device> |
| 94 | +void ElecStatePW<T, Device>::cal_becsum(const psi::Psi<T, Device>& psi) |
| 95 | +{ |
| 96 | +} |
| 97 | + |
| 98 | +template class ElecStatePW<std::complex<float>, base_device::DEVICE_CPU>; |
| 99 | +template class ElecStatePW<std::complex<double>, base_device::DEVICE_CPU>; |
| 100 | +#if ((defined __CUDA) || (defined __ROCM)) |
| 101 | +template class ElecStatePW<std::complex<float>, base_device::DEVICE_GPU>; |
| 102 | +template class ElecStatePW<std::complex<double>, base_device::DEVICE_GPU>; |
| 103 | +#endif |
| 104 | + |
65 | 105 | Potential::~Potential() |
66 | 106 | { |
67 | 107 | } |
|
0 commit comments