From a2c580e9efae5e9dc8accb8f8d6fabf4e9ec8edb Mon Sep 17 00:00:00 2001 From: guanjihuan Date: Wed, 12 Jan 2022 03:36:11 +0800 Subject: [PATCH] electron_correlation_function_green_n_for_local_current --- API_reference.py | 1 + PyPI/setup.cfg | 2 +- PyPI/src/guan/calculate_Green_functions.py | 9 ++++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/API_reference.py b/API_reference.py index eed750a..d7d7caf 100644 --- a/API_reference.py +++ b/API_reference.py @@ -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) diff --git a/PyPI/setup.cfg b/PyPI/setup.cfg index d182c8c..b3c113a 100644 --- a/PyPI/setup.cfg +++ b/PyPI/setup.cfg @@ -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 diff --git a/PyPI/src/guan/calculate_Green_functions.py b/PyPI/src/guan/calculate_Green_functions.py index 6d38d29..c42ac3e 100644 --- a/PyPI/src/guan/calculate_Green_functions.py +++ b/PyPI/src/guan/calculate_Green_functions.py @@ -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==(): @@ -100,4 +101,10 @@ def green_function_with_leads(fermi_energy, h00, h01, h_LC, h_CR, center_hamilto dim = np.array(center_hamiltonian).shape[0] 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 \ No newline at end of file + 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 \ No newline at end of file