Time-Domain System Equivalent logoTime-Domain System EquivalentLinear dynamics, solved faster.Discuss an evaluation
SDK Documentation

Element Reference

Supported circuit elements, source models, and adapter-facing element behavior.

This chapter is the canonical supported-subset reference for Circuit elements, directives, models, validation behavior, and limitations.

Element Reference

This section lists the accepted element statements and their current syntax. Parsing support and analysis-domain support are distinct. NPORT is AC-only; native S-parameter blocks also have a fixed-step transient path. Nonlinear devices and switches are intended for the transient solver. ModelSpace asset preservation is a separate contract from native netlist execution.

Passive Elements

R - Resistor

Rname n+ n- value

Value in ohms. Positive, non-zero.

L - Inductor

Lname n+ n- value

Value in henries. Positive, non-zero.

C - Capacitor

Cname n+ n- value

Value in farads. Positive, non-zero.

K - Mutual Inductor Coupling

Kname L1 L2 coupling_coefficient

Coupling coefficient from -1 through 1. References two inductor instance names.

Independent Sources

V - Independent Voltage Source

Vname n+ n- [DC dc_value] [waveform]

I - Independent Current Source

Iname n+ n- [DC dc_value] [waveform]

Waveform functions: SIN, PULSE, PWL, EXP, SFFM, AM. Parameter order follows standard SPICE convention.

LTI Region Membership and Independent Response

Ideal independent voltage and current sources are LTI region members. A prescribed waveform changes the excitation, not the network operator. This applies to DC and to the supported time-dependent waveforms above.

Native ModelSpace import declares these sources with lti=true, host_only=false, and the source, lti, and tdse_region_eligible capabilities. Use the imported declarations unchanged when selecting a region. An imported source with conflicting declarations is an SDK defect; report it and reimport with the corrected SDK instead of editing qualification flags.

Region Pack construction separates two contributions:

  • The port operator suppresses independent excitation: a zero voltage source becomes a short and a zero current source becomes an open circuit.
  • The native Circuit source response becomes Pack IR: open-circuit voltage for Z/Thevenin, or short-circuit current for Y/Norton. Runtime includes this contribution through tdse_step_ir().

The fixed generator_equivalent/thevenin_v1 model is also LTI: it is an independent voltage source behind constant R/L. Its impedance remains in the port operator. Import approximation disclosures still apply independently of LTI eligibility. Dynamic generators and feedback-dependent models require their own supported model definitions.

LTI classification does not guarantee a nonsingular port representation. Native qualification and solving still check topology, parameters, boundaries, and events. See Region Qualification.

B - Behavioral Source

Bname n+ n- V=<supported waveform expression>
Bname n+ n- I=<supported waveform expression>

The current implementation accepts the supported source waveform functions; it is not a general SPICE expression evaluator.

Controlled Sources

E - VCVS (Voltage-Controlled Voltage Source)

Ename n+ n- nc+ nc- voltage_gain

G - VCCS (Voltage-Controlled Current Source)

Gname n+ n- nc+ nc- transconductance

F - CCCS (Current-Controlled Current Source)

Fname n+ n- vsource_name current_gain

H - CCVS (Current-Controlled Voltage Source)

Hname n+ n- vsource_name transresistance

All four constant-gain controlled-source models are LTI. Current-controlled sources require the referenced voltage-source branch inside the selected region. Control terminals and dependencies cannot be cut across its boundary.

Semiconductor Devices

D - Diode

Dname anode cathode [is=val] [n=val] [vt=val]

Shockley diode model with the listed positive inline parameters.

Q - BJT (Bipolar Junction Transistor)

Qname C B E [S] model_name [AREA area]

Simplified Ebers-Moll model using IS, BF, BR, and VT from a .model card of type NPN or PNP; it is not a full Gummel-Poon implementation. Other BJT model parameters are rejected rather than silently ignored.

M - MOSFET

Mname D G S B model_name [W w] [L l] [M multiplier]

LEVEL=1 only (Shichman-Hodges, 1968). Unsupported LEVEL values: LEVEL 2 (Grove-Frohman), LEVEL 3 (semi-empirical), LEVEL 6 (MOS6), LEVEL 49 (BSIM3v3), LEVEL 54 (BSIM4). Frequency-domain blocks can represent a supplied linearized response; they do not replace a nonlinear BSIM model. Accepted model parameters are KP, VTO (or VT0), LAMBDA, and LEVEL; other MOS model parameters are rejected rather than silently ignored.

The SPICE-to-ModelSpace-to-host path retains Q/M terminals, polarity and parameters and emits these same native Q/M statements. These models execute in Circuit and remain ineligible for an LTI Runtime region.

Switches

S - Voltage-Controlled Switch

Sname n+ n- nc+ nc- model_name [ON|OFF]

.model type SW with positive RON/ROFF (ROFF >= RON). Set thresholds with VON/VOFF or with center/hysteresis VT/VH.

W - Current-Controlled Switch

Wname n+ n- vsource_name model_name [ON|OFF]

.model type CSW with positive RON/ROFF (ROFF >= RON). Set thresholds with ION/IOFF or with center/hysteresis IT/IH.

ModelSpace import preserves voltage control terminals, current control branch, thresholds, and whether an initial state was explicitly specified. A native controller cannot also be overridden by a ModelSpace event schedule. A two-terminal event switch uses its declared event schedule instead.

Frequency-Domain Elements

NPORT - Touchstone Import

NPORT name p1 n1 [p2 n2 ...] FILE=path [TYPE=Y|Z]

Supports Touchstone Y/Z datasets such as .ynp, .znp, .y2p, and .z2p. S datasets are not accepted by NPORT. AC analysis only.

S-Parameter Block

Sname nports p1 n1 [p2 n2 ...] FILE=path [Z0=value]

S-parameter block referencing a Touchstone .sNp or .ts file. This syntax is distinguished from a voltage-controlled switch because the second token is the positive port count and a Touchstone file token is present. Native netlist execution supports AC and fixed-step transient convolution. Variable-step transient execution does not support this block. The transient path samples the supplied data on its FFT grid; it does not perform causality correction. Use the qualified Circuit-to-Pack workflow when causality correction is required. ModelSpace import currently preserves these frequency assets and does not reconstruct them as executable host components.

Power-System Elements

XTAPZ - Tapped Series Impedance

XTAPZ name bus1 bus2 tap=value r=value x=value [phase=deg] [freq=hz]

tap, r, and x are required key/value options. tap and freq must be positive; phase defaults to zero and freq defaults to 60 Hz. Import preserves the element's reference frequency (omega_ref in ModelSpace); the case frequency supplies a default only when it is absent.

ModelSpace Native Model Contracts

The installed registry contains 32 exact model identifiers. Host support and LTI eligibility are determined by both kind and model; an unknown model is rejected even if its kind resembles a supported resistor or source.

Kind and modelNative Circuit representationLTI region
resistor, capacitor, inductor: linear_v1R, C, LYes
conductance.linear_v1R with value 1/GYes
controlled_source: vcvs_v1, vccs_v1, cccs_v1, ccvs_v1E, G, F, HYes, with control dependencies
voltage_source, current_source: ideal_v1V, I and native IRYes
generator_equivalent.thevenin_v1V behind fixed R/LYes
line_pi.linear_v1Series R/L and half shunt C at each endYes
shunt.linear_v1, shunt_load.linear_v1Fixed G/B converted to R and C or LYes
load_zip.static_v1, zip_load.constant_z_v1Fixed G/B loadYes
snubber.rc_v1Series R/CYes
mutual_coupling.linear_v1K with both referenced inductorsYes
tapped_impedance.linear_v1XTAPZYes
transformer_2w.linear_leakage_tap_v1, transformer_3w.linear_leakage_v1Native tapped branchesYes
diode.shockley_v1, diode.ideal_piecewise_v1D or declared piecewise switch approximationNo
bjt.bjt_gummel_poon_lite_v1, mosfet.mos_level1_v1Q, M with supported model cardsNo
switch: ideal_event_v1, ideal_v1, model_parameters_v1Native S/W or scheduled controlNo
breaker.ideal_event_v1, fault.shunt_event_v1Native switch/event circuitNo
frequency_domain_asset.sampled_matrix_v1Complete S/Y/Z frequency samples; native AC and region Pack; no direct host EMTYes
external_unsupported.preserved_v1Preserved provenance; not executableNo

load_zip.static_v1 stores a constant-impedance approximation, not voltage- dependent constant-current or constant-power ZIP feedback. Its approximation disclosure remains applicable even though the resulting operator is LTI. The accepted lowerer aliases are line_pi.pi_v1, shunt.admittance_v1, shunt_load.admittance_v1, and load_zip.constant_z_v1; these do not add new electrical models.

Native construction initializes LTI declarations for every recognized fixed model. Region qualification additionally checks parameters, topology, dependencies and events. Provided numeric parameters must be finite numbers; invalid values are rejected without resistance clamping or branch removal. A zero-R/zero-L line has a native zero-voltage short. A shunt with an explicit second terminal uses that terminal as its return; one-terminal shunts use the case reference node.

Other Netlist Statements

Subcircuits

.SUBCKT / .ENDS / X

.SUBCKT name node1 node2 ...
...
.ENDS
Xinstance node1 node2 ... subckt_name

Subcircuits are expanded (flattened) at parse time.

Directives Ignored with a Parse Warning

These SPICE directives are recognized but produce a parse warning:

.temp, .ic, .nodeset, .option, .options, .dc, .op, .tf, .meas, .measure, .plot, .func, .global, .if/.elseif/.else/.endif, .title, .csparam

Unsupported Elements

These produce a parse error with the element name for identification:

KindNameAlternative
JJFETUse M (MOSFET) or controlled sources
TLossless transmission lineUse lumped RLC equivalents
OLossy transmission lineUse lumped RLC equivalents
UUniform RC lineUse discrete RC ladder
ZMESFET (GaAs FET)Use M (MOSFET)

NPORT transient analysis, MOSFET LEVEL > 1, and saturable magnetics are also unsupported.

Sampled frequency model in ModelSpace

Touchstone import persists frequency_data.frequencies_hz and interleaved frequency_data.matrix_ri in the canonical case. Matrix order is frequency, row, column, real/imaginary. Terminals are ordered p1,n1,p2,n2. param_type selects S, Y or Z; z0 specifies the S reference impedance. Interpolation (linear or log) and extrapolation (hold or linear) are model parameters. Native Circuit samples this model before Builder causality correction. The corrected spectrum goes directly to kernel construction. The imported case executes without reading the source Touchstone file.