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

#include <symmetry_rho.h>

Collaboration diagram for Symmetry_rho:

Public Member Functions

 Symmetry_rho ()
 
 ~Symmetry_rho ()
 
void begin (const int &spin_now, const Charge &CHR, const ModulePW::PW_Basis *pw, ModuleSymmetry::Symmetry &symm) const
 
void begin (const int &spin_now, double **rho, std::complex< double > **rhog, int ngmc, double **kin_r, const ModulePW::PW_Basis *pw, ModuleSymmetry::Symmetry &symm) const
 

Static Public Member Functions

static void symmetrize_rho (const int nspin, const Charge &chr, const ModulePW::PW_Basis *pw, ModuleSymmetry::Symmetry &symm)
 Symmetrize charge density for all spin channels.
 

Private Member Functions

void psymm (double *rho_part, const ModulePW::PW_Basis *pw, Parallel_Grid &Pgrid, ModuleSymmetry::Symmetry &symm) const
 
void psymmg (std::complex< double > *rhog_part, const ModulePW::PW_Basis *rho_basis, ModuleSymmetry::Symmetry &symm) const
 
void reduce_to_fullrhog (const ModulePW::PW_Basis *rho_basis, std::complex< double > *rhogtot, std::complex< double > *rhogin, int *ig2isztot, const int *ig2iszin, int max_npw) const
 
void rhog_piece_to_all (const ModulePW::PW_Basis *rho_basis, std::complex< double > *rhogtot, std::complex< double > *rhog_part) const
 
void get_ixyz2ipw (const ModulePW::PW_Basis *rho_basis, const int *ig2isztot, const int *fftixy2is, int *ixyz2ipw) const
 

Constructor & Destructor Documentation

◆ Symmetry_rho()

Symmetry_rho::Symmetry_rho ( )

◆ ~Symmetry_rho()

Symmetry_rho::~Symmetry_rho ( )

Member Function Documentation

◆ begin() [1/2]

void Symmetry_rho::begin ( const int &  spin_now,
const Charge CHR,
const ModulePW::PW_Basis pw,
ModuleSymmetry::Symmetry symm 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ begin() [2/2]

void Symmetry_rho::begin ( const int &  spin_now,
double **  rho,
std::complex< double > **  rhog,
int  ngmc,
double **  kin_r,
const ModulePW::PW_Basis pw,
ModuleSymmetry::Symmetry symm 
) const
Here is the call graph for this function:

◆ get_ixyz2ipw()

void Symmetry_rho::get_ixyz2ipw ( const ModulePW::PW_Basis rho_basis,
const int *  ig2isztot,
const int *  fftixy2is,
int *  ixyz2ipw 
) const
private
Here is the caller graph for this function:

◆ psymm()

void Symmetry_rho::psymm ( double *  rho_part,
const ModulePW::PW_Basis pw,
Parallel_Grid Pgrid,
ModuleSymmetry::Symmetry symm 
) const
private
Here is the call graph for this function:

◆ psymmg()

void Symmetry_rho::psymmg ( std::complex< double > *  rhog_part,
const ModulePW::PW_Basis rho_basis,
ModuleSymmetry::Symmetry symm 
) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reduce_to_fullrhog()

void Symmetry_rho::reduce_to_fullrhog ( const ModulePW::PW_Basis rho_basis,
std::complex< double > *  rhogtot,
std::complex< double > *  rhogin,
int *  ig2isztot,
const int *  ig2iszin,
int  max_npw 
) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rhog_piece_to_all()

void Symmetry_rho::rhog_piece_to_all ( const ModulePW::PW_Basis rho_basis,
std::complex< double > *  rhogtot,
std::complex< double > *  rhog_part 
) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ symmetrize_rho()

void Symmetry_rho::symmetrize_rho ( const int  nspin,
const Charge chr,
const ModulePW::PW_Basis pw,
ModuleSymmetry::Symmetry symm 
)
static

Symmetrize charge density for all spin channels.

This is a static helper function that symmetrizes the charge density for all spin channels by calling begin() for each spin.

Parameters
nspinNumber of spin channels
chrCharge object containing the density
pwPlane wave basis
symmSymmetry object
Here is the call graph for this function:
Here is the caller graph for this function:

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