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

#include <Mix_DMk_2D.h>

Collaboration diagram for Mix_DMk_2D:

Public Member Functions

Mix_DMk_2Dset_nks (const int nks, const bool gamma_only_in)
 Sets the number of k-points and gamma_only flag.
 
Mix_DMk_2Dset_mixing (Base_Mixing::Mixing *mixing_in)
 Sets the mixing mode.
 
Mix_DMk_2Dset_mixing_beta (const double mixing_beta)
 Sets the mixing beta.
 
void mix (const std::vector< std::vector< double > > &dm, const bool flag_restart)
 Mixes the double density matrix.
 
void mix (const std::vector< std::vector< std::complex< double > > > &dm, const bool flag_restart)
 Mixes the complex density matrix.
 
std::vector< const std::vector< double > * > get_DMk_gamma_out () const
 Returns the double density matrix.
 
std::vector< const std::vector< std::complex< double > > * > get_DMk_k_out () const
 Returns the complex density matrix.
 

Private Attributes

std::vector< Mix_Matrix< std::vector< double > > > mix_DMk_gamma
 
std::vector< Mix_Matrix< std::vector< std::complex< double > > > > mix_DMk_k
 
bool gamma_only
 

Member Function Documentation

◆ get_DMk_gamma_out()

std::vector< const std::vector< double > * > Mix_DMk_2D::get_DMk_gamma_out ( ) const

Returns the double density matrix.

Returns
Double density matrices for each k-points.
Here is the caller graph for this function:

◆ get_DMk_k_out()

std::vector< const std::vector< std::complex< double > > * > Mix_DMk_2D::get_DMk_k_out ( ) const

Returns the complex density matrix.

Returns
Complex density matrices for each k-points.
Here is the caller graph for this function:

◆ mix() [1/2]

void Mix_DMk_2D::mix ( const std::vector< std::vector< double > > &  dm,
const bool  flag_restart 
)

Mixes the double density matrix.

Parameters
dmDouble Density matrix.
flag_restartFlag indicating whether restart mixing.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mix() [2/2]

void Mix_DMk_2D::mix ( const std::vector< std::vector< std::complex< double > > > &  dm,
const bool  flag_restart 
)

Mixes the complex density matrix.

Parameters
dmComplex density matrix.
flag_restartFlag indicating whether restart mixing.
Here is the call graph for this function:

◆ set_mixing()

Mix_DMk_2D & Mix_DMk_2D::set_mixing ( Base_Mixing::Mixing mixing_in)

Sets the mixing mode.

Parameters
MixingMixing pointer.
Returns
Reference to the current object.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_mixing_beta()

Mix_DMk_2D & Mix_DMk_2D::set_mixing_beta ( const double  mixing_beta)

Sets the mixing beta.

Parameters
mixing_betaMixing beta.
Returns
Reference to the current object.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_nks()

Mix_DMk_2D & Mix_DMk_2D::set_nks ( const int  nks,
const bool  gamma_only_in 
)

Sets the number of k-points and gamma_only flag.

Parameters
nksNumber of k-points.
gamma_only_inFlag indicating if only gamma point is mixed.
Returns
Reference to the current object.
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ gamma_only

bool Mix_DMk_2D::gamma_only
private

◆ mix_DMk_gamma

std::vector<Mix_Matrix<std::vector<double> > > Mix_DMk_2D::mix_DMk_gamma
private

◆ mix_DMk_k

std::vector<Mix_Matrix<std::vector<std::complex<double> > > > Mix_DMk_2D::mix_DMk_k
private

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