ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
verlet.h
Go to the documentation of this file.
1#ifndef VERLET_H
2#define VERLET_H
3
4#include "md_base.h"
5
10class Verlet : public MD_base
11{
12 public:
13 Verlet(const Parameter& param_in, UnitCell& unit_in);
14 ~Verlet();
15
16 private:
17 void setup(ModuleESolver::ESolver* p_esolver, const std::string& global_readin_dir);
18 void first_half(std::ofstream& ofs);
19 void second_half();
20 void restart(const std::string& global_readin_dir);
21 void print_md(std::ofstream& ofs, const bool& cal_stress);
22 void write_restart(const std::string& global_out_dir);
23
28 void apply_thermostat();
29
37 void thermalize(const int& nraise, const double& current_temp, const double& target_temp);
38};
39
40#endif
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
the md methods based on the velocity-Verlet equation
Definition verlet.h:11
void thermalize(const int &nraise, const double &current_temp, const double &target_temp)
rescale atomic velocities
Definition verlet.cpp:110
void print_md(std::ofstream &ofs, const bool &cal_stress)
output MD information such as energy, temperature, and pressure
Definition verlet.cpp:129
void second_half()
the second half of equation of motion, update velocities
Definition verlet.cpp:38
~Verlet()
Definition verlet.cpp:10
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 verlet.cpp:15
void write_restart(const std::string &global_out_dir)
write the information into files used for MD restarting
Definition verlet.cpp:136
void first_half(std::ofstream &ofs)
the first half of equation of motion, update velocities and positions
Definition verlet.cpp:26
void restart(const std::string &global_readin_dir)
restart MD when md_restart is true
Definition verlet.cpp:143
void apply_thermostat()
apply specifical thermostats according to the input para
Definition verlet.cpp:50