Skip to content

Commit

Permalink
Fix sign for CCCS #138
Browse files Browse the repository at this point in the history
  • Loading branch information
mph- committed Sep 22, 2024
1 parent 249b745 commit cc0100a
Showing 1 changed file with 7 additions and 15 deletions.
22 changes: 7 additions & 15 deletions lcapy/mnacpts.py
Original file line number Diff line number Diff line change
Expand Up @@ -1353,27 +1353,19 @@ def _stamp(self, mna):
# with a voltage source.

cname = self.args[0]
ccpt = self.cct.elements[cname]

if not ccpt.is_voltage_source:
raise ValueError('The controlling component for %s must be a voltage souce' % self)

n1, n2 = mna._cpt_node_indexes(self)
m = mna._branch_index(cname)
F = ConstantDomainExpression(self.args[1]).sympy

if n1 >= 0:
mna._B[n1, m] -= F
mna._B[n1, m] += F
if n2 >= 0:
mna._B[n2, m] += F

ccpt = self.cct.elements[cname]
if ccpt.is_voltage_source:
return
# Controlling node indices
n3, n4 = [mna._node_index(name) for name in ccpt.node_names[0:2]]

if n3 >= 0:
mna._B[n3, m] += 1
mna._C[m, n3] += 1
if n4 >= 0:
mna._B[n4, m] -= 1
mna._C[m, n4] -= 1
mna._B[n2, m] -= F

def _kill(self):
newopts = self.opts.copy()
Expand Down

0 comments on commit cc0100a

Please sign in to comment.