ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Lattice_Change_CG Class Reference

#include <lattice_change_cg.h>

Collaboration diagram for Lattice_Change_CG:

Public Member Functions

 Lattice_Change_CG ()
 
 ~Lattice_Change_CG ()
 
void allocate (void)
 
void start (UnitCell &ucell, const ModuleBase::matrix &stress_in, const double &etot)
 

Private Member Functions

void setup_cg_grad (double *grad, const double *grad0, double *cg_grad, const double *cg_grad0, const int &ncggrad, int &flag)
 
void setup_move (double *move, double *cg_gradn, const double &trust_radius)
 
void Brent (double &fa, double &fb, double &fc, double &xa, double &xb, double &xc, double &best_x, double &xpt)
 
void f_cal (const double *g0, const double *g1, const int &dim, double &f_value)
 
void third_order (const double &e0, const double &e1, const double &fa, const double &fb, const double x, double &best_x)
 

Private Attributes

double * lat0
 
double * grad0
 
double * cg_grad0
 
double * move0
 
double e0 =0.0
 

Constructor & Destructor Documentation

◆ Lattice_Change_CG()

Lattice_Change_CG::Lattice_Change_CG ( )

◆ ~Lattice_Change_CG()

Lattice_Change_CG::~Lattice_Change_CG ( )

Member Function Documentation

◆ allocate()

void Lattice_Change_CG::allocate ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Brent()

void Lattice_Change_CG::Brent ( double &  fa,
double &  fb,
double &  fc,
double &  xa,
double &  xb,
double &  xc,
double &  best_x,
double &  xpt 
)
private
Here is the caller graph for this function:

◆ f_cal()

void Lattice_Change_CG::f_cal ( const double *  g0,
const double *  g1,
const int &  dim,
double &  f_value 
)
private
Here is the caller graph for this function:

◆ setup_cg_grad()

void Lattice_Change_CG::setup_cg_grad ( double *  grad,
const double *  grad0,
double *  cg_grad,
const double *  cg_grad0,
const int &  ncggrad,
int &  flag 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_move()

void Lattice_Change_CG::setup_move ( double *  move,
double *  cg_gradn,
const double &  trust_radius 
)
private
Here is the caller graph for this function:

◆ start()

void Lattice_Change_CG::start ( UnitCell ucell,
const ModuleBase::matrix stress_in,
const double &  etot 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ third_order()

void Lattice_Change_CG::third_order ( const double &  e0,
const double &  e1,
const double &  fa,
const double &  fb,
const double  x,
double &  best_x 
)
private
Here is the caller graph for this function:

Member Data Documentation

◆ cg_grad0

double* Lattice_Change_CG::cg_grad0
private

◆ e0

double Lattice_Change_CG::e0 =0.0
private

◆ grad0

double* Lattice_Change_CG::grad0
private

◆ lat0

double* Lattice_Change_CG::lat0
private

◆ move0

double* Lattice_Change_CG::move0
private

The documentation for this class was generated from the following files: