{"action":"created","issue":{"url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/846","repository_url":"https://api.github.com/repos/OpenMDAO/OpenMDAO","labels_url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/846/labels{/name}","comments_url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/846/comments","events_url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/846/events","html_url":"https://github.com/OpenMDAO/OpenMDAO/pull/846","id":409228483,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUyMjYwMDcy","number":846,"title":"NonlinearBlockGS solver convergence","user":{"login":"relf","id":1198802,"node_id":"MDQ6VXNlcjExOTg4MDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1198802?v=4","gravatar_id":"","url":"https://api.github.com/users/relf","html_url":"https://github.com/relf","followers_url":"https://api.github.com/users/relf/followers","following_url":"https://api.github.com/users/relf/following{/other_user}","gists_url":"https://api.github.com/users/relf/gists{/gist_id}","starred_url":"https://api.github.com/users/relf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/relf/subscriptions","organizations_url":"https://api.github.com/users/relf/orgs","repos_url":"https://api.github.com/users/relf/repos","events_url":"https://api.github.com/users/relf/events{/privacy}","received_events_url":"https://api.github.com/users/relf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2019-02-12T10:33:46Z","updated_at":"2019-02-19T10:56:50Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/pulls/846","html_url":"https://github.com/OpenMDAO/OpenMDAO/pull/846","diff_url":"https://github.com/OpenMDAO/OpenMDAO/pull/846.diff","patch_url":"https://github.com/OpenMDAO/OpenMDAO/pull/846.patch"},"body":"This PR comes from our need to adapt the convergence criterium of the NonlinearBlockGS solver. The rtol criterium is somehow relaxed by selecting a subset of variables used to check the convergence.\r\n\r\nIndeed in our model some output variables may be 'highly' nonlinear and prevent the convergence while we just want their final value as is. This problem is illustrated in the test, where a contrived variable is added to the Sellar MDA; by selecting only the state variables the MDA is converged faster."},"comment":{"url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/comments/465085018","html_url":"https://github.com/OpenMDAO/OpenMDAO/pull/846#issuecomment-465085018","issue_url":"https://api.github.com/repos/OpenMDAO/OpenMDAO/issues/846","id":465085018,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2NTA4NTAxOA==","user":{"login":"relf","id":1198802,"node_id":"MDQ6VXNlcjExOTg4MDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1198802?v=4","gravatar_id":"","url":"https://api.github.com/users/relf","html_url":"https://github.com/relf","followers_url":"https://api.github.com/users/relf/followers","following_url":"https://api.github.com/users/relf/following{/other_user}","gists_url":"https://api.github.com/users/relf/gists{/gist_id}","starred_url":"https://api.github.com/users/relf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/relf/subscriptions","organizations_url":"https://api.github.com/users/relf/orgs","repos_url":"https://api.github.com/users/relf/repos","events_url":"https://api.github.com/users/relf/events{/privacy}","received_events_url":"https://api.github.com/users/relf/received_events","type":"User","site_admin":false},"created_at":"2019-02-19T10:56:50Z","updated_at":"2019-02-19T10:56:50Z","author_association":"NONE","body":"Actually initially I implemented the new options in the NonlinearSolver class but I was a bit reluctant by modifying all the solvers without having your feelings about those changes and second I am not sure to master all the implications of such changes. That is why I scope it down to the NLBGS solver which is the solver we mainly (not to say exclusively) use and even here I think it breaks the encapsulation of vector interface in <code>_iter_get_norm()</code> when I call<code>self._system._residuals._views_flat[name]</code>.\r\nSo as you do not see any use case on your side. I will keep the changes in a custom solver and remove NLBGS changes. I did not get if you want me to add a is_atol_converged or if you want to refactor the stuff on your own or if you do not want to make any change (which is fine as well). Thank you to let me know.  \r\n\r\n "}}
{"actor":{"display_login":"relf"}}