atomic coordinates conversion functions
More...
#include <mathzone.h>
|
template<typename Type > |
static std::vector< Type > | Pointwise_Product (const std::vector< Type > &f1, const std::vector< Type > &f2) |
| Pointwise product of two vectors with same size.
|
|
static void | Direct_to_Cartesian (const double &dx, const double &dy, const double &dz, const double &R11, const double &R12, const double &R13, const double &R21, const double &R22, const double &R23, const double &R31, const double &R32, const double &R33, double &cx, double &cy, double &cz) |
| change direct coordinate (dx,dy,dz) to Cartesian coordinate (cx,cy,cz), (dx,dy,dz) = (cx,cy,cz) * R
|
|
static void | Cartesian_to_Direct (const double &cx, const double &cy, const double &cz, const double &R11, const double &R12, const double &R13, const double &R21, const double &R22, const double &R23, const double &R31, const double &R32, const double &R33, double &dx, double &dy, double &dz) |
| Change Cartesian coordinate (cx,cy,cz) to direct coordinate (dx,dy,dz), (cx,cy,cz) = (dx,dy,dz) * R^(-1)
|
|
template<typename T > |
static ModuleBase::Vector3< T > | latvec_projection (const std::array< ModuleBase::Vector3< T >, 3 > &latvec) |
|
atomic coordinates conversion functions
◆ Mathzone()
ModuleBase::Mathzone::Mathzone |
( |
| ) |
|
◆ ~Mathzone()
ModuleBase::Mathzone::~Mathzone |
( |
| ) |
|
◆ Cartesian_to_Direct()
static void ModuleBase::Mathzone::Cartesian_to_Direct |
( |
const double & |
cx, |
|
|
const double & |
cy, |
|
|
const double & |
cz, |
|
|
const double & |
R11, |
|
|
const double & |
R12, |
|
|
const double & |
R13, |
|
|
const double & |
R21, |
|
|
const double & |
R22, |
|
|
const double & |
R23, |
|
|
const double & |
R31, |
|
|
const double & |
R32, |
|
|
const double & |
R33, |
|
|
double & |
dx, |
|
|
double & |
dy, |
|
|
double & |
dz |
|
) |
| |
|
inlinestatic |
Change Cartesian coordinate (cx,cy,cz) to direct coordinate (dx,dy,dz), (cx,cy,cz) = (dx,dy,dz) * R^(-1)
- Parameters
-
[in] | cx | Cartesian coordinats |
[in] | cy | |
[in] | cz | |
[in] | R11 | Lattice vector matrix R_ij: i_row, j_column |
[in] | R12 | |
[in] | R13 | |
[in] | R21 | |
[in] | R22 | |
[in] | R23 | |
[in] | R31 | |
[in] | R32 | |
[in] | R33 | |
[out] | dx | Direct coordinats |
[out] | dy | |
[out] | dz | |
◆ Direct_to_Cartesian()
static void ModuleBase::Mathzone::Direct_to_Cartesian |
( |
const double & |
dx, |
|
|
const double & |
dy, |
|
|
const double & |
dz, |
|
|
const double & |
R11, |
|
|
const double & |
R12, |
|
|
const double & |
R13, |
|
|
const double & |
R21, |
|
|
const double & |
R22, |
|
|
const double & |
R23, |
|
|
const double & |
R31, |
|
|
const double & |
R32, |
|
|
const double & |
R33, |
|
|
double & |
cx, |
|
|
double & |
cy, |
|
|
double & |
cz |
|
) |
| |
|
inlinestatic |
change direct coordinate (dx,dy,dz) to Cartesian coordinate (cx,cy,cz), (dx,dy,dz) = (cx,cy,cz) * R
- Parameters
-
[in] | dx | Direct coordinats |
[in] | dy | |
[in] | dz | |
[in] | R11 | Lattice vector matrix R_ij: i_row, j_column |
[in] | R12 | |
[in] | R13 | |
[in] | R21 | |
[in] | R22 | |
[in] | R23 | |
[in] | R31 | |
[in] | R32 | |
[in] | R33 | |
[out] | cx | Cartesian coordinats |
[out] | cy | |
[out] | cz | |
◆ latvec_projection()
◆ Pointwise_Product()
template<typename Type >
static std::vector< Type > ModuleBase::Mathzone::Pointwise_Product |
( |
const std::vector< Type > & |
f1, |
|
|
const std::vector< Type > & |
f2 |
|
) |
| |
|
inlinestatic |
Pointwise product of two vectors with same size.
- Template Parameters
-
- Parameters
-
- Returns
- std::vector<Type>
- Author
- Peize Lin (2016-08-03)
The documentation for this class was generated from the following file:
- /home/runner/work/abacus-develop/abacus-develop/source/source_base/mathzone.h