20 const double*
const*
const rho,
26 const double*
const*
const rho,
36 static double saw_function(
const double &a,
const double &b,
const double &x);
40 static void prepare(
const UnitCell &cell,
double &latvec,
double &area);
42 static void autoset(std::vector<double>& pos);
89 vl_pseudo[ir] += v_efield(0, ir);
double ** rho
Definition charge.h:38
int nr
Definition matrix.h:23
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
int nrxx
Definition pw_basis.h:120
const Input_para & inp
Definition parameter.h:26
static double cal_induced_dipole(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const surchem &solvent, const double &bmod)
Definition efield.cpp:203
static void autoset(std::vector< double > &pos)
Definition efield.cpp:323
Efield()
Definition efield.cpp:22
static ModuleBase::matrix add_efield(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const int &nspin, const double *const *const rho, const surchem &solvent)
Definition efield.cpp:33
static double bmod
Definition efield.h:51
static double efield_pos_max
Definition efield.h:47
static void compute_force(const UnitCell &cell, ModuleBase::matrix &fdip)
Definition efield.cpp:255
static double efield_pos_dec
Definition efield.h:48
static void prepare(const UnitCell &cell, double &latvec, double &area)
Definition efield.cpp:290
~Efield()
Definition efield.cpp:26
static double etotefield
Definition efield.h:44
static double cal_elec_dipole(const UnitCell &cell, const ModulePW::PW_Basis *rho_basis, const int &nspin, const double *const *const rho, const double &bmod)
Definition efield.cpp:170
static double cal_ion_dipole(const UnitCell &cell, const double &bmod)
Definition efield.cpp:142
static double bvec[3]
Definition efield.h:50
static double tot_dipole
Definition efield.h:45
static double efield_amp
Definition efield.h:49
static double saw_function(const double &a, const double &b, const double &x)
Definition efield.cpp:234
static int efield_dir
Definition efield.h:46
const ModulePW::PW_Basis * rho_basis_
Definition pot_base.h:35
bool dynamic_mode
Definition pot_base.h:32
bool fixed_mode
Definition pot_base.h:31
const UnitCell * ucell_
Definition efield.h:103
const surchem * solvent_
Definition efield.h:104
PotEfield(const ModulePW::PW_Basis *rho_basis_in, const UnitCell *ucell_in, const surchem *solvent_in, bool dipole)
Definition efield.h:63
void cal_fixed_v(double *vl_pseudo) override
Definition efield.h:79
void cal_v_eff(const Charge *chg, const UnitCell *ucell, ModuleBase::matrix &v_eff) override
Definition efield.h:93
Parameter PARAM
Definition parameter.cpp:3