18 ESolver_NEP(
const std::string& pot_file): nep(pot_file)
101 std::vector<double>
_e;
102 std::vector<double>
_f;
103 std::vector<double>
_v;
Definition esolver_nep.h:15
ModuleBase::matrix nep_force
computed atomic forces
Definition esolver_nep.h:99
std::vector< double > _v
temporary storage for virial computation
Definition esolver_nep.h:103
std::vector< int > atype
atom type mapping for NEP model
Definition esolver_nep.h:97
void runner(UnitCell &ucell, const int istep) override
Run the NEP solver for a given ion/md step and unit cell.
Definition esolver_nep.cpp:51
std::vector< double > _f
temporary storage for force computation
Definition esolver_nep.h:102
double cal_energy() override
get the total energy without ion kinetic energy
Definition esolver_nep.cpp:136
void before_all_runners(UnitCell &ucell, const Input_para &inp) override
Initialize the NEP solver with given input parameters and unit cell.
Definition esolver_nep.cpp:30
void cal_stress(UnitCell &ucell, ModuleBase::matrix &stress) override
get the computed lattice virials
Definition esolver_nep.cpp:147
ESolver_NEP(const std::string &pot_file)
Definition esolver_nep.h:24
double nep_potential
computed potential energy
Definition esolver_nep.h:98
ModuleBase::matrix nep_virial
computed lattice virials
Definition esolver_nep.h:100
void cal_force(UnitCell &ucell, ModuleBase::matrix &force) override
get the computed atomic forces
Definition esolver_nep.cpp:141
void after_all_runners(UnitCell &ucell) override
Prints the final total energy of the NEP model to the output file.
Definition esolver_nep.cpp:161
void type_map(const UnitCell &ucell)
determine the type map of NEP model
std::vector< double > _e
temporary storage for energy computation
Definition esolver_nep.h:101
std::string nep_file
NEP related variables for ESolver_NEP class.
Definition esolver_nep.h:96
std::string classname
Definition esolver.h:49
The First-Principles (FP) Energy Solver Class.
Definition opt_test_tools.cpp:93