52 virtual void write_restart(
const std::string& global_out_dir);
59 virtual void restart(
const std::string& global_readin_dir);
base class of md
Definition md_base.h:16
double energy_
total energy of the system
Definition md_base.h:91
double md_dt
Time increment (hbar/E_hartree)
Definition md_base.h:95
ModuleBase::Vector3< double > * vel
atom velocity
Definition md_base.h:80
ModuleBase::matrix stress
stress for this lattice
Definition md_base.h:84
double potential
potential energy
Definition md_base.h:85
bool cal_stress
whether calculate stress
Definition md_base.h:93
virtual void update_pos()
perform one step update of pos due to atomic velocity
Definition md_base.cpp:90
virtual void restart(const std::string &global_readin_dir)
restart MD when md_restart is true
Definition md_base.cpp:246
ModuleBase::Vector3< double > * force
force of each atom
Definition md_base.h:82
virtual void write_restart(const std::string &global_out_dir)
write the information into files used for MD restarting
Definition md_base.cpp:226
double md_tfirst
Temperature (in Hartree, 1 Hartree ~ 3E5 K)
Definition md_base.h:96
UnitCell & ucell
unitcell information
Definition md_base.h:90
const MD_para & mdp
input parameters used in md
Definition md_base.h:89
ModuleBase::matrix virial
virial for this lattice
Definition md_base.h:83
int frozen_freedom_
the fixed freedom of the system
Definition md_base.h:77
virtual void print_md(std::ofstream &ofs, const bool &cal_stress)
output MD information such as energy, temperature, and pressure
Definition md_base.cpp:144
virtual 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 md_base.cpp:56
int step_
the MD step finished in current calculation
Definition md_base.h:75
virtual void update_vel(const ModuleBase::Vector3< double > *force)
perform half-step update of vel due to atomic force
Definition md_base.cpp:121
ModuleBase::Vector3< int > * ionmbl
atom is frozen or not
Definition md_base.h:81
int my_rank
MPI rank of the processor.
Definition md_base.h:94
double kinetic
kinetic energy
Definition md_base.h:86
double t_current
current temperature
Definition md_base.h:74
int step_rst_
the MD step finished in previous calculations
Definition md_base.h:76
virtual void second_half()
the second half of equation of motion, update velocities
Definition md_base.cpp:82
double * allmass
atom mass
Definition md_base.h:78
double md_tlast
Target temperature.
Definition md_base.h:97
virtual void first_half(std::ofstream &ofs)
the first half of equation of motion, update velocities and positions
Definition md_base.cpp:73
virtual ~MD_base()
Definition md_base.cpp:46
ModuleBase::Vector3< double > * pos
atom displacements liuyu modify 2023-03-22
Definition md_base.h:79
bool stop
MD stop or not.
Definition md_base.h:73
3 elements vector
Definition vector3.h:22
Definition parameter.h:13
input parameters used in md
Definition md_parameter.h:12