#include <cal_pLpR.h>
|
| AngularMomentumCalculator ()=delete |
|
| AngularMomentumCalculator (const std::string &orbital_dir, const UnitCell &ucell, const double &search_radius, const int tdestructor, const int tgrid, const int tatom, const bool searchpbc, std::ofstream *ptr_log=nullptr, const int rank=0) |
| Construct a new Angular Momentum Expectation Calculator object.
|
|
| ~AngularMomentumCalculator ()=default |
|
void | calculate (const std::string &prefix, const std::string &outdir, const UnitCell &ucell, const int precision=10, const int rank=0) |
|
|
void | kernel (std::ofstream *ofs, const UnitCell &ucell, const char dir='x', const int precision=10) |
| calculate the <phi_i|Lx/Ly/Lz|phi_j> matrix elements. Due to the large size of the matrix, the result will be printed to file directly.
|
|
◆ AngularMomentumCalculator() [1/2]
ModuleIO::AngularMomentumCalculator::AngularMomentumCalculator |
( |
| ) |
|
|
delete |
◆ AngularMomentumCalculator() [2/2]
ModuleIO::AngularMomentumCalculator::AngularMomentumCalculator |
( |
const std::string & |
orbital_dir, |
|
|
const UnitCell & |
ucell, |
|
|
const double & |
search_radius, |
|
|
const int |
tdestructor, |
|
|
const int |
tgrid, |
|
|
const int |
tatom, |
|
|
const bool |
searchpbc, |
|
|
std::ofstream * |
ptr_log = nullptr , |
|
|
const int |
rank = 0 |
|
) |
| |
Construct a new Angular Momentum Expectation Calculator object.
- Parameters
-
orbital_dir | the directory of the orbital file |
ucell | the unit cell object |
search_radius | the search radius for the neighboring atoms |
tdestructor | test flag, for destructor |
tgrid | test flag, for grid |
tatom | test flag, for atom input |
searchpbc | |
ptr_log | pointer to the ofstream object for logging |
◆ ~AngularMomentumCalculator()
ModuleIO::AngularMomentumCalculator::~AngularMomentumCalculator |
( |
| ) |
|
|
default |
◆ calculate()
void ModuleIO::AngularMomentumCalculator::calculate |
( |
const std::string & |
prefix, |
|
|
const std::string & |
outdir, |
|
|
const UnitCell & |
ucell, |
|
|
const int |
precision = 10 , |
|
|
const int |
rank = 0 |
|
) |
| |
◆ kernel()
void ModuleIO::AngularMomentumCalculator::kernel |
( |
std::ofstream * |
ofs, |
|
|
const UnitCell & |
ucell, |
|
|
const char |
dir = 'x' , |
|
|
const int |
precision = 10 |
|
) |
| |
|
private |
calculate the <phi_i|Lx/Ly/Lz|phi_j> matrix elements. Due to the large size of the matrix, the result will be printed to file directly.
- Parameters
-
ofs | pointer to the ofstream object for printing, if nullptr, the result will not be printed |
ucell | the unit cell object |
dir | the direction of the angular momentum operator, 'x', 'y' or 'z' |
precision | the precision of the output, default is 10 |
◆ calculator_
◆ neighbor_searcher_
std::unique_ptr<Grid_Driver> ModuleIO::AngularMomentumCalculator::neighbor_searcher_ |
|
private |
◆ ofs_
std::ofstream* ModuleIO::AngularMomentumCalculator::ofs_ |
|
private |
◆ orb_
◆ sbt_
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_io/cal_pLpR.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_io/cal_pLpR.cpp