ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
pot_cosikr.h
Go to the documentation of this file.
1//=======================
2// AUTHOR : Peize Lin
3// DATE : 2025-10-05
4//=======================
5
6#ifndef POT_COSIKR_H
7#define POT_COSIKR_H
8
9#include "pot_base.h"
10#include "source_base/vector3.h"
11
12
13namespace elecstate
14{
15
16// ampitude * cos( 2pi*( k * r + phase ) )
17class Pot_Cosikr : public PotBase
18{
19 public:
21 const ModulePW::PW_Basis* rho_basis_in,
22 const ModuleBase::Vector3<double> &kvec_d_in,
23 const std::vector<double> &phase_in,
24 const std::vector<double> &amplitude_in);
25
26 void cal_v_eff(const Charge*const chg, const UnitCell*const ucell, ModuleBase::matrix &v_eff) override;
27
28 private:
30 const std::vector<double> phase;
31 const std::vector<double> amplitude;
32};
33
34}
35
36#endif
Definition charge.h:17
3 elements vector
Definition vector3.h:24
Definition matrix.h:18
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition unitcell.h:15
Definition pot_base.h:22
Definition pot_cosikr.h:18
void cal_v_eff(const Charge *const chg, const UnitCell *const ucell, ModuleBase::matrix &v_eff) override
Definition pot_cosikr.cpp:28
const std::vector< double > phase
Definition pot_cosikr.h:30
const std::vector< double > amplitude
Definition pot_cosikr.h:31
const ModuleBase::Vector3< double > kvec_d
Definition pot_cosikr.h:29
Definition read_atoms_helper_test.cpp:11