From b06a7fd0550322258c70b87ecf9447f70f9625ac Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Sat, 4 Jan 2025 13:36:09 +1300 Subject: [PATCH] Check for ac --- lcapy/analysis.py | 9 ++++++--- lcapy/netlist.py | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lcapy/analysis.py b/lcapy/analysis.py index 0b45c4d0..019e8758 100644 --- a/lcapy/analysis.py +++ b/lcapy/analysis.py @@ -13,6 +13,8 @@ def __init__(self, cct, components): self.has_ic = False self.zeroic = True self.has_s = False + self.has_ac = False + self.has_dc = False self.has_transient = False self.ac_count = 0 self.dc_count = 0 @@ -46,6 +48,10 @@ def __init__(self, cct, components): self.dc_count += 1 if not elt.is_causal: self.causal = False + if elt.has_ac: + self.has_ac = True + if elt.has_dc: + self.has_dc = True if elt.is_dependent_source: self.dependent_sources.append(eltname) if elt.is_reactive: @@ -56,9 +62,6 @@ def __init__(self, cct, components): num_sources = len(self.independent_sources) - self.has_dc = self.dc_count > 0 - self.has_ac = self.ac_count > 0 - self.ac = self.ac_count > 0 and \ (num_sources == self.ac_count) and not self.has_ic self.dc = self.dc_count > 0 and \ diff --git a/lcapy/netlist.py b/lcapy/netlist.py index f1bdc610..621edd24 100644 --- a/lcapy/netlist.py +++ b/lcapy/netlist.py @@ -655,16 +655,17 @@ def laplace(self): """ + lap = self.select('laplace') if self.is_causal: - return self.select('laplace') + return lap # FIXME if self.has_ac: warn('Ignoring initial conditions due to AC source') + return # Calculate initial conditions due to DC source dc = self.dc() - lap = self.select('laplace') new = self._new()