circuitRF Reference Guide

The Nonlinear Capacitor & the C–V Editor

A capacitor whose value depends on the voltage across it — a varactor/varicap, or the junction capacitance of a device. circuitRF models C(V) as a polynomial (Taylor) series, and the C–V Editor fits that polynomial to a curve for you.

The Taylor-series C(V) model

Nonlinear capacitor symbol
Nonlinear capacitor (NonlinearC)

The capacitance is a power series in the port voltage V — a Taylor-series expansion about V = 0:

C(V) = C0 + C1·V + C2·V² + C3·V³ + …

The coefficients C0, C1, C2, … are the model's parameters. C0 is the zero-bias capacitance; the higher terms bend the curve. A polynomial is used because it's smooth and differentiable everywhere, which the harmonic-balance solver needs (it works with the charge, the integral of C(V)·dV, and its derivatives). You can enter the coefficients by hand, or — far easier — fit them to a measured or modeled C–V curve with the C–V Editor.

Coefficients (C0, C1, …)

NameDefaultUnitMeaning
C01pFConstant term — the zero-bias capacitance (shown).
C1, C2, C3, …(none)—Higher-order coefficients. Add them by hand, or let the C–V Editor generate them.
A NonlinearC with only C0 behaves as an ordinary linear capacitor.

The C–V Editor

Rather than guessing polynomial coefficients, open the C–V Editor (from the NonlinearC's parameter editor — Edit C–V…) and give it the curve you want to model:

  1. Enter the C–V table — pairs of (voltage, capacitance) points describing the device's behavior across the bias range of interest.
  2. Choose a fit order — the highest polynomial degree to use (higher order follows a wigglier curve but can overfit; pick the lowest order that tracks the data well).
  3. Review the preview — the editor overlays the fitted polynomial on your points so you can see the quality of the fit.

The table can also be read from a file: the import button beside Rows/Text takes a .csv of voltage and capacitance — a supplier's capacitance-versus-DC-bias export, or any two columns — and replaces the table with it. The capacitance unit has to be stated, in the header (Capacitance[F], C (pF)) or on each value, and the Unit selector follows the file so the values stay readable. Negative voltages are kept as they are. Nothing changes on the part until Apply.

C-V Editor - C1 CV Data C1 Rows Text Unit: None Fit order: 3 V (volts) C (in chosen unit) + Add point -4 6.2E-13 × -3 7.4E-13 × -2 9.5E-13 × -1 1.35E-12 × -0.5 1.72E-12 × 0 2.4E-12 × Help Close Apply C-V Editor - C1 CV Data C1 Rows Text Unit: None Fit order: 3 V (volts) C (in chosen unit) + Add point -4 6.2E-13 × -3 7.4E-13 × -2 9.5E-13 × -1 1.35E-12 × -0.5 1.72E-12 × 0 2.4E-12 × Help Close Apply
The C-V Editor: a measured C(V) table, the fit order, and the polynomial it fits.

The Apply step (important)

Press Apply to generate the coefficients

Editing the C–V table or the fit order does not change the component on its own. You must press Apply — that's the step that fits the polynomial and writes the C0, C1, C2, … coefficients back onto the component. Until you Apply, the component still carries its previous coefficients. So the workflow is always: edit the table / order → check the preview → Apply. The Apply is a single undoable change.

After Apply, the generated coefficients are ordinary parameters on the NonlinearC — visible and editable in the parameter editor, saved with the schematic, and used by the simulator. Re-open the C–V Editor any time to refit.


See also: Components › NonlinearC · SDD (equation-defined nonlinear devices) · Harmonic Balance.