From d0b17fc2b2f87c671a3cb4a8688e2a8e41f4edbc Mon Sep 17 00:00:00 2001
From: sneto <antoniosnl@hotmail.com>
Date: Wed, 11 Mar 2020 14:37:51 -0100
Subject: [PATCH] IMPORTANT -> Fixed sign error in the capacitance matrix. It
 caused the solver to inverte the sign in the potential

---
 poisson/discrete/discrete_poisson.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/poisson/discrete/discrete_poisson.py b/poisson/discrete/discrete_poisson.py
index f4069a3..58e8462 100644
--- a/poisson/discrete/discrete_poisson.py
+++ b/poisson/discrete/discrete_poisson.py
@@ -408,16 +408,17 @@ def prepare_capacitance_sparse(points_firstneig, dielectric_val,
                                      / (dielectric_val[point]
                                         + dielectric_val[fneig]))
 
-                data[element_id] = (ridges_capacitance[ridge]
-                                    * dielectric_factor)
+                data[element_id] = -1 * (ridges_capacitance[ridge]
+                                         * dielectric_factor)
 
-                diag_data = (diag_data + data[element_id])
+                # Diagonal elements don't have the minus sign.
+                diag_data = (diag_data + (-1 * data[element_id]))
 
                 element_id +=1
 
             column[element_id] = point
             row[element_id] = point
-            data[element_id] = - diag_data
+            data[element_id] = diag_data
 
             element_id +=1
 
-- 
GitLab