functionalities

This commit is contained in:
2024-06-27 11:12:33 +02:00
parent 88aced27bf
commit 2e59700bfa
18 changed files with 84 additions and 27 deletions

View File

@@ -138,6 +138,26 @@ class Noeud(Element):
def etat(self):
return self.u() >= self.conf['USEUIL']
def verifier_loi_des_noeuds(self):
"""Dans cette méthode, self._voisins contient les branches connectées au nœud, et polarite indique si le courant est entrant (-1) ou sortant (+1).
La variable courant_total accumule la somme des courants, et self.conf['TOLERANCE_COURANT'] est une petite valeur seuil pour tolérer des imprécisions
numériques (par exemple, 1e-6)."""
courant_total = 0
for voisin, polarite, _ in self._voisins:
if polarite == -1:
courant_total -= voisin.i()
else:
courant_total += voisin.i()
if abs(courant_total) > self.conf['TOLERANCE_COURANT']:
raise Exception(f"La loi des nœuds n'est pas respectée pour le noeud {self.nom}. Total courant: {courant_total}")
class Branche(Element):