ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
the output interface to write the Mulliken population charges More...
#include <output_mulliken.h>
Public Member Functions | |
Output_Mulliken (Output_Sk< TK > *output_sk, Output_DMK< TK > *output_dmk, Parallel_Orbitals *ParaV, CellIndex *cell_index, const std::vector< int > &isk, int nspin) | |
constructor of Output_Mulliken | |
void | write (int istep, std::string out_dir) |
the outer interface to write the Mulliken population charges | |
void | print_atom_mag (const std::vector< std::vector< double > > &atom_chg, std::ostream &os) |
print atom mag to running log file | |
std::vector< double > | get_tot_chg () |
get total charge | |
std::vector< std::vector< double > > | get_atom_chg () |
get atom charge | |
std::map< std::vector< int >, double > | get_orb_chg () |
get orbital charge | |
std::vector< std::vector< double > > | get_atom_mulliken (std::vector< std::vector< double > > &atom_chg) |
returun atom_mulliken for updateing STRU file | |
Private Member Functions | |
void | write_mulliken_nspin1 (int istep, const std::vector< double > &tot_chg, const std::vector< std::vector< double > > &atom_chg, std::map< std::vector< int >, double > orb_chg, std::ofstream &os) |
write mulliken.txt for the case of nspin=1 | |
void | write_mulliken_nspin2 (int istep, const std::vector< double > &tot_chg, const std::vector< std::vector< double > > &atom_chg, std::map< std::vector< int >, double > orb_chg, std::ofstream &os) |
write mulliken.txt for the case of nspin=2 | |
void | write_mulliken_nspin4 (int istep, const std::vector< double > &tot_chg, const std::vector< std::vector< double > > &atom_chg, std::map< std::vector< int >, double > orb_chg, std::ofstream &os) |
write mulliken.txt for the case of nspin=4 | |
void | set_nspin (int nspin_in) |
set nspin | |
void | set_ParaV (Parallel_Orbitals *ParaV_in) |
set orbital parallel info | |
void | collect_MW (ModuleBase::matrix &MecMulP, const ModuleBase::ComplexMatrix &mud, int nw, int isk) |
collect_mw from matrix multiplication result | |
void | cal_orbMulP () |
mulliken population = trace(dm*overlap) | |
void | cal_orbMulP () |
void | cal_orbMulP () |
Private Attributes | |
Output_Sk< TK > * | output_sk_ = nullptr |
Output_DMK< TK > * | output_dmk_ = nullptr |
Parallel_Orbitals * | ParaV_ = nullptr |
CellIndex * | cell_index_ = nullptr |
const std::vector< int > & | isk_ |
int | nspin_ |
ModuleBase::matrix | orbMulP_ |
the output interface to write the Mulliken population charges
ModuleIO::Output_Mulliken< TK >::Output_Mulliken | ( | Output_Sk< TK > * | output_sk, |
Output_DMK< TK > * | output_dmk, | ||
Parallel_Orbitals * | ParaV, | ||
CellIndex * | cell_index, | ||
const std::vector< int > & | isk, | ||
int | nspin | ||
) |
|
private |
|
private |
|
private |
mulliken population = trace(dm*overlap)
|
private |
collect_mw from matrix multiplication result
std::vector< std::vector< double > > ModuleIO::Output_Mulliken< TK >::get_atom_chg | ( | ) |
get atom charge
std::vector< std::vector< double > > ModuleIO::Output_Mulliken< TK >::get_atom_mulliken | ( | std::vector< std::vector< double > > & | atom_chg | ) |
returun atom_mulliken for updateing STRU file
std::map< std::vector< int >, double > ModuleIO::Output_Mulliken< TK >::get_orb_chg | ( | ) |
get orbital charge
std::vector< double > ModuleIO::Output_Mulliken< TK >::get_tot_chg | ( | ) |
get total charge
void ModuleIO::Output_Mulliken< TK >::print_atom_mag | ( | const std::vector< std::vector< double > > & | atom_chg, |
std::ostream & | os | ||
) |
print atom mag to running log file
output mag in polar coordinates
do nothing due to no mag info available
|
private |
set nspin
|
private |
set orbital parallel info
set ParaV
void ModuleIO::Output_Mulliken< TK >::write | ( | int | istep, |
std::string | out_dir | ||
) |
the outer interface to write the Mulliken population charges
|
private |
write mulliken.txt for the case of nspin=1
step info
orbital decomposed mulliken populations
header of the table
loop of L
|
private |
write mulliken.txt for the case of nspin=2
step info
orbital decomposed mulliken populations
header of the table
loop of L
|
private |
write mulliken.txt for the case of nspin=4
step info
orbital decomposed mulliken populations
header of the table
loop of L
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |