ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
ModuleBase::Mathzone Class Reference

atomic coordinates conversion functions More...

#include <mathzone.h>

Collaboration diagram for ModuleBase::Mathzone:

Public Member Functions

 Mathzone ()
 
 ~Mathzone ()
 

Static Public Member Functions

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< Tlatvec_projection (const std::array< ModuleBase::Vector3< T >, 3 > &latvec)
 

Detailed Description

atomic coordinates conversion functions

Constructor & Destructor Documentation

◆ Mathzone()

ModuleBase::Mathzone::Mathzone ( )

◆ ~Mathzone()

ModuleBase::Mathzone::~Mathzone ( )

Member Function Documentation

◆ 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]cxCartesian coordinats
[in]cy
[in]cz
[in]R11Lattice 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]dxDirect coordinats
[out]dy
[out]dz
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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]dxDirect coordinats
[in]dy
[in]dz
[in]R11Lattice 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]cxCartesian coordinats
[out]cy
[out]cz
Here is the caller graph for this function:

◆ latvec_projection()

template<typename T >
static ModuleBase::Vector3< T > ModuleBase::Mathzone::latvec_projection ( const std::array< ModuleBase::Vector3< T >, 3 > &  latvec)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
Type
Parameters
[in]f1
[in]f2
Returns
std::vector<Type>
Author
Peize Lin (2016-08-03)
Here is the caller graph for this function:

The documentation for this class was generated from the following file: