{"action":"created","issue":{"url":"https://api.github.com/repos/schmie/test/issues/4","labels_url":"https://api.github.com/repos/schmie/test/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/schmie/test/issues/4/comments","events_url":"https://api.github.com/repos/schmie/test/issues/4/events","html_url":"https://github.com/schmie/test/issues/4","id":90415502,"number":4,"title":"Fix the streaklines","user":{"login":"schmie","id":6473158,"avatar_url":"https://avatars.githubusercontent.com/u/6473158?v=3","gravatar_id":"","url":"https://api.github.com/users/schmie","html_url":"https://github.com/schmie","followers_url":"https://api.github.com/users/schmie/followers","following_url":"https://api.github.com/users/schmie/following{/other_user}","gists_url":"https://api.github.com/users/schmie/gists{/gist_id}","starred_url":"https://api.github.com/users/schmie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmie/subscriptions","organizations_url":"https://api.github.com/users/schmie/orgs","repos_url":"https://api.github.com/users/schmie/repos","events_url":"https://api.github.com/users/schmie/events{/privacy}","received_events_url":"https://api.github.com/users/schmie/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/schmie/test/labels/C:%20C++%20Code","name":"C: C++ Code","color":"0000aa"},{"url":"https://api.github.com/repos/schmie/test/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/schmie/test/labels/P:%20blocker","name":"P: blocker","color":"ffc7f8"}],"state":"open","locked":false,"assignee":{"login":"schmie","id":6473158,"avatar_url":"https://avatars.githubusercontent.com/u/6473158?v=3","gravatar_id":"","url":"https://api.github.com/users/schmie","html_url":"https://github.com/schmie","followers_url":"https://api.github.com/users/schmie/followers","following_url":"https://api.github.com/users/schmie/following{/other_user}","gists_url":"https://api.github.com/users/schmie/gists{/gist_id}","starred_url":"https://api.github.com/users/schmie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmie/subscriptions","organizations_url":"https://api.github.com/users/schmie/orgs","repos_url":"https://api.github.com/users/schmie/repos","events_url":"https://api.github.com/users/schmie/events{/privacy}","received_events_url":"https://api.github.com/users/schmie/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/schmie/test/milestones/18","html_url":"https://github.com/schmie/test/milestones/0.2","labels_url":"https://api.github.com/repos/schmie/test/milestones/18/labels","id":1177583,"number":18,"title":"0.2","description":"None","creator":{"login":"schmie","id":6473158,"avatar_url":"https://avatars.githubusercontent.com/u/6473158?v=3","gravatar_id":"","url":"https://api.github.com/users/schmie","html_url":"https://github.com/schmie","followers_url":"https://api.github.com/users/schmie/followers","following_url":"https://api.github.com/users/schmie/following{/other_user}","gists_url":"https://api.github.com/users/schmie/gists{/gist_id}","starred_url":"https://api.github.com/users/schmie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmie/subscriptions","organizations_url":"https://api.github.com/users/schmie/orgs","repos_url":"https://api.github.com/users/schmie/repos","events_url":"https://api.github.com/users/schmie/events{/privacy}","received_events_url":"https://api.github.com/users/schmie/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"closed","created_at":"2015-06-23T15:13:10Z","updated_at":"2015-06-23T15:14:48Z","due_on":"2011-12-16T16:59:59Z","closed_at":"2015-06-23T15:13:10Z"},"comments":12,"created_at":"2015-06-23T15:14:38Z","updated_at":"2015-06-23T15:15:08Z","closed_at":null,"body":"**Reported by hywel on 19 Sep 2011 15:20 UTC**\nThere are 2 major problems with the way streaklines are currently implemented. We'll attempt to fix them here, in one go.\r\n\r\n1. The streaklines produced are different depending on the number of cores used, suggesting a bug in the way we're doing Streakline Comms. While I'm doing number 2 (below), I'll have a crack at this.\r\n\r\n2. The streaklines are the only thing in the visualisation system that DON'T use the single-point-of-communication-per-iteration. Because it does its own (synchronous) communication, it's a barrier to scaling.\r\n\r\n- The first step will be to change the way f_old and f_new are updated during the collision and streaming steps. Currently, f_old is universally updated to have the post-collision value for each site, before being streamed to a different site. It's not known where this is used, but I will first remove this update (so that f_old is constant over the LBM cycle), then work out why leaving it un-updated causes the simulation to fail the diff test (as previous experience shows it will). I consider this a bug, so I'll fix it.\r\n\r\n- Next, I'll change from the all-to-all synchronous communication we currently use to asynchronous all-to-all comms. On one iteration, we'll point-to-point communicate the number of particles that need to be passed from each core to each other core (using the single-comms-point mechanism). On the next iteration we'll pass the particle data only between those cores that need to pass them. This will be the particle data from the previous iteration, but because we now maintain f_old, we can update the particles for both the last iteration and the current iteration at once.\r\n\r\n- I'll need to do something clever on the last iteration, to make sure we draw the streaklines correctly (e.g. using synchronous passing).\r\n\r\n- I'll also need to do something clever to make sure streaklines are correctly added to images that were produced for the iteration before particles are communicated.\r\n\r\nAssigning to Miguel for design review."},"comment":{"url":"https://api.github.com/repos/schmie/test/issues/comments/114539895","html_url":"https://github.com/schmie/test/issues/4#issuecomment-114539895","issue_url":"https://api.github.com/repos/schmie/test/issues/4","id":114539895,"user":{"login":"schmie","id":6473158,"avatar_url":"https://avatars.githubusercontent.com/u/6473158?v=3","gravatar_id":"","url":"https://api.github.com/users/schmie","html_url":"https://github.com/schmie","followers_url":"https://api.github.com/users/schmie/followers","following_url":"https://api.github.com/users/schmie/following{/other_user}","gists_url":"https://api.github.com/users/schmie/gists{/gist_id}","starred_url":"https://api.github.com/users/schmie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmie/subscriptions","organizations_url":"https://api.github.com/users/schmie/orgs","repos_url":"https://api.github.com/users/schmie/repos","events_url":"https://api.github.com/users/schmie/events{/privacy}","received_events_url":"https://api.github.com/users/schmie/received_events","type":"User","site_admin":false},"created_at":"2015-06-23T15:15:08Z","updated_at":"2015-06-23T15:15:08Z","body":"**Comment by hywel on 25 Nov 2011 10:13 UTC**\nCool, thanks. I fixed up most of what you said. I had no idea before that delete was safe with NULL pointers.\r\n\r\nI don't think we have a policy on casts. Maybe that's a question to save for next Thursday? Similarly, with (*proc).second - I find this clearer than proc->second because it means you can distinguish between true pointers and operator overloading but I'm happy to follow a majority decision.\r\n\r\nAnyway, fixed all of this stuff up, pushed the final version in changeset 41ac8aa66d7f."}}