sycan.components.basic.varactor¶
Varactor — voltage-controlled capacitor (junction-style C(V) model).
DC: ideal open (a capacitor sees zero current at steady state).
AC: small-signal admittance
s · C(V_op)where the operating-point voltageV_oplinearises the bias-dependent capacitance:C(V) = C0 / (1 - V / V_J) ** M
Vis taken asV(n_plus) - V(n_minus). SettingV_op = 0(default) recoversC0. The form is the standard SPICECJO,VJ,Mjunction-capacitance trio.
Classes
|
Junction-style voltage-controlled capacitor. |
- class sycan.components.basic.varactor.Varactor(name, n_plus, n_minus, C0, V_J=0.7, M=0.5, *, V_op=None, include_noise=None)[source]¶
Bases:
ComponentJunction-style voltage-controlled capacitor.
- Parameters:
name (str) – Designator and the two terminals.
n_plus (str) – Designator and the two terminals.
n_minus (str) – Designator and the two terminals.
C0 (sympy.core.expr.Expr) – Zero-bias capacitance (
CJO).V_J (sympy.core.expr.Expr) – Junction potential (default
0.7).M (sympy.core.expr.Expr) – Grading coefficient (default
0.5, abrupt junction).V_op (sympy.core.expr.Expr | None) – Operating-point bias used to linearise
C(V)for AC. Default0(no bias) — useful when the user later substitutes the DC operating point into the symbolic AC result.include_noise (None | str | list[str] | tuple[str, ...] | frozenset[str])
- name: str¶
- n_plus: str¶
- n_minus: str¶
- C0: Expr¶
- V_J: Expr = 0.7¶
- M: Expr = 0.5¶
- V_op: Expr | None = None¶
- include_noise: None | str | list[str] | tuple[str, ...] | frozenset[str] = None¶
- ports: ClassVar[tuple[str, ...]] = ('n_plus', 'n_minus')¶
- SUPPORTED_NOISE: ClassVar[frozenset[str]] = frozenset({})¶
- stamp(ctx)[source]¶
- Parameters:
ctx (StampContext)
- Return type:
None