ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
lattice_change_cg.h
Go to the documentation of this file.
1#ifndef LATTICE_CHANGE_CG_H
2#define LATTICE_CHANGE_CG_H
3
7{
8
9 public:
12
13 void allocate(void);
14 void start(UnitCell &ucell, const ModuleBase::matrix &stress_in, const double &etot);
15
16 private:
17 double *lat0;
18 double *grad0;
19 double *cg_grad0;
20 double *move0;
21 double e0=0.0;
22
23 // setup gradients.
24 void setup_cg_grad(double *grad,
25 const double *grad0,
26 double *cg_grad,
27 const double *cg_grad0,
28 const int &ncggrad,
29 int &flag);
30
31 void setup_move(double *move, double *cg_gradn, const double &trust_radius);
32
33 void Brent(double &fa, double &fb, double &fc, double &xa, double &xb, double &xc, double &best_x, double &xpt);
34
35 void f_cal(const double *g0, const double *g1, const int &dim, double &f_value);
36
37 void third_order(const double &e0,
38 const double &e1,
39 const double &fa,
40 const double &fb,
41 const double x,
42 double &best_x);
43};
44
45#endif
Definition lattice_change_cg.h:7
void setup_cg_grad(double *grad, const double *grad0, double *cg_grad, const double *cg_grad0, const int &ncggrad, int &flag)
Definition lattice_change_cg.cpp:315
void third_order(const double &e0, const double &e1, const double &fa, const double &fb, const double x, double &best_x)
Definition lattice_change_cg.cpp:375
void f_cal(const double *g0, const double *g1, const int &dim, double &f_value)
Definition lattice_change_cg.cpp:488
double * move0
Definition lattice_change_cg.h:20
double * lat0
Definition lattice_change_cg.h:17
double e0
Definition lattice_change_cg.h:21
~Lattice_Change_CG()
Definition lattice_change_cg.cpp:33
double * grad0
Definition lattice_change_cg.h:18
void Brent(double &fa, double &fb, double &fc, double &xa, double &xb, double &xc, double &best_x, double &xpt)
Definition lattice_change_cg.cpp:416
double * cg_grad0
Definition lattice_change_cg.h:19
void setup_move(double *move, double *cg_gradn, const double &trust_radius)
Definition lattice_change_cg.cpp:506
void allocate(void)
Definition lattice_change_cg.cpp:41
Lattice_Change_CG()
Definition lattice_change_cg.cpp:25
Definition matrix.h:19
Definition unitcell.h:16
iclock::time_point start
Definition test_partition.cpp:22