5#ifndef SYMMETRY_BASIC_H
6#define SYMMETRY_BASIC_H
24 bool equal(
const double &m,
const double &n)
const;
28 double check_diff(
const double& x1,
const double& x2)
const;
45 int i,
int j,
int k,
const int,
const int,
const int,
int&,
int&,
int&);
50 int subgroup(
const int& nrot,
const int& ninv,
const int& nc2,
const int& nc3,
const int& nc4,
const int& nc6,
51 const int& ns1,
const int& ns3,
const int& ns4,
const int& ns6)
const;
61 void order_atoms(
double* pos,
const int &nat,
const int *index)
const;
62 void order_y(
double *pos,
const int &oldpos,
const int &newpos);
63 void order_z(
double *pos,
const int &oldpos,
const int &newpos);
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
3 elements vector
Definition vector3.h:22
Definition symmetry_basic.h:14
void rotate(ModuleBase::Matrix3 &gmatrix, ModuleBase::Vector3< double > >rans, int i, int j, int k, const int, const int, const int, int &, int &, int &)
Definition symmetry_basic.cpp:861
bool pointgroup(const int &nrot, int &pgnumber, std::string &pgname, const ModuleBase::Matrix3 *gmatrix, std::ofstream &ofs_running) const
Definition symmetry_basic.cpp:549
void order_atoms(double *pos, const int &nat, const int *index) const
Definition symmetry_basic.cpp:82
double get_translation_vector(const double &x1, const double &x2) const
Definition symmetry_basic.cpp:52
~Symmetry_Basic()
Definition symmetry_basic.h:18
double epsilon
the precision of symmetry operation
Definition symmetry_basic.h:20
double epsilon_input
the input value of symmetry_prec, should not be changed
Definition symmetry_basic.h:21
void check_boundary(double &x) const
Definition symmetry_basic.cpp:47
void order_z(double *pos, const int &oldpos, const int &newpos)
void matrigen(ModuleBase::Matrix3 *symgen, const int ngen, ModuleBase::Matrix3 *symop, int &nop) const
Definition symmetry_basic.cpp:185
void test_atom_ordering(double *posi, const int natom, int *subindex) const
Definition symmetry_basic.cpp:971
bool equal(const double &m, const double &n) const
Definition symmetry_basic.cpp:36
int subgroup(const int &nrot, const int &ninv, const int &nc2, const int &nc3, const int &nc4, const int &nc6, const int &ns1, const int &ns3, const int &ns4, const int &ns6) const
Definition symmetry_basic.cpp:469
void check_translation(double &x, const double &t) const
Definition symmetry_basic.cpp:61
std::string get_brav_name(const int ibrav) const
Definition symmetry_basic.cpp:11
Symmetry_Basic()
Definition symmetry_basic.h:17
void veccon(double *va, double *vb, const int num, const ModuleBase::Vector3< double > &aa1, const ModuleBase::Vector3< double > &aa2, const ModuleBase::Vector3< double > &aa3, const ModuleBase::Vector3< double > &bb1, const ModuleBase::Vector3< double > &bb2, const ModuleBase::Vector3< double > &bb3)
Definition symmetry_basic.cpp:115
void setgroup(ModuleBase::Matrix3 *symop, int &nop, const int &ibrav) const
Definition symmetry_basic.cpp:328
void atom_ordering_new(double *posi, const int natom, int *subindex) const
Definition symmetry_basic.cpp:901
void order_y(double *pos, const int &oldpos, const int &newpos)
double check_diff(const double &x1, const double &x2) const
Definition symmetry_basic.cpp:69
void atom_ordering(double *posi, const int natom, int *subindex)
Definition symm_other.cpp:4
bool test_brav
Definition symmetry_basic.cpp:6