Expand
Collapse
Notes:
- DMFT general
- Une autre page du CEA, sur la méthode de champ moyen dynamique par O. Parcollet
- Here's a thesis by Kristjan Haule on DMFT
- DMFT-LMTO code
- Bulk properties, J. K. Freericks, Transport in Multilayered Nanostructures, the dynamical mean-field theory approach (Imperial College Press, London, 2006) We deal with SCALARS
- Most of the ideas are presented, besides the Cluster method.
- General algorithm: G is a scalar function in this case
- Give an initial Σ, the self-energy (it looks like a null Σ is usually chosen.)
- Evaluate the Hilbert Transform eq. (2.92), page 66 (it is a function of the spectral density ρ, the chemical potential μ, and the self-energy Σ. One then obtain Gloc(z), the local Green's funtion, z is the (complex) frequency iω. That equation is:
Gloc(z) = ∫ dε ρ(ε) 1/(z + μ - Σ(z) - ε)
- Use Dyson's equation to find the effective medium G0, the inputs being the self-energy Σ and the local Green's function Gloc. That equation is:
G0(z) = 1/{[Gloc(z)]-1 + Σ(z)}
- Solve the impurity problem using the Equation Of Motion (EOM). If I understand well, in the case of the Falikov-Kimball, the impurity solver is an Anderson problem, not sure. That part involves the NRG method. The impurity solvers is discussed on pages 67 and further for the bulk. That gives Gimp(z). There are a series of issues I don't understant yet: the evolution operator is defined on eq. (2.80) but I don't know what it mange en hiver? Does it have to do with the propagator?
- At this point in the algorithm, we have Gloc(z), Gimp(z), G0(z), and a &Sigma that is not consistent to the impurity problem, but that is consistent with the G0 and Gloc, see above. We update the value of Σ again by using Dyson's equation. That equation, inverted for Σ, is: Σ(z) = [G0(z)]-1 - [Gimp(z)]-1. Now, the new Σ is not consistent with G0(z) anymore, the effective Green's function, nor Gloc.
- The chemical potential μ is updated. How? I don't know. It is calculated with the ''filling''. That is probably determined from the spectral density, (See Economou) then you find a Fermi level like in DFT, and then you have the chemical potential, is that it?
- At this point, we have a new Σ, so iterate above...
- General algorithm, just formulas (Geff is G0):
- &Sigma(z) = initial guess (usually null).
- μ = initial chemical potential, &rho = initial non-interacting DOS non-null.
- loop:
- Gloc(z) = ∫ dε ρ(ε) 1/(z + μ - Σ(z) - ε) [Hilbert Transform]
- Geff(z) = 1/{[Gloc(z)]-1 + Σ(z)} [Dyson]
- Gimp = impurity problem solver, NRG,... For spinless Falikov-Kimball, it is Gimp(z) = ω0 Geff(z) + ω1/{[Geff(z)]-1 - U}, see page 68.
- Σ(z) = [Geff(z)]-1 - [Gimp(z)]-1 [Dyson inverse]
- &rho(z) = ±(-1)/π Im{Tr [Gimp(z)]±}. See Economou, page 7. [Spectral density]
- Deduce μ determined from imaginary-axis and fixed on real-axis [formulas?]
- NOTES: update of μ and ρ is stepwise. Use of homotopy on Σ for limit cycles, see page 78.
- Nanostructures algorithm general notes: with deal with VECTORS.
- The algorithm get's more complicated, because the Dyson equation has extra terms, one that is the trap potential, that is a diagonal element, and the hopping matrix, that is a non-diagonal matrix.
- We need only the diagonal of the inverse, as above, the local part:
Gi(z) = {[(z + μ - Σa )+ tab]-1}i
- See Pottholf-Nolting, PRB 59, 2549 (1999) for some discussion related to equation (5) in Freericks' paper (PRB 2004).
- First we start with Gii(z) = {[(z + μ - Σaa - Vaa)&deltaab + tab]-1}ii. In here, μ and ε are known, but the self-energy and the Green's functions are unknown. The hopping matrices elements tij are also given. The trap potential is not in the PRB(2004) article, but let's keep it, for fun.
- Algorithm, with details, for inhomogeneous case: G is not a scalar anymore. This follows article PRB 70, 195342 (2004).
- &Sigma(z) = initial guess (usually null).
- μ = initial chemical potential, &rho = initial non-interacting DOS non-null.
- loop:
- "a" is the atomic plane of the nanostructure (we work with 2D structures, which means that the z axis is
the growth axis, and probably everything is uniform in the x-y planes). First do the Hilbert transform
Glocaa(z) = ∫ dεa ρ(εa) 1/(La(k,z)
+ Ra(k,z) - [z + μ -Σaa(z) - ε]. The R and L function are solved using
a quadratic equation, see eq. (12) and eq. (15) are the results and around those equation you have the whole development,
quite clear.
tab is the (given) hopping matrix
- The density is determined by solving
elliptic integral of the first
kind see equation (18). In the general case, all this does not exist, because you don't work in 2D layers.
- Geff(z) = 1/{[Gloc(z)]-1 + Σ(z)} [Dyson]
- Gimp = impurity problem solver, NRG,... For spinless Falikov-Kimball, and nanostructures with the recursion method,
it is Gimpa(z) = (1-ω1) {1/[Geffa(z) + 1/2U]}
+ ω1 {1/[Geffa(z) - 1/2U]}, see eq. (21) PRB2004.
In the general case there are no such equations, and one needs to use the NRG method, or others.
- Σ(z) = [Geff(z)]-1 - [Gimp(z)]-1 [Dyson inverse]
- &rho(z) = ±(-1)/π Im{Tr [Gimp(z)]±}. See Economou, page 7. [Spectral density]
- Deduce μ determined from imaginary-axis and fixed on real-axis [formulas?]
- NOTES: update of μ and ρ is stepwise. Use of homotopy on Σ for limit cycles, see page 78.
- Algorithm, just formulas from PRB 70, 195342 (2004)
- &Sigma(z) = initial guess (usually null).
- μ = initial chemical potential, &rho = initial non-interacting DOS non-null.
- loop:
- Gloca(z) = ∫ dεa ρ(εa) 1/{La(k,z)
+ Ra(k,z) - [z + μ -Σa(z) - ε]}. L and R are known and solved recursively.
- ρ(εa) = Constante * K(1- {1 - [&epsilona/4t||]}1/2)
with K(x) the elliptic integral of the first kind.
- Geffa(z) = 1/{[Gloca(z)]-1 + Σ(z)} [Dyson]
- Gimpa(z) = (1-ω1) {1/[Geffa(z) + 1/2U]}
+ ω1 {1/[Geffa(z) - 1/2U]}
- Σa(z) = [Geffa(z)]-1 - [Gimpa(z)]-1 [Dyson inverse]
- &rho(z) = ±(-1)/π Im{Tr [Gimp(z)]±}. See Economou, page 7. [Spectral density]
- Deduce μ determined from imaginary-axis and fixed on real-axis [formulas?]
- Inhomogeneous case, ultra cold simulator, no formulas for the nanostructure for the x-y planes, no more Potthoff-Nolting. We deal with MATRICES.
- Algorithm, some details:
- &Sigma(z) = initial guess (usually null).
- μ = initial chemical potential, &rho = initial non-interacting DOS non-null.
- loop:
- Glocaa(z) =
[(z + μ - Vaa - Σaa) + tab]-1
- Geffa(z) = 1/{[Glocaa(z)]-1 + Σaa(z)} [Dyson]
- Impurity problem: gives Gimpaa(z) = function of{Geffa(z)}, using NRG algorithm
- Σaa(z) = [Geffaa(z)]-1 - [Gimpaa(z)]-1 [Dyson inverse]
- &rho(z) = ±(-1)/π Im{Tr [Gimp(z)]±}. See Economou, page 7. [Spectral density]
- Deduce μ determined from imaginary-axis and fixed on real-axis [formulas?]
- Jim Freericks' web page
- Freericks' publications
- NAS and Freericks
- Green's functions
- Quantum ''zipper'' algorithm
- Potthoff-Nolting approach: x-y is Fourier transform and solve in z
- Mott insulators
- Numerical Renormalization Group (NRG)
- Numerical linked-cluster algorithm
- Statistical Physics and others
- Glassy phase
- Solver:
- Complete Elliptic integral of the first kind used in Nanosctructures calculations of Freericks algorithm, above
- Some work on PROPACK
- We need an algorithm that finds the diagonal of the inverse of a matrix: Lanczos, Approximate inverse, spectrum slicing.
- First attempts of fortran 90 code for Diag(Inv(G))
- Second attempts of fortran 90 code for Diag(Inv(G)): use of w = w - Q(QTw):
- To Do list:
- Put Gran-Schmidt inside the loop, before the exit condition
- LU decomposition, and do difference between LU and Diag(Inv()))
- Prepare SPARSKIT2 for matvec and transpose and dot_product operations
- add a Print_DEBUG() routine
- DFT-DMFT
- Sparse matrices and diagonal of inverse and programming issues
|