Main Content

Nonlinear Inductor

Discrete nonlinear inductor

  • Library:
  • Simscape / Electrical / Specialized Power Systems / Fundamental Blocks / Elements

  • Nonlinear Inductor block


The Nonlinear Inductor block represents a time-varying inductor. It implements a discrete variable inductor as a current source. The inductance is specified by a monotonically increasing flux linkage-current characteristic.

When you use a Nonlinear Inductor block in your model, set the powergui block Simulation type to Discrete. The robust discrete solver is used to discretize the electrical model.


The block uses the following equations for the relationship between the voltage, v, across the device and the current through the inductor, i, and the flux linkage:





expand all

Specialized electrical conserving port associated with the inductor positive voltage.

Specialized electrical conserving port associated with the inductor negative voltage.


expand all

Robust integration method used by the block. The discrete solver method is automatically set to Trapezoidal when, in the powergui block, in the Preferences settings, you select Automatically handle discrete solver and Advanced tab solver settings of blocks.

The Trapezoidal robust solver is slightly more accurate than the Backward Euler robust solver, especially when the model is simulated at larger sample times. The Trapezoidal robust solver may produce slight damped numerical oscillations on machine voltage in no-load conditions, while the Backward Euler robust solver prevents oscillations and maintains good accuracy.

Resistance specified by a monotonically increasing flux linkage-current characteristic, specified as a 2-by-n matrix where n is greater than or equal to 2.

Initial flux linkage.

Measurement type. Select Flux, Imag to measure the flux and magnetization current of the nonlinear inductor. Place a Multimeter block in your model to display the selected measurements during the simulation.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2019b