#include <bfgs.h>
|
| 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) |
| |
| void | IsRestrain () |
| |
| void | CalculateLargestGrad (const ModuleBase::matrix &_force, UnitCell &ucell) |
| |
| void | GetPos (UnitCell &ucell, std::vector< ModuleBase::Vector3< double > > &pos) |
| |
| void | GetPostaud (UnitCell &ucell, std::vector< ModuleBase::Vector3< double > > &pos_taud) |
| |
| void | Update (std::vector< double > &pos, std::vector< double > &force, std::vector< std::vector< double > > &H, UnitCell &ucell) |
| |
| void | DetermineStep (std::vector< double > &steplength, std::vector< ModuleBase::Vector3< double > > &dpos, double &maxstep) |
| |
| void | UpdatePos (UnitCell &ucell) |
| |
◆ allocate()
| void BFGS::allocate |
( |
const int |
_size | ) |
|
initialize H0、H、pos0、force0、force
◆ CalculateLargestGrad()
◆ DetermineStep()
| void BFGS::DetermineStep |
( |
std::vector< double > & |
steplength, |
|
|
std::vector< ModuleBase::Vector3< double > > & |
dpos, |
|
|
double & |
maxstep |
|
) |
| |
|
private |
◆ GetPos()
◆ GetPostaud()
◆ IsRestrain()
| void BFGS::IsRestrain |
( |
| ) |
|
|
private |
◆ PrepareStep()
| void BFGS::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 |
|
) |
| |
|
private |
◆ relax_step()
◆ Update()
| void BFGS::Update |
( |
std::vector< double > & |
pos, |
|
|
std::vector< double > & |
force, |
|
|
std::vector< std::vector< double > > & |
H, |
|
|
UnitCell & |
ucell |
|
) |
| |
|
private |
◆ UpdatePos()
| void BFGS::UpdatePos |
( |
UnitCell & |
ucell | ) |
|
|
private |
◆ alpha
◆ dpos
◆ force
◆ force0
| std::vector<double> BFGS::force0 |
|
private |
| std::vector<std::vector<double> > BFGS::H |
|
private |
◆ largest_grad
| double BFGS::largest_grad |
|
private |
◆ maxstep
◆ pos
◆ pos0
| std::vector<double> BFGS::pos0 |
|
private |
◆ pos_taud
◆ pos_taud0
| std::vector<double> BFGS::pos_taud0 |
|
private |
◆ sign
◆ size
◆ steplength
| std::vector<double> BFGS::steplength |
|
private |
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_relax/bfgs.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_relax/bfgs.cpp