sycan.components.basic.voltage_source¶
Independent voltage source (SPICE V).
Supports DC, AC-phasor, and waveform modes: "sine", "pulse",
"exp".
Classes
|
Ideal voltage source enforcing |
- class sycan.components.basic.voltage_source.VoltageSource(name, n_plus, n_minus, value, ac_value=None, *, include_noise=None, waveform=None, amplitude=None, frequency=None, phase=0, v1=None, v2=None, td=None, pw=None, td1=None, tau1=None, td2=None, tau2=None)[source]¶
Bases:
ComponentIdeal voltage source enforcing
V(n_plus) - V(n_minus) = value.Its auxiliary current
I(name)is defined fromn_pluston_minusthrough the source, matching SPICE’s convention.ac_valueis the small-signal phasor used in AC analysis. IfNone, AC analysis reuses the DCvalue. Ideal sources are noiseless;include_noiseis accepted for interface uniformity.Waveforms — set
waveformto model time-varying sources:"sine"—amplitude * sin(2π·frequency·t + phase)."pulse"— rectangular pulse withv1,v2,td(delay),pw(pulse width). DC isv1."exp"— exponential pulse withv1,v2,td1(rise delay),tau1(rise time constant), and optionaltd2/tau2(fall). DC isv1.
- Parameters:
name (str)
n_plus (str)
n_minus (str)
value (Expr)
ac_value (Expr | None)
include_noise (None | str | list[str] | tuple[str, ...] | frozenset[str])
waveform (str | None)
amplitude (Expr | None)
frequency (Expr | None)
phase (Expr | None)
v1 (Expr | None)
v2 (Expr | None)
td (Expr | None)
pw (Expr | None)
td1 (Expr | None)
tau1 (Expr | None)
td2 (Expr | None)
tau2 (Expr | None)
- name: str¶
- n_plus: str¶
- n_minus: str¶
- value: Expr¶
- ac_value: Expr | None = None¶
- include_noise: None | str | list[str] | tuple[str, ...] | frozenset[str] = None¶
- waveform: str | None = None¶
- amplitude: Expr | None = None¶
- frequency: Expr | None = None¶
- phase: Expr | None = 0¶
- v1: Expr | None = None¶
- v2: Expr | None = None¶
- td: Expr | None = None¶
- pw: Expr | None = None¶
- td1: Expr | None = None¶
- tau1: Expr | None = None¶
- td2: Expr | None = None¶
- tau2: Expr | None = None¶
- ports: ClassVar[tuple[str, ...]] = ('n_plus', 'n_minus')¶
- has_aux: ClassVar[bool] = True¶
- SUPPORTED_NOISE: ClassVar[frozenset[str]] = frozenset({})¶
- stamp(ctx)[source]¶
- Parameters:
ctx (StampContext)
- Return type:
None