ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
fire.h
Go to the documentation of this file.
1#ifndef FIRE_H
2#define FIRE_H
3
4#include "md_base.h"
5
13class FIRE : public MD_base
14{
15 public:
16 FIRE(const Parameter& param_in, UnitCell& unit_in);
17
18 ~FIRE();
19
20 private:
21
22 void setup(ModuleESolver::ESolver* p_esolver, const std::string& global_readin_dir);
23
24 void first_half(std::ofstream& ofs);
25
26 void second_half();
27
28 void print_md(std::ofstream& ofs, const bool& cal_stress);
29
30 void restart(const std::string& global_readin_dir);
31
32 void write_restart(const std::string& global_out_dir);
33
37 void check_force(void);
38
42 void check_fire(void);
43
44 double max;
45 double alpha_start;
46 double alpha;
47 double finc;
48 double fdec;
49 double f_alpha;
50 int n_min;
51 double dt_max;
53 double force_thr;
54};
55
56#endif
FIRE method.
Definition fire.h:14
void second_half()
the second half of equation of motion, update velocities
Definition fire.cpp:60
int n_min
n_min
Definition fire.h:50
double alpha_start
alpha_start begin
Definition fire.h:45
void restart(const std::string &global_readin_dir)
restart MD when md_restart is true
Definition fire.cpp:112
double alpha
alpha begin
Definition fire.h:46
~FIRE()
Definition fire.cpp:25
void check_force(void)
check the atomic forces converged or not
Definition fire.cpp:156
void write_restart(const std::string &global_out_dir)
write the information into files used for MD restarting
Definition fire.cpp:88
void print_md(std::ofstream &ofs, const bool &cal_stress)
output MD information such as energy, temperature, and pressure
Definition fire.cpp:75
double f_alpha
f_alpha
Definition fire.h:49
double dt_max
dt_max
Definition fire.h:51
double finc
finc begin
Definition fire.h:47
void first_half(std::ofstream &ofs)
the first half of equation of motion, update velocities and positions
Definition fire.cpp:43
void check_fire(void)
update related parameters
Definition fire.cpp:180
double force_thr
force convergence threshold in FIRE method
Definition fire.h:53
void setup(ModuleESolver::ESolver *p_esolver, const std::string &global_readin_dir)
init before running md, calculate energy, force, and stress of the initial configuration.
Definition fire.cpp:29
int negative_count
Negative count.
Definition fire.h:52
double max
max force
Definition fire.h:44
double fdec
fdec begin
Definition fire.h:48
base class of md
Definition md_base.h:16
bool cal_stress
whether calculate stress
Definition md_base.h:93
Definition esolver.h:11
Definition parameter.h:13
Definition unitcell.h:16