TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
Loading...
Searching...
No Matches
triqs::modest::dc_solver

#include <triqs_modest/double_counting.hpp>

Detailed Description

Double counting "solver".

It implements the double counting correction for DFT+DMFT, which is a phenomenlogical introduced double counting the interactions already taken into account at the mean-field level within DFT. This class implements several double counting formulas (all of which are functions of the density) relevant for different scenarios.

Definition at line 39 of file double_counting.hpp.

Public Member Functions

 dc_solver (spin_kind_e spin_kind, std::string method, double U_int, double J_hund)
 Construct a double counting "solver".
 
double dc_energy (block_gf< imfreq, matrix_valued > const &gimp)
 Compute the double counting correction to the energy from a Green's function.
 
double dc_energy (nda::array< nda::matrix< dcomplex >, 2 > const &density_matrix)
 Compute the double counting correction to the energy from a density matrix.
 
std::vector< nda::matrix< dcomplex > > dc_self_energy (block_gf< imfreq, matrix_valued > const &gimp)
 Compute the double-counting self-energy from a Green's function.
 
std::vector< nda::matrix< dcomplex > > dc_self_energy (nda::array< nda::matrix< dcomplex >, 2 > const &density_matrix)
 Compute the double-counting self-energy from a density matrix.
 

Constructor & Destructor Documentation

◆ dc_solver()

triqs::modest::dc_solver::dc_solver ( spin_kind_e  spin_kind,
std::string  method,
double  U_int,
double  J_hund 
)

Construct a double counting "solver".

Parameters
spin_kindSpin kind of the correlated space (Polarized, NonPolarized, NonColinear).
methodDouble counting formula (method) to call (options: cFLL, sFLL, cAMF, sAMF, cHeld).
U_intHubbard \( U \) to use in the DC formula.
J_hundHund's coupling \( J \) to use in the DC formula.

Definition at line 79 of file double_counting.cpp.

Member Function Documentation

◆ dc_energy() [1/2]

double triqs::modest::dc_solver::dc_energy ( block_gf< imfreq, matrix_valued > const &  gimp)

Compute the double counting correction to the energy from a Green's function.

Parameters
gimpThe impurity Green's function which is used to calculate the orbital-resolved density matrices to evaluate the double counting formula.
Returns
Double counting energy \( E_{DC} \).

Definition at line 136 of file double_counting.cpp.

◆ dc_energy() [2/2]

double triqs::modest::dc_solver::dc_energy ( nda::array< nda::matrix< dcomplex >, 2 > const &  density_matrix)

Compute the double counting correction to the energy from a density matrix.

Parameters
density_matrixDensity matrix with shape [n_blocks, n_sigma].
Returns
Double counting energy \( E_{DC} \).

Definition at line 109 of file double_counting.cpp.

◆ dc_self_energy() [1/2]

std::vector< nda::matrix< dcomplex > > triqs::modest::dc_solver::dc_self_energy ( block_gf< imfreq, matrix_valued > const &  gimp)

Compute the double-counting self-energy from a Green's function.

Parameters
gimpThe impurity Green's function which is used to calculate the orbital-resolved density matrices to evaluate the double counting formula.
Returns
Double counting self-energy term.

Definition at line 131 of file double_counting.cpp.

◆ dc_self_energy() [2/2]

std::vector< nda::matrix< dcomplex > > triqs::modest::dc_solver::dc_self_energy ( nda::array< nda::matrix< dcomplex >, 2 > const &  density_matrix)

Compute the double-counting self-energy from a density matrix.

Parameters
density_matrixDensity matrix with shape [n_blocks, n_sigma].
Returns
Double counting self-energy term.

Definition at line 92 of file double_counting.cpp.


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