[go: up one dir, main page]

Activity for Thomas Dye

  • Thomas Dye Thomas Dye posted a comment on ticket #3481

    Hi Robert, thanks for your help. Sorry to be a nuisance. Some programming languages offer warnings when functions (particularly built-in ones) are accidentally redefined, would there be a way to turn this on in Maxima?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    SuiteSparse won't directly compile for windows. But https://github.com/jlblancoc/suitesparse-metis-for-windows builds fine on windows and for CUDA. As far as I am aware, cuSPARSE is a little behind cuda-enabled SuiteSparse in performance and features. How trivial would it be to use the relevant elements of SuiteSparse, built for windows with cuda, instead of cuSPARSE?

  • Thomas Dye Thomas Dye created ticket #3481

    ~ used with improper arguments: [-3,4,-1] [1,-3,2]

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Having a bit of trouble here. According to the manual, the syntax is correct. But it appears that + signs have already been parsed out of the netlist when translatepoly is called. So when translatepoly adds in plus signs, to form an expression for the polynomial, ngspice returns an error. Full details here: https://sourceforge.net/p/ngspice/discussion/127605/thread/5356888d/#f512/9a38

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I have followed Holger's example in translatepoly and used cieq. This is included in an optional double check in interpretpoly, enabled by defining DOUBLE_CHECK_POLY TRUE. git diff --cached gives the changes below. diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf223594c..3de5bde0f 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -12,6 +12,7 @@ Author: 2018 Thomas P. Dye #include "translatepoly.h" #define TRANSLATEPOLY_REPLACE TRUE +#define...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I have followed Holger's example in translatepoly and used cieq. This is included in an optional double check in interpretpoly, enabled by defining DOUBLE_CHECK_POLY TRUE. git diff --cached gives the changes below. diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf223594c..3de5bde0f 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -12,6 +12,7 @@ Author: 2018 Thomas P. Dye #include "translatepoly.h" #define TRANSLATEPOLY_REPLACE TRUE +#define...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    This fix is not good enough. It looks like "POLY" and "poly" would both make it through previous functions unaltered. I need to explore a case insensitive approach.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Changing to curly brackets does not remove the error: (gdb) run Starting program: /usr/local/bin/polyngspice -b polytest1.sp [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Circuit: polytest1 Error on line 0 : be.x1e.e1 v = {{1.00000000000000000e+00} + {{1.00000000000000000e+00}*{v( nvctrl , 0 )}} + {{1.00000000000000000e+00}*{v( nvctrl , 0 )}*{v( nvctrl , 0 )}}} unknown parameter (+) Error on line 0 : g.x1g.g1 nout1g 0 POLY(...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Latest diff, including changes to curly brackets: diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf223594c..7dafa0815 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -115,7 +115,7 @@ Poly_t interpretpoly(struct card *input, char controlType, char sourceType) polystr = nexttok(polystr); polystr = nexttok(polystr); int charsAfterPoly = 0; - sscanf(polystr, "poly( %u )%n", &Poly.Dimensions, &charsAfterPoly); + sscanf(polystr, "POLY( %u...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Verified that SIGSEGV no longer occurs. Here is the diff: diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf223594c..d1b3b6cc5 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -115,7 +115,7 @@ Poly_t interpretpoly(struct card *input, char controlType, char sourceType) polystr = nexttok(polystr); polystr = nexttok(polystr); int charsAfterPoly = 0; - sscanf(polystr, "poly( %u )%n", &Poly.Dimensions, &charsAfterPoly); + sscanf(polystr, "POLY(...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I am erroneously using brackets instead of curly brackets to delimit an expression, perhaps that is causing this error: (gdb) run Starting program: /usr/local/bin/polyngspice -b polytest1.sp [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Circuit: polytest1 Error on line 0 : be.x1e.e1 v = 1.00000000000000000e+00 + ((1.00000000000000000e+00)*(v( nvctrl , 0 ))) + ((1.00000000000000000e+00)*(v( nvctrl , 0 ))*(v( nvctrl , 0 )))...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Actual error causing SIGSEGV is probably non-allocation of pointer output_line, correcting this and will verify accordingly.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Looks like I made a wrong assumption about the use of struct card. I believe that input_line->actualLine is NULL. (gdb) run Starting program: /usr/local/bin/polyngspice -b polytest1.sp [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Circuit: polytest1 Program received signal SIGSEGV, Segmentation fault. 0x000055555563eadc in translatepoly (input_deck=<optimised out>) at ../../../src/frontend/translatepoly.c:357 357 output_line->actualLine...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    OK, so I fixed the first error: diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf223594c..300ed9054 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -115,7 +115,7 @@ Poly_t interpretpoly(struct card *input, char controlType, char sourceType) polystr = nexttok(polystr); polystr = nexttok(polystr); int charsAfterPoly = 0; - sscanf(polystr, "poly( %u )%n", &Poly.Dimensions, &charsAfterPoly); + sscanf(polystr, "POLY( %u )%n", &Poly.Dimensions,...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    How would I make use of the debugging features of a debug build? EDIT: Used gdb: worked well.

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    How would I make use of the debugging features of a debug build? EDIT: Used gdb: worked well.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    How would I make use of the debugging features of a debug build?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Maybe we could try allowing for whitespace around the brackets: diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index cf22359..1cc24f8 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -115,7 +115,7 @@ Poly_t interpretpoly(struct card *input, char controlType, char sourceType) polystr = nexttok(polystr); polystr = nexttok(polystr); int charsAfterPoly = 0; - sscanf(polystr, "poly( %u )%n", &Poly.Dimensions, &charsAfterPoly); + sscanf(polystr,...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    updated version of polytest.sp: polytest1 .subckt parquadE in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 E1 out gnd POLY(1) in gnd coeff0 coeff1 coeff2 .ends .subckt parquadG in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 G1 out gnd POLY(1) in gnd coeff0 coeff1 coeff2 .ends .subckt parquadF in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 rin=1.0 V1 in 1 DC 0.0 R1 1 gnd r=rin F1 out gnd POLY(1) V1 coeff0 coeff1 coeff2 .ends .subckt parquadH in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 rin=1.0 V1 in 1 DC 0.0...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    still getting the same error message on the poly branch: ~/polyngspice-circuits$ polyngspice -b polytest1.sp Error: XSPICE is required to run the 'poly' option in line 4 e1 out 0 poly(1) in gnd{coeff0}{coeff1}{coeff2} See manual chapt. 31 for installation instructions ERROR: fatal error in ngspice, exit(1)

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I think the solution is to add a device type to ft_sim defined in src/include/ngspice/fteext.h. A routine for the device type would then have to be added to find_instance_parameter EDIT: The device type would be for a polynomial controlled source, allowing the relevant nodes to be parsed as nodes, rather than parameters.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I think the solution is to add a device type to ft_sim defined in src/include/ngspice/fteext.h. A routine for the device type would then have to be added to find_instance_parameter

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    polytest1.sp: polytest1 .subckt parquadE in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 E1 out gnd POLY(1) in gnd coeff0 coeff1 coeff2 .ends .subckt parquadG in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 G1 out gnd POLY(1) in gnd coeff0 coeff1 coeff2 .ends .subckt parquadF in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 rin=1.0 V1 in 1 DC 0.0 R1 1 intgnd r=rin V2 gnd intgnd DC 0.0 F1 out gnd POLY(1) V1 V2 coeff0 coeff1 coeff2 .ends .subckt parquadH in gnd out coeff0=1.0 coeff1=1.0 coeff2=1.0 rin=1.0 V1 in...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    ~/polyngspice-circuits$ polyngspice -b polytest1.sp Error: XSPICE is required to run the 'poly' option in line 4 e1 out 0 poly(1) in gnd{coeff0}{coeff1}{coeff2} See manual chapt. 31 for installation instructions ERROR: fatal error in ngspice, exit(1) looks like there is an up front error checker that needs to be updated. EDIT: Error checker is in src/frontend/inpcom.c, I have removed it on my local copy of the poly branch. Holger, please find attached a diff to commit 92d847c6d7930ef861f6cd85275...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    ~/polyngspice-circuits$ polyngspice -b polytest1.sp Error: XSPICE is required to run the 'poly' option in line 4 e1 out 0 poly(1) in gnd{coeff0}{coeff1}{coeff2} See manual chapt. 31 for installation instructions ERROR: fatal error in ngspice, exit(1) looks like there is an up front error checker that needs to be updated.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-users

    Found one that is pretty up to date: https://github.com/snmishra/emacs-netlist-modes/blob/master/spice-mode/spice-mode.el

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-users

    I am just starting to get to grips with emacs, but would like to use it to write some spice netlists, obviously I can just use fundamental mode, but I wondered if there would be much interest in an up to date emacs mode for spice3 and/or ngspice?

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I have managed to fix the omission. Holger, please find a git diff to your last commit attached.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I have managed to fix the omission please find a git diff to your last commit attached, Holger.

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    Doesn't build yet: make[2]: Entering directory '/home/thomas/ngspice-ngspice/debug/src' CC ngspice-main.o CC ngspice-conf.o CC ngspice-ngspice.o CCLD ngspice frontend/.libs/libfte.a(inp.o): In function `inp_spsource': /home/thomas/ngspice-ngspice/debug/src/frontend/../../../src/frontend/inp.c:617: undefined reference to `translatepoly' collect2: error: ld returned 1 exit status Makefile:1079: recipe for target 'ngspice' failed make[2]: *** [ngspice] Error 1 make[2]: Leaving directory '/home/thomas/ngspice-ngspice/debug/src'...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Doesn't build yet: make[2]: Entering directory '/home/thomas/ngspice-ngspice/debug/src' CC ngspice-main.o CC ngspice-conf.o CC ngspice-ngspice.o CCLD ngspice frontend/.libs/libfte.a(inp.o): In function `inp_spsource': /home/thomas/ngspice-ngspice/debug/src/frontend/../../../src/frontend/inp.c:617: undefined reference to `translatepoly' collect2: error: ld returned 1 exit status Makefile:1079: recipe for target 'ngspice' failed make[2]: *** [ngspice] Error 1 make[2]: Leaving directory '/home/thomas/ngspice-ngspice/debug/src'...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Spotted a couple of omissions. diff --git a/src/frontend/translatepoly.c b/src/frontend/translatepoly.c index db56c43..c870774 100644 --- a/src/frontend/translatepoly.c +++ b/src/frontend/translatepoly.c @@ -136,9 +136,9 @@ Poly_t interpretpoly(struct card *input, char controlType, char sourceType) char * formatVC = "v( %s , %s )", * formatCC = "( i( %s ) - i( %s ) )", * formatselected; switch(controlType) { case 'i': - formatselected = formatCC; + formatselected = formatCC; break; case 'v': - formatselected...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    How many of the features of spice3 does PowerRush implement?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    This is my progress. The attached files are an attempt at implementing the process. It doesn't yet handle POLY() functions with parametric or expression based coefficients. Any comments/guidance? Little has changed since 3rd February.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Sorry, I haven't been doing much on this the past week or so, I will get back to it soon.

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-users

    Deprecated is used sometimes to mean obsolete, but old would have been good enough. I suppose it's the same as most manufacturer provided spice models, they are for use as part of the design cycle but not a replacement for physical testing. Since it's not open source then it shouldn't be distributed automatically by the ngspice project, but could it be supported in a similar way to adms, where the individual building their own copy of ngspice would be able to download the source code seperately or...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-users

    It's used sometimes to mean obsolete, but old would have been good enough. I suppose it's the same as most manufacturer provided spice models, they are for use as part of the design cycle but not a replacement for physical testing. Since it's not open source then it shouldn't be distributed automatically by the ngspice project, but could it be supported in a similar way to adms, where the individual building their own copy of ngspice would be able to download the source code seperately or a library...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-users

    Does SiMKit work with ngspice? There is an old, deprecated link to it on the ngspice website on this page: http://ngspice.sourceforge.net/spdevs.html Is there any support for using the simkit libraries either for windows or for linux, within ngspice?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    This is the kind of thing I was doing before I gave Visual Studio Code a go. There are plenty of nice to have features in the GUI and it does make things easier in the short term. At least it is open source. I don't know a text editor that can call other programs from within it. Normally I would just use a text editor in one window and a terminal in the other. Which command line text editor do you use?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I've written the main subfunctions, now I need to write the main overarching function, the one that has it's prototype in the header file for use in other files i.e. inp.c. After that I will attempt to add translatepoly.h and translatepoly.c to the relevant Makefile.in and build and test the function.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I did try to import ngspice into one or other version of eclipse with CDT. Can't remember why it didn't work.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Does anyone have any idea where I would find information or the source code for the gettok_node() function?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Ok. I have spent a lot of time programming microcontrollers where this sort of thing would be more of an issue.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    It turns out that the spice2poly function in xspice simply directly implements the Fortran algorithm with no comments other than one explaining that the fortran implementation also included no comments. At the time I read it I assumed that the nextpower function was an external fortran function, I should probably check that and see if I can find a definition for it.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I am not at the point of testing yet. It sounds like there is some underlying problem in convlimit enabled code? Or is convlimit some tradeoff between accuracy and execution time?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I wanted to check how to handle lack of memory. i.e. when tmalloc or trealloc return NULL. Should I just print out something to stderr and then call controlled_exit?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I found a more robust way of doing it. Whilst it will work for as many dimensions and coefficients as memory will allow, it will get less efficient as the number of dimensions and the order increase. There is no reason to limit the number of dimensions in the software, beyond handling the case that there isn't enough memory. But given in most applications the coefficients will be written by hand at some point there is little danger of that. Even if someone were to computer generate coefficients it...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I haven't posted in a while. I'm slowly plodding through with this, day by day.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    found a better, more robust way, using structures and counting the number of each term in the multiplication for each permutation.

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h src/include/ replace_token none src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h system included in ngspice/ngspice.h...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I think I have found a way using for loops and sums of powers of 2 to procedurally generate expressions for the polynomials, this should therefore work for polynomials up to a given number of dimensions, there should also be a way of using more than one variable or a linked list of variables to use more dimensions. It's probably better to have a fixed limit for the number of dimensions by default, to save memory. I don't think polynomials of more than 32 or 64 dimensions are going to be useful on...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    It appears that PSPICE uses the same syntax, it's not clear how the ordering of coefficients works for higher dimension polynomials than 2 but it looks the same for 2 and lower dimensions.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Whilst it is simple to translate 1 and 2 dimensional polynomials of moderate order using the coefficient ordering in the manual, 3 dimensions or more with a high order starts to make it difficult to programmatically describe the progression of the combination of expressions 1, 2, 3... without accidentally including two X1*X2 terms for example. Where does this ordering come from? If it is a feature in an existing version of spice it has to stay as it is, but is there scope for changing the ordering...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h src/include/ replace_token none src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h system included in ngspice/ngspice.h...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h src/include/ replace_token none src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h system included in ngspice/ngspice.h...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h src/include/ replace_token none src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h system included in ngspice/ngspice.h...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token none ngspice/src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none ngspice/src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token none ngspice/src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none ngspice/src/frontend/ defined in inpcom.c : 4132 strncpy string.h system included in ngspice/ngspice.h strstr string.h...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token none ngspice/src/frontend/ defined in inpcom.c : 5134 search_plain_identifier none ngspice/src/frontend/ defined in inpcom.c : 4132 strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token none ngspice/src/frontend/ defined in inpcom.c:5134 search_plain_identifier none ngspice/src/frontend/ defined in inpcom.c:4132 strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token none ngspice/src/frontend/ defined in inpcom.c search_plain_identifier strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth checking which file to include controlled_exit Not sure...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix ngspice/stringutil.h ngspice/src/include/ replace_token search_plain_identifier strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth checking which file to include controlled_exit Not sure whether this will be needed but will find anyway...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix replace_token search_plain_identifier strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth checking which file to include controlled_exit Not sure whether this will be needed but will find anyway gettok_char strchr gettok_node copy...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix replace_token search_plain_identifier strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth checking which file to include controlled_exit Not sure whether this will be needed but will find anyway gettok_char strchr gettok_node copy...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix replace_token search_plain_identifier strncpy strstr gettok tprintf skip_ws fprintf Seems trivial but still worth checking which file to include controlled_exit Not sure whether this will be needed but will find anyway gettok_char

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I plan on using grep to find the header files I am likely to need based on the functions used in inp_compat(struct line *card) on line 4211 of ngspice\src\frontend\inpcom.c, as mentioned by Holger. Function Header File Location Comments ciprefix replace_token search_plain_identifier strncpy

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    Just getting back to this now. Not 100% certain where to put my function definition etc. If I put it in a seperate file that means I have to work out which header files I need to include but I feel like ngspice/src/frontend/inp.c is big enough already.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Just getting back to this now. Not 100% certain where to put my function definition etc. If I put it in a seperate file that means I have to work out which header files I need to include but I feel like ngspice/src/frontend/inpcom.c is big enough already.

  • Thomas Dye Thomas Dye posted a comment on discussion Help

    thomas@thomas-LIFEBOOK-AH532:~/acousto-2.0$ ./configure --with-libconfig=/usr/lib/x86_64-linux-gnu/ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name......

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    This is a thread for me to record my progress and ask questions etc. Tom, some info: About Polynomal sources: manual chapt. 4.2.5, about B sources manual chapt. 5.1. Maybe o.k. to start with generating some input files containing polynomal sources, and replace these by B sources obtaining the same functional dependency, just for testing and learning about the syntax. A 'procedure' how to translate any polynomial source into a B source should finally result. All input netlist lines have been read...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    Tom, some info: About Polynomal sources: manual chapt. 4.2.5, about B sources manual chapt. 5.1. Maybe o.k. to start with generating some input files containing polynomal sources, and replace these by B sources obtaining the same functional dependency, just for testing and learning about the syntax. A 'procedure' how to translate any polynomial source into a B source should finally result. All input netlist lines have been read in from the input file and pre-treated by function deck = inp_readall(fp,...

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    Tom, some info: About Polynomal sources: manual chapt. 4.2.5, about B sources manual chapt. 5.1. Maybe o.k. to start with generating some input files containing polynomal sources, and replace these by B sources obtaining the same functional dependency, just for testing and learning about the syntax. A 'procedure' how to translate any polynomial source into a B source should finally result. All input netlist lines have been read in from the input file and pre-treated by function deck = inp_readall(fp,...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Tom, some info: About Polynomal sources: manual chapt. 4.2.5, about B sources manual chapt. 5.1. Maybe o.k. to start with generating some input files containing polynomal sources, and replace these by B sources obtaining the same functional dependency, just for testing and learning about the syntax. A 'procedure' how to translate any polynomial source into a B source should finally result. All input netlist lines have been read in from the input file and pre-treated by function deck = inp_readall(fp,...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Thank you Holger and Robert, I would be more than happy taking on a small project in the existing ngspice project. The polynomial voltage controlled voltage source is a good candidate. I will start looking at this today. Is there an existing discussion thread I should use for discussion on this project?

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    A good way would be to really compile the SPICE/XSPICE circuit as a whole, and let the compiler figure out the parallellization issues. The interface code would go away, and because of the way the XSPICE models are written good use can be made of AVX512 SIMD instructions. The existing OMP code should stay for the classic SPICE models with their huge straight-line code blocks. Surely it depends on what your end goals are. If they are to simulate the same circuit many times over then compiling it may...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Surely it depends on what your end goals are. If they are to simulate the same circuit many times over then compiling it may be acceptable. However most circuits are run a few times before something is changed and then they are run again. This is a fundamental debate in computing: compiled languages vs interpreted languages.

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Question: Is it really worth making each individual model run on multiple processors? Would it not be better to have individual models run one per processor and have multiple models running at any one time? Reallistically we are looking at less than 20 cores for the average person, and less than 50 cores even for incredibly complex circuits. How do you propose prioritising tasks between processors?

  • Thomas Dye Thomas Dye posted a comment on ticket #34

    None, I realise it was lapse of me to just click on a file like that but it also shouldn't be the case that running it requires me to turn off my PC by the power button. On 6 November 2017 at 23:09, Jay Satiro raysatiro@users.sf.net wrote: Ok I see what you are saying. What steps led you to use that file? Attachments: Capture.PNG https://sourceforge.net/p/getgnuwin32/bugs/_discuss/thread/2981298d/5d4d/attachment/Capture.PNG (17.3 kB; image/png) [bugs:#34] https://sourceforge.net/p/getgnuwin32/bugs/34/...

  • Thomas Dye Thomas Dye posted a comment on ticket #34

    Windows 10. GetGnuWin32 version 0.6.3. Don't have a screenshot. Navigate to GetGnuWin32\cygwin_addons and double click on info.exe. On 5 November 2017 at 21:39, Jay Satiro raysatiro@users.sf.net wrote: What OS is this and what version of GetGnuWin32 are you using? Can you give me steps to reproduce this and a screenshot? [bugs:#34] https://sourceforge.net/p/getgnuwin32/bugs/34/ info.exe is a self spawning process on windows* Status: open Group: v1.0 (example) Created: Tue Oct 24, 2017 10:30 AM UTC...

  • Thomas Dye Thomas Dye posted a comment on ticket #34

    It opens many many windows running info.exe that won't close and when you end task with task manager more info.exe windows spawn. On 5 Nov 2017 19:52, "Jay Satiro" raysatiro@users.sf.net wrote: Sorry but I don't understand this report. Can you explain what you are seeing that you think is not working? install-info is going to run multiple times. [bugs:#34] https://sourceforge.net/p/getgnuwin32/bugs/34/ info.exe is a self spawning process on windows* Status: open Group: v1.0 (example) Created: Tue...

  • Thomas Dye Thomas Dye created ticket #34

    info.exe is a self spawning process on windows

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Hi Francesco, OK, good to know. Thanks Tom

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Hi all, I was looking on the ngspice website for some developer documentation for xspice and it turns out that most of the xspice links, which went to http://users.ece.gatech.edu/~mrichard/Xspice/ are all no longer working. It looks like Georgia tech aren't aware of the importance of that bit of their heritage... Anybody know what can be done about this?

  • Thomas Dye Thomas Dye modified a comment on discussion ngspice-devel

    As you will realize, I was teasing you a bit with the development task :-) Haha, ok I guess I used the wrong word? Maybe I'm just looking to learn more about spice and contribute to the development if I can. I have learnt to use both C and C++ several times before my degree but have only come to appreciate the languages and the differences between them after being formally taught C in second year and then relearning C++ a year or so later. One thing that has become clear to me is that there is a...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    As you will realize, I was teasing you a bit with the development task :-) Haha, ok I guess I used the wrong word? Maybe I'm just looking to learn more about spice and contribute to the development if I can. I have learnt to use both C and C++ several times before my degree but have only come to appreciate the languages and the differences between them after being formally taught C in second year and then relearning C++ a year or so later. One thing that has become clear to me is that there is a...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    I have started using the example xspice netlists and testing with both standard ngspice as installed from the master branch and KLU enabled ngspice as installed from the KLU-6+8-candidate branch. Using KLU with the examples/xspice/analog_models1_transient.sp generates a matrix singularity associated with the pwl source. So either the previous models in the file work without additional specific code or this is just the first error of many. It is clear that the structure of the source code for the...

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    As far as I can tell the xspice folder in the KLU-6+8-candidate branch tracks that in the master branch. Does this mean the models need updating with KLU specific code?

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Which of the KLU branches should I fork? Tom

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Cheers marcel, I've started looking into KLU and I'll see what I can do. Tom

  • Thomas Dye Thomas Dye posted a comment on discussion ngspice-devel

    Hi, I am a soon to graduate Electronic Engineering Student looking for some C or C++ development tasks in ngspice. For personal reasons I will have a few months on my hands after graduating and would like to use some of that time to contribute to this project if I can. I have happily compiled ngspice from the git repository, which is much easier than trying to compile the latest release tarball... I have little experience with actually writing and using netlists etc, having used multisim (and other...

1