From aa64fe78fcdac1c40d05df62532dbb0a7bdc03bf Mon Sep 17 00:00:00 2001 From: Logan Bishop-Van Horn Date: Wed, 27 Mar 2024 19:54:04 -0700 Subject: [PATCH] Fix bug in fields from transport current --- superscreen/solver/solve_film.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/superscreen/solver/solve_film.py b/superscreen/solver/solve_film.py index d85261e..45990a1 100644 --- a/superscreen/solver/solve_film.py +++ b/superscreen/solver/solve_film.py @@ -456,6 +456,7 @@ def solve_film( g[indices] += current # g[hole] = I_circ Ha_eff += -(A @ g[indices]) + g_transport = 0 if film_info.name in device.terminals: g_transport = solve_for_terminal_current_stream( device, @@ -497,7 +498,7 @@ def solve_film( # Current density J = curl(g \hat{z}) = [dg/dy, -dg/dx] J = np.array([grad_y @ g, -(grad_x @ g)]).T # Eq. 7 in [Kirtley1], Eq. 7 in [Kirtley2] - screening_field = Q @ (weights * g) + screening_field = Q @ (weights * (g - g_transport)) if field_from_other_films is not None: field_from_other_films = field_from_other_films / field_conversion return FilmSolution(