From: Soeren D. S. <soe...@gm...> - 2013-09-28 08:37:54
|
So, university lectures are going to start again in two weeks, and I won't actually have time to do any programming during the next 4 months. I'm not sure whether to merge my branch "numerical_improvements" now. For me, it has been partly experimental to see what works and what doesn't. While it *does* improve transient simulation, the code is a bit of a mess now, and there are some issues which I described below. The algorithm that I implemented is described in the "Technical Papers" in the branch "numerical_improvements", sections 6.3 to 6.5. Please compile and read this. I hope that it clarifies the advantages of the update method. I also changed the API for energy-storage components to a more global approach (namely, the "F matrix"). Only after that, I noticed that it breaks the Trapezoidal/Adams methods because some structural information about the circuit is lost. It should be possible to change it back to the old API (which I never deleted) and port the latter to the update approach. More known issues, which are fixable but not easily fixable: * I haven't figured out how to port e_trsolver and if the Octave interface needs to be changed. * Every non-linear capacitance enlarges this matrix (can only be fixed by porting the old API). * DC analysis now considers initial conditions. But without initial DC, they are not applied in transient analysis. If you think I should merge now, I can clean up the code a bit. But I'd actually be more comfortable doing a top-down refactoring next year. What do you think? Sören |
From: Frans S. <fra...@gm...> - 2013-09-28 14:44:37
|
Hello Soeren, First of all thank you so much for your hard work. I have been downloading your changes and indeed see some performance improvements, however I also think it is important to have a stable qucs-core code. I have been away for some time as I was in Africa and got married, now I am back and am having a hard time to read what happened to this nice project! It is important not to rush, but the code will sit comfortably in its branch until you (or one of us) find time to cleanup the code and fix the few issues that still remain. I wish you good luck with your lectures and hope to see you back after these 4 months. Again, thanks a million times! Frans On 28-09-13 10:37, Soeren D. Schulze wrote: > So, university lectures are going to start again in two weeks, and I > won't actually have time to do any programming during the next 4 months. > > I'm not sure whether to merge my branch "numerical_improvements" now. > For me, it has been partly experimental to see what works and what > doesn't. While it *does* improve transient simulation, the code is a > bit of a mess now, and there are some issues which I described below. > > The algorithm that I implemented is described in the "Technical Papers" > in the branch "numerical_improvements", sections 6.3 to 6.5. Please > compile and read this. I hope that it clarifies the advantages of the > update method. > > I also changed the API for energy-storage components to a more global > approach (namely, the "F matrix"). Only after that, I noticed that it > breaks the Trapezoidal/Adams methods because some structural information > about the circuit is lost. It should be possible to change it back to > the old API (which I never deleted) and port the latter to the update > approach. > > More known issues, which are fixable but not easily fixable: > > * I haven't figured out how to port e_trsolver and if the Octave > interface needs to be changed. > > * Every non-linear capacitance enlarges this matrix (can only be fixed > by porting the old API). > > * DC analysis now considers initial conditions. But without initial DC, > they are not applied in transient analysis. > > If you think I should merge now, I can clean up the code a bit. But I'd > actually be more comfortable doing a top-down refactoring next year. > What do you think? > > > Sören > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Qucs-devel mailing list > Quc...@li... > https://lists.sourceforge.net/lists/listinfo/qucs-devel |