Yes, I checked that, using ngspice in interactive mode, the results of the fourier analysis are produced if I use a .CONTROL section. But if a .CONTROL section is not used the fourier results are not produced (which I find odd). Just to clarify: 1) If I use a netlist file which (in short) looks like this * circuit description precedes this line .AC DEC 100 1 1MEG .TRAN 300u 3 .FOUR 2 V(2) .END the fourier results are not produced. 2) But if I use a netlist file which (in short) looks like this *...
Yes, I understand that it is not relevant to discuss now the issues of older versions of ngspice.
I’ll ask the system administrator to update ngspice to version 34 but this will surely take quite a while. So I guess that, for the time being, and won’t be able to access the fourier vectors.
I’m using version 27 of ngspice in Ubuntu 16.04. To load the circuit I’m using a handler to function ngSpice_Circ and to start the simulation I’m using a handler to function ngSpice_Command with command bg_run. Then, I wait for the end of the simulation. For this, I check for parameter bool of the callback function setup with parameter BGThreadRunning in ngSpice_Init. When this function is called with this parameter having a false value I assume the simulation is finished. Then, and only then, I...
I’m using version 27 of ngspice in Ubuntu 16.04. To load the circuit I’m using a handler to function ngSpice_Circ and to start the simulation I’m using a handler to function ngSpice_Command with command “bg_run”. Then, I wait for the end of the simulation. For this, I check for parameter “bool” of the callback function setup with parameter BGThreadRunning in ngSpice_Init. When this function is called with this parameter having a “false” value I assume the simulation is finished. Then, and only then,...
Yes, I tried it in interactive mode doing the following: Using a file that (in short) looks like this * circuit description precedes this line .AC DEC 100 1 1MEG .TRAN 300u 3 .END I started ngspice, executed the “source <filename>” command, then the “run” command and then the “Fourier 2 V(2)” command, which produced the expected fourier listing (with “Harmonic”, “Frequency”, “Magnitude”, etc. columns). Then, after executing a “display” command, I get the following list of available vectors:</filename>...
Hello again. I still haven’t been able to figure out what I’m doing wring. The thing is this: I’m not sending the fourier command after the background job (which was in fact started with bg_run) is ready; It is the netlist that has all the commands, including the .FOURIER command, in the following order: * circuit description precedes this line .AC DEC 100 1 1MEG .TRAN 300u 3 .FOURIER 2 V(2) .END After the simulation job is ready (and I’m pretty sure it is ready), function ngSpice_AllPlots returns...
Hello Holger. Thanks for your rapid reply. Yes, I had a look to chapter 17.5.29 and tried the fourier analysis in interactive mode. It worked fine. My problem is when using it while using ngspice as a shared library. As the manual says, “The fourier command not only issues a printout, but also generates vectors, one per expression.” but I fail to get those vectors with function ngSpice_AllVecs, even looking in all plots returned by function ngSpice_AllPlots. I’m pretty sure that I’m doing something...
Hello. Can anyone please explain how to use a fourier analysis while using ngspice as a shared library? My doubt is how to access the result of the fourier analysis. Thanks a lot. Best regards, Miguel
Hi. I tried Holger’s suggestion and it worked (ngspice stopped hanging when simulating those circuits). Thank you all.
Hello. When using ngspice as a shared library, I’m parsing ngspice output through ng_getchar function in order to detect if there were any errors in the simulation (for the time being I’m using only transient simulations). It seems to me that this is what is suggested in some ngspice example files: in some of these files, function ng_getchar reads like this: int ng_getchar(char* outputreturn, int ident, void* userdata) { printf("%s\n", outputreturn); /* setting a flag if an error message occurred...
Hi. Thank you all for your feedback on this topic. Holger, I’ll try recompiling ngspice (still in v26) with your suggestion: updating cktop.c so that line 186 reads factor = max(sqrt(factor), 1.00005); /* has to be larger than 1 */ The thing is that in my machine, line 186 of cktop.c is empty (and I’m pretty sure I never edit this file before) but it may just be a matter of different file’s version. In my version of cktop.c, some lines around line 190 read like this: (...) 182 for (n = ckt->CKTnodes;...
ngspice hangs in transient analysis
Holger, please have patience but I'm not sure I understand what "two of the leaks...
Hello Robert, it's done! Miguel
Hello Holger. If I'm understanding valgrind correctly, it is telling me two things:...
Hello Holger. If I'm understanding valgrind correctly, it is telling me two things:...
Hello. Like Jens, I'm also using ngspice as shared lib and also tested it with valgrind...
Hello all. It's alright, Marcel, I got the ngspice_cb.7z file and did some testing....
Holger, I'm a newbie here at SF so I'm unfamiliar with some features of this forum....
Many thanks, Holger.
Hello everybody. Hope this is the right topic to search help for this problem. I’m...
Hello everybody. Hope this is the right topic to search help for this problem. I’m...