-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lack of Lambert W function in Qucsator #50
Comments
On Wed, Oct 23, 2024 at 09:33:14AM -0700, domi8space wrote:
I am new to GitHub, which i join to help improving Qucs-based
softwares (including Qucs-S), and this is my first post.
(Sorry about Github. Many would prefer keeping the stuff together. E.g.
on the mailing list. But switching off the message boards here might
leave us with even less ...)
Thanks for sharing. Can you give a quick explanation how you would use
the function? Do you intend to use it in device modelling or in
postprocessing? Do you need real or also complex arguments? How about
the branch selection? Please provide an example use, e.g. in terms of a
Qucsator netlist?
Most numerical computation softwares (Maple, Mathematica, Matlab, Scilab, Octave, Python, etc.)
I found a C++ implementation in scipy under a suitable license.
According to a comment in the code, it has an issue "close to the branch
point". It uses some of the scipy infrastructure. But it might serve as
a starting point.
|
This repository is not related to Qucs-S. The issues and proposals for Qucs-S should be reported here:
I need more info how this is used for circuit modelling. Usually the resistor connected in series to p-n junction is sufficient and explicit Lambert function is not required. I cannot remember if proprietary circuit simulation software (Spectre, HSPICE) have the support of Lambert function. |
Thanks for your replies. Let me add a few more useful materials to my previous post's mention of existing research about the Lambert W function in the analog electronics domain:
I personally think to use such a function for postprocessing (to plot a theoretical quantity along with the same quantity simulated). However I do not exclude that other people may find it useful for device modelling. As far as I know, only real arguments are needed. This is the case for the few examples I know. Please find below the code of a Qucs schematic using Qucsator (Qucs-S 1.1.0). This case uses only the W0 branch with wexp(w)>=0, but there exist circuits that use both branches (W0 and W-1) with wexp(w)<0. <Qucs Schematic 1.1.0> |
Is it a good practice here to duplicate this request, if justified, in Qucs-S' GitHub as well? If yes I can do it.
As stated above, from my point of view this function would be more useful for postprocessing, however I do not exclude that some users may need it for device modelling. |
No duplication is required. I will keep this in mind while preparing the next version of QucsatorRF. |
Hi all,
I am new to GitHub, which I join to help improving Qucs-based softwares (including Qucs-S), and this is my first post. Unfortunately, despite being an extensive user, I fear I cannot bring much in coding skills...
A famous mathematical function, often found when it is needed to solve equations with a linear term and either a logarithmic or exponential term, is lacking in the Qucs family's set of mathematical functions: the Lambert's W function.
https://en.wikipedia.org/wiki/Lambert_W_function
There are some papers which give some examples of such electronic circuits, and even Wikipedia mentions the "diode and resistor" circuit solving with this function.
Most numerical computation softwares (Maple, Mathematica, Matlab, Scilab, Octave, Python, etc.) have this feature. Because this function can solve many problems that can be found in electronic circuits involving diodes or bipolar transistors, I think it would be useful to see it in Qucsator-based simulation softwares. I personally have to export the simulation data from Qucs(-S) and use an external software to plot the simulated results with the theoretical ones that use the Lambert W function, which makes it painful for repetitive iterations.
Thanks!
The text was updated successfully, but these errors were encountered: