#include <symmetry_basic.h>
|
| Symmetry_Basic () |
|
| ~Symmetry_Basic () |
|
bool | equal (const double &m, const double &n) const |
|
void | check_boundary (double &x) const |
|
double | get_translation_vector (const double &x1, const double &x2) const |
|
void | check_translation (double &x, const double &t) const |
|
double | check_diff (const double &x1, const double &x2) const |
|
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) |
|
void | matrigen (ModuleBase::Matrix3 *symgen, const int ngen, ModuleBase::Matrix3 *symop, int &nop) const |
|
void | setgroup (ModuleBase::Matrix3 *symop, int &nop, const int &ibrav) const |
|
void | rotate (ModuleBase::Matrix3 &gmatrix, ModuleBase::Vector3< double > >rans, int i, int j, int k, const int, const int, const int, int &, int &, int &) |
|
void | test_atom_ordering (double *posi, const int natom, int *subindex) const |
|
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 |
|
bool | pointgroup (const int &nrot, int &pgnumber, std::string &pgname, const ModuleBase::Matrix3 *gmatrix, std::ofstream &ofs_running) const |
|
|
double | epsilon |
| the precision of symmetry operation
|
|
double | epsilon_input |
| the input value of symmetry_prec, should not be changed
|
|
|
void | order_atoms (double *pos, const int &nat, const int *index) const |
|
void | order_y (double *pos, const int &oldpos, const int &newpos) |
|
void | order_z (double *pos, const int &oldpos, const int &newpos) |
|
◆ Symmetry_Basic()
ModuleSymmetry::Symmetry_Basic::Symmetry_Basic |
( |
| ) |
|
|
inline |
◆ ~Symmetry_Basic()
ModuleSymmetry::Symmetry_Basic::~Symmetry_Basic |
( |
| ) |
|
|
inline |
◆ atom_ordering()
void ModuleSymmetry::Symmetry_Basic::atom_ordering |
( |
double * |
posi, |
|
|
const int |
natom, |
|
|
int * |
subindex |
|
) |
| |
|
protected |
◆ atom_ordering_new()
void ModuleSymmetry::Symmetry_Basic::atom_ordering_new |
( |
double * |
posi, |
|
|
const int |
natom, |
|
|
int * |
subindex |
|
) |
| const |
|
protected |
◆ check_boundary()
void ModuleSymmetry::Symmetry_Basic::check_boundary |
( |
double & |
x | ) |
const |
◆ check_diff()
double ModuleSymmetry::Symmetry_Basic::check_diff |
( |
const double & |
x1, |
|
|
const double & |
x2 |
|
) |
| const |
◆ check_translation()
void ModuleSymmetry::Symmetry_Basic::check_translation |
( |
double & |
x, |
|
|
const double & |
t |
|
) |
| const |
◆ equal()
bool ModuleSymmetry::Symmetry_Basic::equal |
( |
const double & |
m, |
|
|
const double & |
n |
|
) |
| const |
◆ get_brav_name()
std::string ModuleSymmetry::Symmetry_Basic::get_brav_name |
( |
const int |
ibrav | ) |
const |
|
protected |
◆ get_translation_vector()
double ModuleSymmetry::Symmetry_Basic::get_translation_vector |
( |
const double & |
x1, |
|
|
const double & |
x2 |
|
) |
| const |
◆ matrigen()
◆ order_atoms()
void ModuleSymmetry::Symmetry_Basic::order_atoms |
( |
double * |
pos, |
|
|
const int & |
nat, |
|
|
const int * |
index |
|
) |
| const |
|
private |
◆ order_y()
void ModuleSymmetry::Symmetry_Basic::order_y |
( |
double * |
pos, |
|
|
const int & |
oldpos, |
|
|
const int & |
newpos |
|
) |
| |
|
private |
◆ order_z()
void ModuleSymmetry::Symmetry_Basic::order_z |
( |
double * |
pos, |
|
|
const int & |
oldpos, |
|
|
const int & |
newpos |
|
) |
| |
|
private |
◆ pointgroup()
bool ModuleSymmetry::Symmetry_Basic::pointgroup |
( |
const int & |
nrot, |
|
|
int & |
pgnumber, |
|
|
std::string & |
pgname, |
|
|
const ModuleBase::Matrix3 * |
gmatrix, |
|
|
std::ofstream & |
ofs_running |
|
) |
| const |
◆ rotate()
void ModuleSymmetry::Symmetry_Basic::rotate |
( |
ModuleBase::Matrix3 & |
gmatrix, |
|
|
ModuleBase::Vector3< double > & |
gtrans, |
|
|
int |
i, |
|
|
int |
j, |
|
|
int |
k, |
|
|
const int |
nr1, |
|
|
const int |
nr2, |
|
|
const int |
nr3, |
|
|
int & |
ri, |
|
|
int & |
rj, |
|
|
int & |
rk |
|
) |
| |
◆ setgroup()
void ModuleSymmetry::Symmetry_Basic::setgroup |
( |
ModuleBase::Matrix3 * |
symop, |
|
|
int & |
nop, |
|
|
const int & |
ibrav |
|
) |
| const |
◆ subgroup()
int ModuleSymmetry::Symmetry_Basic::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 |
find out the greatest subgrop according to the number of operations of certain type. used to deal with incomplete group due to a subtlesymmetry_prec
◆ test_atom_ordering()
void ModuleSymmetry::Symmetry_Basic::test_atom_ordering |
( |
double * |
posi, |
|
|
const int |
natom, |
|
|
int * |
subindex |
|
) |
| const |
◆ veccon()
◆ epsilon
double ModuleSymmetry::Symmetry_Basic::epsilon |
the precision of symmetry operation
◆ epsilon_input
double ModuleSymmetry::Symmetry_Basic::epsilon_input |
the input value of symmetry_prec, should not be changed
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_cell/module_symmetry/symmetry_basic.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_cell/module_symmetry/symmetry_basic.cpp