{"action":"created","issue":{"url":"https://api.github.com/repos/Qucs/qucs/issues/206","labels_url":"https://api.github.com/repos/Qucs/qucs/issues/206/labels{/name}","comments_url":"https://api.github.com/repos/Qucs/qucs/issues/206/comments","events_url":"https://api.github.com/repos/Qucs/qucs/issues/206/events","html_url":"https://github.com/Qucs/qucs/pull/206","id":59559702,"number":206,"title":"Another step towards solving issue 41...","user":{"login":"in3otd","id":9018179,"avatar_url":"https://avatars.githubusercontent.com/u/9018179?v=3","gravatar_id":"","url":"https://api.github.com/users/in3otd","html_url":"https://github.com/in3otd","followers_url":"https://api.github.com/users/in3otd/followers","following_url":"https://api.github.com/users/in3otd/following{/other_user}","gists_url":"https://api.github.com/users/in3otd/gists{/gist_id}","starred_url":"https://api.github.com/users/in3otd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/in3otd/subscriptions","organizations_url":"https://api.github.com/users/in3otd/orgs","repos_url":"https://api.github.com/users/in3otd/repos","events_url":"https://api.github.com/users/in3otd/events{/privacy}","received_events_url":"https://api.github.com/users/in3otd/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-02T22:09:03Z","updated_at":"2015-03-03T21:43:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Qucs/qucs/pulls/206","html_url":"https://github.com/Qucs/qucs/pull/206","diff_url":"https://github.com/Qucs/qucs/pull/206.diff","patch_url":"https://github.com/Qucs/qucs/pull/206.patch"},"body":"needed a lot of time to find a nasty bug that caused almost all transient simulations with BJT having a non-zero  `PTF` (excess phase) parameter to fail.\r\nNow the circuit in #41 runs until `2 ms` then it fails due to the well-known issue with PWL sources; at the beginning the simulator uses small time steps, so it can cope with the source fast transitions but then it increases the time step size and cannot handle the source fast variations anymore.\r\nIt's high time to implement the breakpoints now...\r\n\r\nWhile looking at the code saw also a (maybe small) issue with the initial solution (DC) propagation in the transient solver, now fixed.\r\n"},"comment":{"url":"https://api.github.com/repos/Qucs/qucs/issues/comments/77042368","html_url":"https://github.com/Qucs/qucs/pull/206#issuecomment-77042368","issue_url":"https://api.github.com/repos/Qucs/qucs/issues/206","id":77042368,"user":{"login":"in3otd","id":9018179,"avatar_url":"https://avatars.githubusercontent.com/u/9018179?v=3","gravatar_id":"","url":"https://api.github.com/users/in3otd","html_url":"https://github.com/in3otd","followers_url":"https://api.github.com/users/in3otd/followers","following_url":"https://api.github.com/users/in3otd/following{/other_user}","gists_url":"https://api.github.com/users/in3otd/gists{/gist_id}","starred_url":"https://api.github.com/users/in3otd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/in3otd/subscriptions","organizations_url":"https://api.github.com/users/in3otd/orgs","repos_url":"https://api.github.com/users/in3otd/repos","events_url":"https://api.github.com/users/in3otd/events{/privacy}","received_events_url":"https://api.github.com/users/in3otd/received_events","type":"User","site_admin":false},"created_at":"2015-03-03T21:43:53Z","updated_at":"2015-03-03T21:43:53Z","body":"...Travis fails... as usual, several issues at once:\r\n- at the first failing circuit, the qucs test python script `run.py` [exits with an error] (https://travis-ci.org/Qucs/qucs/jobs/52813151#L7688) ; might be a different `matplotlib` version ?\r\n- there are several circuits failing (also locally, after updating `qucs-test`...) : most of them are oscillators which works almost as before, but changed phase, that is, they start up a little earlier or later than before. This is due to the DC solution propagation fix, as now the DC starting point used for starting the transient simulation is correctly taken into account and this causes different initial conditions than before. Here below an example:\r\n\r\nHere is a plot of the output node for the now-failing `TR_sawtooth-1_prj`, with and without this patch :\r\n![tr_sawtooth-1_out](https://cloud.githubusercontent.com/assets/9018179/6472638/3b087dc0-c1f4-11e4-9f66-17d442c560ab.png)\r\nnote the initial point (`t=0`) for the original results: there is a strange transient there...\r\nMore in detail:\r\n![tr_sawtooth-1_out_detail](https://cloud.githubusercontent.com/assets/9018179/6472709/a0f0c4ee-c1f4-11e4-8e91-25a2a0cc78f6.png)\r\n(with markers on the actual data points, for clarity): the `t=0` point for the original data is different than the DC solution! This apparently is enough to make the oscillator start with a different timing, so the subsequent comparison with the new simulation fails.\r\n\r\nIn my opinion it will be better, for oscillators, to use the `initialDC=no` option, so that they will start up from zero. Doing this the results from the current and patched `qucsator` are practically identical:\r\n![tr_sawtooth-1_out_nodc](https://cloud.githubusercontent.com/assets/9018179/6472946/31d161c0-c1f6-11e4-9a63-e76f59c2cf98.png)\r\n(graphs are on top of each other)\r\n\r\nMost of the failing circuits have similar issues, will investigate in detail as time permits...\r\n"}}