In the transition from the old simulation engine it was one detail not completely solved:
Reactive components update in regular intervals, which was determined by simulation step in the old engine.
In the new engine a "Simulation step" was kept to be used by Reactive Components.
This made settings for simulation speed too complicated and error prone.
And the relation betwen simulation step and reactive components was not obvious.
So I refactored the simulation speed settings and added a "Reactive Step" property specific for reactive components.
Note that backwards compatibility is kept, previous 1.0.x versions should be able to open circuits in the new format.
And there are some issues with Reactive components:
1- Not optimized for the new engine, taking lots of cpu even when they are in a stable state:
Now it is optimized and reactive components will not take any cpu if they are stable:
2- If the "reactive step" is too long it will not work properly for high frequencies or fast voltage changes:
To solve this, now a warning is shown if the component find that it can't keep updating fast enough with the current reactive step size.
Hovering the component a message is shown informing about the problem.
In addition there is a new property "Auto step":
If 0 it is disabled.
Else it will auto-resize the reactive step to solve the problem.
The value represent the "scale" of the sub-stepping.
With Auto step = 1 is enough to at least get the voltages correct, but in some cases more precision can be achieved increasing the value.
Note that this will increase dramatically cpu usage and decrease simulation speed, so use it only if needed.
Here is a short video showing the usage:
Reactive components update in regular intervals, which was determined by simulation step in the old engine.
In the new engine a "Simulation step" was kept to be used by Reactive Components.
This made settings for simulation speed too complicated and error prone.
And the relation betwen simulation step and reactive components was not obvious.
So I refactored the simulation speed settings and added a "Reactive Step" property specific for reactive components.
Note that backwards compatibility is kept, previous 1.0.x versions should be able to open circuits in the new format.
And there are some issues with Reactive components:
1- Not optimized for the new engine, taking lots of cpu even when they are in a stable state:
Now it is optimized and reactive components will not take any cpu if they are stable:
2- If the "reactive step" is too long it will not work properly for high frequencies or fast voltage changes:
To solve this, now a warning is shown if the component find that it can't keep updating fast enough with the current reactive step size.
Hovering the component a message is shown informing about the problem.
In addition there is a new property "Auto step":
If 0 it is disabled.
Else it will auto-resize the reactive step to solve the problem.
The value represent the "scale" of the sub-stepping.
With Auto step = 1 is enough to at least get the voltages correct, but in some cases more precision can be achieved increasing the value.
Note that this will increase dramatically cpu usage and decrease simulation speed, so use it only if needed.
Here is a short video showing the usage: