Non Linear resistor behavior?

8 views (last 30 days)
MICHAEL NORRELL
MICHAEL NORRELL on 17 Oct 2022
Answered: Moksh on 18 Sep 2023
Hello,
I have to use an Non Linear Resistor in my circuit. I thought that I understood how it fucntioned based on the documentation. However, putting in the values that I needed caused errors in the simulation.
=== Simulation (Elapsed: 1 sec) ===
Error:The model contains blocks that require a discrete solver. The powergui Simulation type must be set to Discrete.
=== Simulation (Elapsed: 1 sec) ===
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Derivative of state '1' in block 'CircuitNLR/Integrator' at time 0.1 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
=== Simulation (Elapsed: 0.817 sec) ===
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Derivative of state '1' in block 'CircuitNLR/Integrator' at time 1.0 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Ideally, I would like the resistor to drop from 100M to 1k or less. I am to understand that for 100M the first value of the matrix should be v = 10MV and i = 100mA? And the following for R= 1k, => v = 1v and 1mA = i?
The cirucit will finish normally with the Non linear resistor removed.

Answers (1)

Moksh
Moksh on 18 Sep 2023
Hi Michael,
I understand that you are trying to model a non-linear resistor in a Simulink model, and you are facing some errors.
Error #1
The model contains a block that requires a discrete solver. You can try the following steps to resolve this error:
  • Try switching from a continuous solver to a discrete solver. Some examples are ode1, ode2, etc. You can change the solver under the “Solver” tab in “Model Settings” section.
  • If you are using a “powergui” block in your model, try changing its type from “Continuous” to “Discrete”.
Error #2
Derivative of state '1' in block 'CircuitNLR/Integrator' at time 0.1 is not finite. For resolving this error, you can try the following:
  • Change your solver type to “Variable-Step” under the Solver tab of the Model Properties.
For more information on this, please refer to the following documentation links:
  1. Powergui: Environment block for Simscape Electrical Specialized Power Systems models https://in.mathworks.com/help/sps/powersys/ref/powergui.html
  2. Nonlinear Resistor: Time varying variable reisistor block https://in.mathworks.com/help/sps/powersys/ref/nonlinearresistor.html
Hope this information helps!
Best regards,
Moksh Aggarwal

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!