{"action":"created","issue":{"url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/870","repository_url":"https://api.github.com/repos/boutproject/BOUT-dev","labels_url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/870/labels{/name}","comments_url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/870/comments","events_url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/870/events","html_url":"https://github.com/boutproject/BOUT-dev/issues/870","id":297175473,"number":870,"title":"Geometry in the boundaries","user":{"login":"d7919","id":1793698,"avatar_url":"https://avatars1.githubusercontent.com/u/1793698?v=4","gravatar_id":"","url":"https://api.github.com/users/d7919","html_url":"https://github.com/d7919","followers_url":"https://api.github.com/users/d7919/followers","following_url":"https://api.github.com/users/d7919/following{/other_user}","gists_url":"https://api.github.com/users/d7919/gists{/gist_id}","starred_url":"https://api.github.com/users/d7919/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/d7919/subscriptions","organizations_url":"https://api.github.com/users/d7919/orgs","repos_url":"https://api.github.com/users/d7919/repos","events_url":"https://api.github.com/users/d7919/events{/privacy}","received_events_url":"https://api.github.com/users/d7919/received_events","type":"User","site_admin":false},"labels":[{"id":56118088,"url":"https://api.github.com/repos/boutproject/BOUT-dev/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-02-14T17:11:11Z","updated_at":"2018-02-15T10:56:18Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"In the invalidateGuards branch I'm initialising guard cells to NaN as a way of trying to detect places in which we use values from the guards/boundaries that have not been set.\r\n\r\nI recently extended this to do this same thing for Field2D and now a number of tests don't work due to non-finite data. I'm focusing on the interchange test. The `avec` vector comes out as NaN for the first non-boundary point in x. I've tracked this down to the fact that `G1` has NaN in the guards and the default for tridagMatrix is to include the x-guards in the calculation (as I think is assumed by the Laplacian sovlers).\r\n\r\nThe reason `G1` contains NaNs in the boundary/guards is that it is calculated from the derivative of other terms, which can't be evaluated (with a central difference method) in all the boundary/guards.\r\n\r\nI'm not sure what the correct thing is to do here -- the current behaviour I think just uses uninitialised data here, which I guess is usually 0 but this is not defined. The behaviour with invalidateGuards catches this but then there's no way to easily progress with the simulation. The only thing I can think of at the moment (beyond switching to one sided differences) would be to explicitly set the boundary/guards to some value but I'm not sure there's a satisfactory way to pick this value. I guess we could force to 0 which is probably close to what already happens but should be a little more consistent."},"comment":{"url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/comments/365892894","html_url":"https://github.com/boutproject/BOUT-dev/issues/870#issuecomment-365892894","issue_url":"https://api.github.com/repos/boutproject/BOUT-dev/issues/870","id":365892894,"user":{"login":"d7919","id":1793698,"avatar_url":"https://avatars1.githubusercontent.com/u/1793698?v=4","gravatar_id":"","url":"https://api.github.com/users/d7919","html_url":"https://github.com/d7919","followers_url":"https://api.github.com/users/d7919/followers","following_url":"https://api.github.com/users/d7919/following{/other_user}","gists_url":"https://api.github.com/users/d7919/gists{/gist_id}","starred_url":"https://api.github.com/users/d7919/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/d7919/subscriptions","organizations_url":"https://api.github.com/users/d7919/orgs","repos_url":"https://api.github.com/users/d7919/repos","events_url":"https://api.github.com/users/d7919/events{/privacy}","received_events_url":"https://api.github.com/users/d7919/received_events","type":"User","site_admin":false},"created_at":"2018-02-15T10:56:17Z","updated_at":"2018-02-15T10:56:17Z","author_association":"CONTRIBUTOR","body":"PR #871 brings in the invalidateGuards checks and also \"fixes\" the integrated tests by forcing `include_yguards=true` and `all_terms = false`. Ideally we will fix the code and revert these changes to the input files. @bendudson  this is the issue you asked be to open.\r\n\r\nIt seems like the `all_terms` problem might be due to the Laplacian code not differentiating between guard cells and boundaries. We probably want to include guard cells but not the boundaries in the solver."}}
{"actor":{"display_login":"d7919"}}