In recent weeks, all of my changes had to do with the Component heirarchy, fixing pins and wires, and a pass through the connector hell-hole.
I've also added some compile-time switches to toggle strict error checking in the engine, that's all. Okay, so what in god's name is going on here? Well, I'll tell you. Problem 1: The row permutation algorithm is broken. Many cases the engine will be given a pathalogical but non-broken matrix. A matrix for which there is a solution but the current single-pass permutation system will not find the correct permutation and then the thing goes crazy. When this happens, the simulation goes crazy showing absurdly large currents and voltages. Want to know why? The permutation loop. Fixing it will not be easy and will involve carefully evaluating how changes to that loop will affect the partial solution cache that ktechlab owes much of its speed to. There are a number of things that can be done to further improve the performance of the linear algebra engine but these will not earn you more than 5% over what we have now. The slowness we see in profiling is due to the issues below. (It might also simply be inherent to the problem at hand...) Problem 2: Nonlinear and all of its children. The reason perform non-linear is slow is two reasons, first, inherent slowness in the system and second, because the models for a number of the components are horribly, horribly wrong. I'm about 85% sure that the computation of the conductance of the diode in forward bias is correct. I'm not at all sure about the current calculation. =( Also, correcting the conductance in the diode seems to have broken something about Jfet, which had seemed to be doing very well recently. =( (Not all of these changes are in SVN). To better understand WTF is going on here, the word of the day may as well be "Numerical Integration." What is basically going on is that the nonlinear classes generate values for the derivative of the conductance and then by iteration attempt to converge on the solution. If this works, everything's happy. If it doesn't, well... Problem 3: My current diodeTest circuit is showing some faults that I can't readily explain. The test of the many different LED circuits seems to stall out even though the engine is configured to keep going no matter what. I have no idea what's really going on there. =( -- New president: Here we go again... Chemistry.com: A total rip-off. Powers are not rights. ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Ktechlab-devel mailing list Ktechlab-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ktechlab-devel