circuit_simulator package

Subpackages

Submodules

circuit_simulator.Circuit module

class circuit_simulator.Circuit.Circuit(netlist: list[str])

Bases: object

Base class for circuits.

add_element(element: Element) None

Just a wrapper for += operator.

create_element(line: str, num_nodes: int) Element

Create an element from a netlist line.

is_nonlinear() bool

Check if the circuit contains any nonlinear elements.

read_netlist() None

Read the netlist and create circuit elements.

set_extra_lines() None

Set the number of extra lines required by certain elements.

update(x_t: list[float]) None

Update the state of all elements in the circuit.

circuit_simulator.CircuitSimulator module

circuit_simulator.Element module

class circuit_simulator.Element.Element(name: str)

Bases: ABC

Base class for circuit elements.

abstract add_conductance(G, I, x_t, deltaT, method, t) tuple

Add the element’s contribution to the conductance matrix G and current vector I.

on_add() None

Hook method called when the element is added to a circuit.

abstract to_netlist() str

Return a string representation of the element in netlist format.

update(x_t) None

Update the element state based on the current solution vector x_t.

circuit_simulator.Simulation module

class circuit_simulator.Simulation.Simulation(netlist: list[str] = None)

Bases: object

Class representing a circuit simulation.

read_netlist() None

Read and parse the netlist to extract simulation parameters.

time_analysis(circuit: Circuit) tuple[ndarray, ndarray]

Perform transient time analysis on the given circuit.