[Ktechlab-devel] Porting to KDE4
Alan Grimes
agrimes at speakeasy.net
Sun Aug 31 15:06:35 UTC 2008
> I think what's really missing is a high-level architectural documentation
> of the source code. It's hard to decide what and how to refactor, without
> having such documentation. There may happen that we only reimplement a
> design, without improving it. I think I will start sketching something
> soon.
I probably have the most experience with the source at this point, I'll
help with what I can. The system is tightly bound to QT3's Document
Object Model, which is what it uses to keep track of it's components in
a "circuit document". I hardly know anything about QT so I don't know
how big an issue this will be.
I do want to re-engineer the component model such that there are only a
handful of built-in "ideal" components, everything else being handled by
a database of XML files (or something).
The most major change I want to make to the simulation engine is do a
better job of implementing grounding, and allow there to be multiple
common busses as well as an "earth" ground.
Another improvement would be to allow circuits to exist on separate
pages so the user can specify any interconnections between the ground
planes...
This is useful in mixed signal circuits where it is sometimes the case
where there is a "digital ground" and an "analog ground" in order to
provide the cleanest possible electrical environment for the analog part.
Also in switchmode power supplies, common is referenced to the rectifier
instead of earth...
One of the most glaring deficiencies in the component library are
transformers. The reason they aren't implemented is because they need to
support a hundred and one different primary and secondary configurations.
Right now reactive components are handled outside of the man simulator.
I think it might be possible to extend the main engine by allowing
reactive components to store their reactive charge in the main matrix.
If I'm not totally off the mark, this should drastically simplify many
parts of the simulator. Nonlinear components would still need to be a
special case. (currently reactive components are handled in an iterative
manner outside the main loop.)
I also want to implement triodes and pentodes. :)
--
FAKE candidates; RIGGED machines; Don't vote.
Remember, if there aren't any anti-war candidates, it's not an election.
Chemistry.com: A total rip-off.
Powers are not rights.
More information about the Ktechlab-devel
mailing list