ra3xdh / qucs_s

Qucs-S is a circuit simulation program with Qt-based GUI
https://ra3xdh.github.io/
GNU General Public License v2.0
886 stars 114 forks source link

Single Frequency Analysis Status #1081

Closed tomhajjar closed 14 hours ago

tomhajjar commented 5 days ago

It's been a long time since we discussed Single Frequency Analysis and I don't know the status.

I imported a newly made Qucs 0.0.20 project that was converted from QucsStudio. Qucs allow single frequency but Qucs-S grays out the menu settings. Is this normal?

2024-11-20_223641 2024-11-20_223743

Combline_Filter_qucs_prj.zip

ra3xdh commented 2 days ago

It's been a long time since we discussed Single Frequency Analysis and I don't know the status.

The single frequency sweep in SPICE is a hack. It requires vector assembling to work as expected. Otherwise you will get a set of 1x1 plots. This operation cannot be automatized. Write the script by hands if this simulation is needed.

The single frequency and list sweep should work only when Qucsator is selected.

Qucs allow single frequency but Qucs-S grays out the menu settings.

This may be a consequence of #1054 The values are not grayed out in my case, but the Apply button doesn't work if value is selected. The list works as expected. Also the list preset value has disappeared. This may be misleading for the new users, because it's need to know the list syntax. Here is the screen recording.

Screencast_20241123_090111.webm

The preset values from the old dialog: image

@iwbnwif , Please have a look at this.

iwbnwif commented 2 days ago

Yes, it is almost certainly a problem with the new dialog.

Tbh, I am not sure if the single 'value' option is needed. It is easy to just enter a single value in the list. At the moment, the either [100 MHz] or 100 MHz will work with the 'list' option to give the desired result.

iwbnwif commented 1 day ago

Qucs allow single frequency but Qucs-S grays out the menu settings. Is this normal?

This is because the file has the sweep type defined as const which is not currently implemented in Qucs-S. Instead, the sweep type should be list and have a single value, either alone or surrounded by square brackets.

iwbnwif commented 1 day ago

Also the list preset value has disappeared. This may be misleading for the new users, because it's need to know the list syntax.

I have restored the functionality whereby the start and stop values are used to create the list when the dialog is opened, or if they are changed at all. Conversely, providing the list is correctly formulated, the start and stop values will be updated from the list.

A slight change from 2.4.4 is that the dialog format for the list now requires the user to enter the square brackets. I think this is reasonable because it makes the list format consistent with how it is if you are editing on the schematic, although I accept it might confuse some users who were used to the old behavior.

iwbnwif commented 1 day ago

@ra3xdh I would like to do some more refactoring on this class but it will depend on how practical it is to update the interface with the underlying components. For example, currently when a sweep 'list' is selected, the Start and Stop parameter names are replaced with Symbol and Points is replaced with Values.

I think it might be better if the components either ignored any unused parameters or did not rely on the valid parameters being at a certain position in the list. This only seems to apply to the sweep parameters, the other component parameters seem to be much more flexible.

ra3xdh commented 14 hours ago

I would like to do some more refactoring on this class

Yes, renaming the properties is a bad design. But we must to keep the things as is. Introduction of new properties will break the schematic save/load. The schematic load relies on fields order, but not on fields name. The renaming to Symbol is a hack, because the property named Symbol doesn't go to the Qucsator netlist. The implementing of #974 will partially resolve this issue. I am intending to introduce some Simulation/NoSimulation flag. I am planning to start the implementation of #974 by the end of December or January.

ra3xdh commented 14 hours ago

Fixed by #1093

iwbnwif commented 10 hours ago

I am intending to introduce some Simulation/NoSimulation flag. I am planning to start the implementation of #974 by the end of December or January

All understood, no problem. In the meantime I will keep squashing the bugs as they are identified