electron_correlation_function_green_n_for_local_current

This commit is contained in:
guanjihuan 2022-01-12 03:36:11 +08:00
parent b587e8ab12
commit a2c580e9ef
3 changed files with 10 additions and 2 deletions

View File

@ -72,6 +72,7 @@ right_self_energy, left_self_energy, gamma_right, gamma_left = guan.self_energy_
right_self_energy, left_self_energy, gamma_right, gamma_left = guan.self_energy_of_lead_with_h_LC_and_h_CR(fermi_energy, h00, h01, h_LC, h_CR)
self_energy, gamma = guan.self_energy_of_lead_with_h_lead_to_center(fermi_energy, h00, h01, h_lead_to_center)
green, gamma_right, gamma_left = guan.green_function_with_leads(fermi_energy, h00, h01, h_LC, h_CR, center_hamiltonian)
G_n = guan.electron_correlation_function_green_n_for_local_current(fermi_energy, h00, h01, h_LC, h_CR, center_hamiltonian)
# calculate density of states # Source code: https://py.guanjihuan.com/calculate_density_of_states
total_dos = guan.total_density_of_states(fermi_energy, hamiltonian, broadening=0.01)

View File

@ -1,7 +1,7 @@
[metadata]
# replace with your username:
name = guan
version = 0.0.43
version = 0.0.44
author = guanjihuan
author_email = guanjihuan@163.com
description = An open source python package

View File

@ -3,6 +3,7 @@
# calculate Green functions
import numpy as np
import guan
def green_function(fermi_energy, hamiltonian, broadening, self_energy=0):
if np.array(hamiltonian).shape==():
@ -101,3 +102,9 @@ def green_function_with_leads(fermi_energy, h00, h01, h_LC, h_CR, center_hamilto
right_self_energy, left_self_energy, gamma_right, gamma_left = self_energy_of_lead_with_h_LC_and_h_CR(fermi_energy, h00, h01, h_LC, h_CR)
green = np.linalg.inv(fermi_energy*np.identity(dim)-center_hamiltonian-left_self_energy-right_self_energy)
return green, gamma_right, gamma_left
def electron_correlation_function_green_n_for_local_current(fermi_energy, h00, h01, h_LC, h_CR, center_hamiltonian):
right_self_energy, left_self_energy, gamma_right, gamma_left = guan.self_energy_of_lead_with_h_LC_and_h_CR(fermi_energy, h00, h01, h_LC, h_CR)
green = guan.green_function(fermi_energy, center_hamiltonian, broadening=0, self_energy=left_self_energy+right_self_energy)
G_n = np.imag(np.dot(np.dot(green, gamma_left), green.transpose().conj()))
return G_n