Skip to content

Getting started

Create a Circuit and build a netlist:

from cat.core.circuit import Circuit
from cat.core.components import Vdc, Resistor, Capacitor
from cat.core.net import GND

c = Circuit("rc_lowpass")
V1 = Vdc("1", 5.0)
R1 = Resistor("1", "1k")
C1 = Capacitor("1", "100n")

c.add(V1, R1, C1)
c.connect(V1.ports[0], R1.ports[0])
c.connect(R1.ports[1], C1.ports[0])
c.connect(V1.ports[1], GND)
c.connect(C1.ports[1], GND)

print(c.build_netlist())

This will print a SPICE netlist ready to be executed by a SPICE runner.

Run a transient in one line

You can run a transient (.TRAN) analysis and get a pandas DataFrame directly:

from cat.analysis import run_tran

df = run_tran(c, "10us", "5ms", return_df=True)
print(df.head())

Or keep the full result object for advanced usage:

res = run_tran(c, "10us", "5ms")
print(res.traces.names)