29 std::vector<std::vector<double>>
H;
31 std::vector<ModuleBase::Vector3<double>>
force;
33 std::vector<ModuleBase::Vector3<double>>
pos;
35 std::vector<ModuleBase::Vector3<double>>
pos_taud;
36 std::vector<ModuleBase::Vector3<double>>
dpos;
43 void Update(std::vector<double>&
pos, std::vector<double>&
force,std::vector<std::vector<double>>&
H,
UnitCell& ucell);
void GetPos(UnitCell &ucell, std::vector< ModuleBase::Vector3< double > > &pos)
Definition bfgs.cpp:82
std::vector< ModuleBase::Vector3< double > > pos
Definition bfgs.h:33
double maxstep
Definition bfgs.h:24
double alpha
Definition bfgs.h:23
void DetermineStep(std::vector< double > &steplength, std::vector< ModuleBase::Vector3< double > > &dpos, double &maxstep)
Definition bfgs.cpp:251
void GetPostaud(UnitCell &ucell, std::vector< ModuleBase::Vector3< double > > &pos_taud)
Definition bfgs.cpp:98
std::vector< double > pos_taud0
Definition bfgs.h:34
void IsRestrain()
Definition bfgs.cpp:359
void allocate(const int _size)
initialize H0、H、pos0、force0、force
Definition bfgs.cpp:10
std::vector< ModuleBase::Vector3< double > > pos_taud
Definition bfgs.h:35
void CalculateLargestGrad(const ModuleBase::matrix &_force, UnitCell &ucell)
Definition bfgs.cpp:322
bool sign
Definition bfgs.h:22
std::vector< std::vector< double > > H
Definition bfgs.h:29
void relax_step(const ModuleBase::matrix &_force, UnitCell &ucell)
Definition bfgs.cpp:36
std::vector< double > steplength
Definition bfgs.h:28
std::vector< ModuleBase::Vector3< double > > dpos
Definition bfgs.h:36
std::vector< ModuleBase::Vector3< double > > force
Definition bfgs.h:31
void PrepareStep(std::vector< ModuleBase::Vector3< double > > &force, std::vector< ModuleBase::Vector3< double > > &pos, std::vector< std::vector< double > > &H, std::vector< double > &pos0, std::vector< double > &force0, std::vector< double > &steplength, std::vector< ModuleBase::Vector3< double > > &dpos, int &size, UnitCell &ucell)
Definition bfgs.cpp:115
std::vector< double > pos0
Definition bfgs.h:32
void UpdatePos(UnitCell &ucell)
Definition bfgs.cpp:271
int size
Definition bfgs.h:26
void Update(std::vector< double > &pos, std::vector< double > &force, std::vector< std::vector< double > > &H, UnitCell &ucell)
Definition bfgs.cpp:175
double largest_grad
Definition bfgs.h:25
std::vector< double > force0
Definition bfgs.h:30
3 elements vector
Definition vector3.h:22