ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
update_cell.h
Go to the documentation of this file.
1#ifndef UPDATE_CELL_H
2#define UPDATE_CELL_H
3
4#include "unitcell_data.h"
5#include "unitcell.h"
6
7/*
8this file is used to update the cell,contains the following functions:
91. remake_cell: for constrained vc-relaxation where type of lattice
10is fixed, adjust the lattice vectors
112. setup_cell_after_vc: setup cell after vc-relaxation
12the functions are defined in the namespace UnitCell,
13Accually, the functions are focused on the cell-relax part functions
14of the UnitCell class.
153. periodic_boundary_adjustment: adjust the boundary of the cell
164. update_pos_tau: update the Cartesian coordinate postion of the atoms
17*/
18namespace unitcell
19{
20 // for constrained vc-relaxation where type of lattice
21 // is fixed, adjust the lattice vectors
22 void remake_cell(Lattice& lat);
23
24 void setup_cell_after_vc(UnitCell& ucell, std::ofstream& log);
25
34 const ModuleBase::Matrix3& latvec,
35 const int ntype);
36
46 void update_pos_tau(const Lattice& lat,
47 const double* pos,
48 const int ntype,
49 const int nat,
50 Atom* atoms);
51
61 void update_pos_taud(const Lattice& lat,
62 const double* posd_in,
63 const int ntype,
64 const int nat,
65 Atom* atoms);
76 void update_pos_taud(const Lattice& lat,
77 const ModuleBase::Vector3<double>* posd_in,
78 const int ntype,
79 const int nat,
80 Atom* atoms);
89 void update_vel(const ModuleBase::Vector3<double>* vel_in,
90 const int ntype,
91 const int nat,
92 Atom* atoms);
93}
94//
95#endif // UPDATE_CELL_H
Definition atom_spec.h:7
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
3 elements vector
Definition vector3.h:22
Definition unitcell.h:16
Definition bcast_cell.cpp:9
void update_vel(const ModuleBase::Vector3< double > *vel_in, const int ntype, const int nat, Atom *atoms)
update the velocity of the atoms
Definition update_cell.cpp:454
void remake_cell(Lattice &lat)
Definition update_cell.cpp:8
void update_pos_tau(const Lattice &lat, const double *pos, const int ntype, const int nat, Atom *atoms)
update the position and tau of the atoms
Definition update_cell.cpp:372
void update_pos_taud(const Lattice &lat, const double *posd_in, const int ntype, const int nat, Atom *atoms)
update the position and tau of the atoms
Definition update_cell.cpp:403
void periodic_boundary_adjustment(Atom *atoms, const ModuleBase::Matrix3 &latvec, const int ntype)
check the boundary of the cell, for each atom,the taud in three directions should be in the range of ...
Definition update_cell.cpp:472
void setup_cell_after_vc(UnitCell &ucell, std::ofstream &log)
Definition update_cell.cpp:307
info of lattice
Definition unitcell_data.h:8