electron_correlation_function_green_n_for_local_current
This commit is contained in:
		| @@ -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) | 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) | 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) | 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 | # 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) | total_dos = guan.total_density_of_states(fermi_energy, hamiltonian, broadening=0.01) | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| [metadata] | [metadata] | ||||||
| # replace with your username: | # replace with your username: | ||||||
| name = guan | name = guan | ||||||
| version = 0.0.43 | version = 0.0.44 | ||||||
| author = guanjihuan | author = guanjihuan | ||||||
| author_email = guanjihuan@163.com | author_email = guanjihuan@163.com | ||||||
| description = An open source python package | description = An open source python package | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ | |||||||
| # calculate Green functions | # calculate Green functions | ||||||
|  |  | ||||||
| import numpy as np | import numpy as np | ||||||
|  | import guan | ||||||
|  |  | ||||||
| def green_function(fermi_energy, hamiltonian, broadening, self_energy=0): | def green_function(fermi_energy, hamiltonian, broadening, self_energy=0): | ||||||
|     if np.array(hamiltonian).shape==(): |     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) |     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) |     green = np.linalg.inv(fermi_energy*np.identity(dim)-center_hamiltonian-left_self_energy-right_self_energy) | ||||||
|     return green, gamma_right, gamma_left |     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 | ||||||
		Reference in New Issue
	
	Block a user