Skip to content

Commit

Permalink
deploy: 3e5a485
Browse files Browse the repository at this point in the history
  • Loading branch information
lcrippa committed Nov 7, 2024
0 parents commit 38adc22
Show file tree
Hide file tree
Showing 472 changed files with 207,851 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: fb433f8af712df3ecb0d794aebb5e7ed
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/browsecode.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_aux_funx.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_bath.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_bath_aux.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_bath_dim.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_bath_fit.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_chi_dens.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_chi_exct.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_chi_pair.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_chi_spin.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_diag.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_io.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_main.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_sector.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_setup.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/browsesource/module/ed_version.doctree
Binary file not shown.
Binary file added .doctrees/browsesource/module/edipack2.doctree
Binary file not shown.
Binary file added .doctrees/dependencies.doctree
Binary file not shown.
Binary file added .doctrees/edipack2.doctree
Binary file not shown.
Binary file added .doctrees/edipy2.doctree
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/examples.doctree
Binary file not shown.
Binary file added .doctrees/examples/01_bhz.doctree
Binary file not shown.
Binary file added .doctrees/examples/02_ahm.doctree
Binary file not shown.
Binary file added .doctrees/examples/03_excBHZ.doctree
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/installation.doctree
Binary file not shown.
Binary file added .doctrees/python_api/basicusage.doctree
Binary file not shown.
Binary file added .doctrees/python_api/funcs/0_readinput.doctree
Binary file not shown.
Binary file added .doctrees/python_api/funcs/1_solver.doctree
Binary file not shown.
Binary file added .doctrees/python_api/funcs/2_bath.doctree
Binary file not shown.
Binary file added .doctrees/python_api/funcs/3_inputoutput.doctree
Binary file not shown.
Binary file added .doctrees/python_api/funcs/4_auxiliary.doctree
Binary file not shown.
Binary file added .doctrees/python_api/functions.doctree
Binary file not shown.
Binary file added .doctrees/python_api/globvars.doctree
Binary file not shown.
Binary file added .doctrees/python_api/pyinstallation.doctree
Binary file not shown.
Binary file added .doctrees/quickstart.doctree
Binary file not shown.
Binary file added .doctrees/quickstart/01_anderson.doctree
Binary file not shown.
Binary file added .doctrees/quickstart/02_dmft.doctree
Binary file not shown.
Binary file added .doctrees/structure/bath.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/structure/diag.doctree
Binary file not shown.
Binary file added .doctrees/structure/ed_sector.doctree
Binary file not shown.
Binary file added .doctrees/structure/edipackmodule.doctree
Binary file not shown.
Binary file added .doctrees/structure/fit.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/structure/general/04_ed_setup.doctree
Binary file not shown.
Binary file added .doctrees/structure/greensfunctions.doctree
Binary file not shown.
Binary file added .doctrees/structure/index_diag.doctree
Binary file not shown.
Binary file added .doctrees/structure/index_greensfunctions.doctree
Binary file not shown.
Binary file added .doctrees/structure/index_hamiltonian.doctree
Binary file not shown.
Binary file added .doctrees/structure/index_observables.doctree
Binary file not shown.
Binary file added .doctrees/structure/io/ed_io.doctree
Binary file not shown.
Binary file added .doctrees/structure/main.doctree
Binary file not shown.
Binary file added .doctrees/structure/nonsu2/01_diag.doctree
Binary file not shown.
Binary file added .doctrees/structure/nonsu2/02_hamiltonian.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/structure/nonsu2/05_observables.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/01_diag.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/02_hamiltonian.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/structure/normal/04_chi_dens.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/04_chi_exct.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/04_chi_pair.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/04_chi_spin.doctree
Binary file not shown.
Binary file added .doctrees/structure/normal/05_observables.doctree
Binary file not shown.
Binary file added .doctrees/structure/observables.doctree
Binary file not shown.
Binary file added .doctrees/structure/superc/01_diag.doctree
Binary file not shown.
Binary file added .doctrees/structure/superc/02_hamiltonian.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/structure/superc/05_observables.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#Ek_l1_s1 Vk_l1_s1
-6.480190552585E-01 1.945170994948E-01
-2.541161887408E-02 8.294803024290E-05
-2.571185948695E-03 1.774585377770E-03
2.617545746267E-03 1.778990687474E-03
2.535731264219E-02 -4.903727066652E-05
6.485905353075E-01 1.945945322989E-01
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Ek_l1_s1 Vk_l1_s1
-4.076868353266E-01 2.765046014120E-01
-8.289638067108E-02 1.475592529053E-01
-1.347666656789E-02 6.655691154192E-02
2.726322096903E-06 3.222354973937E-02
1.350639542721E-02 6.662898931960E-02
8.309985420397E-02 1.477426962404E-01
4.083402394518E-01 2.764554661220E-01
243 changes: 243 additions & 0 deletions _downloads/0c988b2ad15b0db61507fb3b9f1ecb1d/03_excBHZ.f90
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
program ed_bhz
USE EDIPACK2
USE SCIFOR
USE DMFT_TOOLS
USE MPI
implicit none

integer :: iloop,Lk,Nso
logical :: converged
!Bath:
integer :: Nb
real(8),allocatable :: Bath(:)
!The local hybridization function:
!The local hybridization function:
complex(8),dimension(:,:,:),allocatable :: Weiss, Weiss_
complex(8),dimension(:,:,:),allocatable :: Smats,Sreal
complex(8),dimension(:,:,:),allocatable :: Gmats,Greal
!hamiltonian input:
complex(8),dimension(:,:,:),allocatable :: Hk
complex(8),dimension(:,:),allocatable :: Hloc
complex(8),dimension(:,:),allocatable :: sigmaBHZ
real(8),dimension(:,:),allocatable :: Zbhz
!variables for the model:
integer :: Nx,Nkpath
real(8) :: mh,lambda,wmixing,z2
character(len=16) :: finput
!>Gamma matrices:
complex(8),dimension(4,4) :: Gamma1,Gamma2,Gamma5,GammaN
complex(8),dimension(4,4) :: GammaE0,GammaEx,GammaEy,GammaEz
!>Replica bath
real(8),dimension(:,:),allocatable :: lambdasym_vector
complex(8),dimension(:,:,:),allocatable :: Hsym_basis
!MPI Vars:
integer :: comm,rank
logical :: master,fhtop

call init_MPI()
comm = MPI_COMM_WORLD
call StartMsg_MPI(comm)
rank = get_Rank_MPI(comm)
master = get_Master_MPI(comm)


!Parse additional variables && read Input && read H(k)^4x4
call parse_cmd_variable(finput,"FINPUT",default='inputED_BHZ.conf')
call parse_input_variable(Nx,"NX",finput,default=100)
call parse_input_variable(nkpath,"NKPATH",finput,default=500)
call parse_input_variable(mh,"MH",finput,default=0.d0)
call parse_input_variable(lambda,"LAMBDA",finput,default=0.d0)
call parse_input_variable(wmixing,"WMIXING",finput,default=0.75d0)
!
call ed_read_input(trim(finput))
!
!
!Add DMFT CTRL Variables used in DMFT_TOOLS:
call add_ctrl_var(Norb,"norb")
call add_ctrl_var(Nspin,"nspin")
call add_ctrl_var(beta,"beta")
call add_ctrl_var(xmu,"xmu")
call add_ctrl_var(wini,'wini')
call add_ctrl_var(wfin,'wfin')
call add_ctrl_var(eps,"eps")

if(Nspin/=2.OR.Norb/=2)stop "Wrong setup from input file: Nspin=Norb=2 -> 4Spin-Orbitals"
Nso=Nspin*Norb
Lk=Nx**2

!Allocate local functions:
allocate(Weiss(Nso,Nso,Lmats))
allocate(Weiss_(Nso,Nso,Lmats))
allocate(Smats(Nso,Nso,Lmats))
allocate(Gmats(Nso,Nso,Lmats))
allocate(Sreal(Nso,Nso,Lreal))
allocate(Greal(Nso,Nso,Lreal))
allocate(SigmaBHZ(Nso,Nso))
allocate(Zbhz(Nso,Nso))

gamma1=kron( pauli_sigma_z, pauli_tau_x)
gamma2=kron( pauli_sigma_0,-pauli_tau_y)
gamma5=kron( pauli_sigma_0, pauli_tau_z)
gammaN=kron( pauli_sigma_0, pauli_tau_0)
!
gammaE0=kron( pauli_sigma_0, pauli_tau_x )
gammaEx=kron( pauli_sigma_x, pauli_tau_x )
gammaEy=kron( pauli_sigma_y, pauli_tau_x )
gammaEz=kron( pauli_sigma_z, pauli_tau_x )



!> Set the basis vectors square lattice
call TB_set_ei([1d0,0d0],[0d0,1d0]) ! real-space lattice basis vectors
call TB_set_bk([pi2,0d0],[0d0,pi2]) ! k-space lattice basis vectors
!> Set the self-energy correction to zero
call set_SigmaBHZ()
!> Allocate and build the lattice Hamiltonian using model function above.
allocate(Hk(Nso,Nso,Lk)) ;Hk=zero
call TB_build_model(Hk,hk_bhz,Nso,[Nx,Nx])
!> Solve the band structure
call solve_Hk()


!> Get local Hamiltonian summing over k (one can do better)
allocate(Hloc(Nso,Nso))
Hloc = sum(Hk,dim=3)/Lk
where(abs(dreal(Hloc))<1d-6)Hloc=zero
!> Set H_{loc} in EDIpack2
call ed_set_hloc(Hloc)


!> Setup the replica bath basis for the case E0EzEx(singlet,tripletZ,tripletX)
allocate(lambdasym_vector(Nbath,4))
allocate(Hsym_basis(Nso,Nso,4))
Hsym_basis(:,:,1)=Gamma5 ;lambdasym_vector(:,1)= Mh
Hsym_basis(:,:,2)=GammaE0 ;lambdasym_vector(:,2)= sb_field
Hsym_basis(:,:,3)=GammaEz ;lambdasym_vector(:,3)= sb_field
Hsym_basis(:,:,4)=GammaEx ;lambdasym_vector(:,4)=-sb_field
!> Set the replica bath
call ed_set_Hreplica(Hsym_basis,lambdasym_vector)
!> Get bath dimension and allocate user bath to this size
Nb=ed_get_bath_dimension(4)!(Hsym_basis)
allocate(Bath(Nb))
!
!> Initialize the ED solver (bath is guessed or read from file)
call ed_init_solver(bath)


!DMFT loop
iloop=0;converged=.false.
do while(.not.converged.AND.iloop<nloop)
iloop=iloop+1
call start_loop(iloop,nloop,"DMFT-loop")

!> Solve the impurity problem, retrieve matsubara self-energy
call ed_solve(bath)
call ed_get_sigma(Smats,axis='mats')

!> Get Gloc (using DMFT_TOOLS)
call get_gloc(Hk,Gmats,Smats,axis='m')
call write_gf(Gmats,"Gloc",axis='mats',iprint=3)

!> Update the Weiss field: (using DMFT_TOOLS). Linear mixing.
call dmft_self_consistency(Gmats,Smats,Weiss)
if(iloop>1)Weiss = wmixing*Weiss + (1.d0-wmixing)*Weiss_

!> Fit the new bath, starting from the current bath + the update Weiss field
call ed_chi2_fitgf(Weiss,bath)

!Check convergence (using DMFT_TOOLS)
converged = check_convergence(Weiss(1,1,:),dmft_error,nsuccess,nloop)

call end_loop
enddo

!> retrieve real-axis self-energy and build local Green's function
call ed_get_sigma(Sreal,axis='real')
call get_gloc(Hk,Greal,Sreal,axis='r')
call write_gf(Greal,"Gloc",axis='real',iprint=3)
!
!> Set the self-energy correction, build the topological Hamiltonian and get corresponding invariant
call set_SigmaBHZ(Smats(:,:,1))
call TB_build_model(Hk,hk_bhz,Nso,[Nx,Nx]) !this is now Htop = Z.(Hk + ReSigma)
!> Solve the topological Hamiltonian Band structure (a proxy for GF poles).
call solve_hk()


call finalize_MPI()




contains






function hk_bhz(kvec,N) result(hk)
integer :: N
real(8),dimension(:) :: kvec
complex(8),dimension(N,N) :: hk
real(8) :: ek,kx,ky
!
if(N/=Nso)stop "hk_bhz error: N != Nspin*Norb == 4"
kx = kvec(1) ; ky=kvec(2)
ek = -1d0*(cos(kx)+cos(ky))
Hk = (Mh+ek)*Gamma5 + lambda*sin(kx)*Gamma1 + lambda*sin(ky)*Gamma2
!
!> Include the self-energy correction, if previously defined
if(fhtop)then
Hk = Hk + dreal(SigmaBHZ)
Hk = matmul(Zbhz,Hk)
endif
end function hk_bhz


subroutine set_SigmaBHZ(sigma)
complex(8),dimension(Nso,Nso),optional :: sigma
integer :: ii
!
sigmaBHZ = zero ; Zbhz=eye(Nso); fhtop=.false.
!
if(present(sigma))then
sigmaBHZ=sigma
!
Zbhz=zero
do ii=1,Nso
Zbhz(ii,ii) = 1.d0/abs( 1.d0 + abs(dimag(sigmaBHZ(ii,ii))/pi*beta))
end do
!
fhtop=.true.
!
endif
end subroutine set_SigmaBHZ




!--------------------------------------------------------------------!
!PURPOSE: Solve the topological Hamiltonian
!--------------------------------------------------------------------!
subroutine solve_hk()
integer :: Npts
real(8),dimension(:,:),allocatable :: kpath
!
if(master)then
Npts = 4
Lk=(Npts-1)*Nkpath
allocate(kpath(Npts,3))
kpath(1,:)=kpoint_gamma
kpath(2,:)=kpoint_x1
kpath(3,:)=kpoint_m1
kpath(4,:)=kpoint_gamma
write(LOGfile,*)"Build H(k) BHZ along path \Gamma-X-M-\Gamma:"
call TB_solve_model(hk_bhz,Nso,kpath,Nkpath,&
colors_name=[red,blue,red,blue],&
points_name=[character(len=20) :: "{\Symbol G}","X","M","{\Symbol G}"],&
file="Eig_Hk_"//str(fhtop)//".ed")
endif
end subroutine solve_hk


end program ed_bhz
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#Ek_l1_s1 Dk_l1_s1 Vk_l1_s1
-5.249454795410E+00 -1.003321282020E+00 1.505395237261E+00
-9.426106679244E-02 4.015864578443E-02 2.047405302797E-01
-9.988215961891E-01 7.646407513868E+00 7.746312978379E-01
9.988215961891E-01 7.646407513868E+00 7.746312978379E-01
9.426106679244E-02 4.015864578443E-02 2.047405302797E-01
5.249454795410E+00 -1.003321282020E+00 1.505395237261E+00
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#Ek_l1_s1 Vk_l1_s1 #Ek_l2_s1 Vk_l2_s1 #Ek_l1_s2 Vk_l1_s2 #Ek_l2_s2 Vk_l2_s2
-2.063325383596E+00 -3.285491173696E-01 -6.227961385330E+00 2.410927843632E+00 -2.063325383596E+00 -3.285491173696E-01 -6.227961385330E+00 2.410927843632E+00
-1.675859198890E-01 6.159720975864E-01 1.675859198934E-01 6.159720975903E-01 -1.675859198890E-01 6.159720975864E-01 1.675859198934E-01 6.159720975903E-01
6.227961385463E+00 2.410927843678E+00 2.063325383595E+00 -3.285491172895E-01 6.227961385463E+00 2.410927843678E+00 2.063325383595E+00 -3.285491172895E-01
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#V_i Lambda_i1 Lambda_i2 Lambda_i3 Lambda_i4
4
5.718887742132E-01 -8.930753143566E-01 3.884837520875E-02 -1.148605141630E+00 2.749600864404E+00
-5.339078433090E-01 -1.673257892178E+00 9.233320224583E-01 -5.013862761535E-02 -9.594471806308E-01
-4.568136565652E-02 -5.069733513433E-01 2.448960640092E-01 -3.293610522247E-01 3.424798019974E-01
6.063922879158E-01 3.581355433238E+00 4.513885386087E-01 -2.702524312923E-02 -2.412717524740E+00

( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 0.00, 0.00) (-1.00,-0.00) ( 0.00, 0.00) ( 0.00,-0.00)
( 0.00, 0.00) ( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00)
( 0.00, 0.00) ( 0.00,-0.00) ( 0.00, 0.00) (-1.00,-0.00)

( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 1.00, 0.00)
( 0.00, 0.00) ( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00)

( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 0.00, 0.00) ( 0.00, 0.00) ( 0.00,-0.00) (-1.00,-0.00)
( 0.00, 0.00) ( 0.00, 0.00) (-1.00,-0.00) ( 0.00,-0.00)

( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 1.00, 0.00)
( 0.00, 0.00) ( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00)
( 0.00, 0.00) ( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)
( 1.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00) ( 0.00, 0.00)

Loading

0 comments on commit 38adc22

Please sign in to comment.