{"action":"created","issue":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/129","repository_url":"https://api.github.com/repos/trilinos/Trilinos","labels_url":"https://api.github.com/repos/trilinos/Trilinos/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/trilinos/Trilinos/issues/129/comments","events_url":"https://api.github.com/repos/trilinos/Trilinos/issues/129/events","html_url":"https://github.com/trilinos/Trilinos/issues/129","id":131419052,"number":129,"title":"Simplify MueLu Stratimikos interface","user":{"login":"tawiesn","id":12903075,"avatar_url":"https://avatars.githubusercontent.com/u/12903075?v=3","gravatar_id":"","url":"https://api.github.com/users/tawiesn","html_url":"https://github.com/tawiesn","followers_url":"https://api.github.com/users/tawiesn/followers","following_url":"https://api.github.com/users/tawiesn/following{/other_user}","gists_url":"https://api.github.com/users/tawiesn/gists{/gist_id}","starred_url":"https://api.github.com/users/tawiesn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tawiesn/subscriptions","organizations_url":"https://api.github.com/users/tawiesn/orgs","repos_url":"https://api.github.com/users/tawiesn/repos","events_url":"https://api.github.com/users/tawiesn/events{/privacy}","received_events_url":"https://api.github.com/users/tawiesn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/trilinos/Trilinos/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/trilinos/Trilinos/labels/MueLu","name":"MueLu","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-04T17:32:08Z","updated_at":"2016-02-04T17:36:22Z","closed_at":null,"body":"There are two versions of Stratimikos::enableMueLu: a templated version and a non-templated version. The non-templated version traditionally is misunderstood as supporting only Epetra, leading to the fact that users tend to call both versions. Registering MueLu twice in Stratimikos complicates user's life and is not necessary. \r\nWe should have only routine enableMueLu which is called by the user/application for any desired set of template parameters using appropriate names in Stratimikos (e.g. MueLu-longlong instead of MueLu-Tpetra). The Stratimikos interface is independent from Epetra/Tpetra (but it throws if you use Epetra with e.g. the GO=long interface).\r\nThe only reason to keep the non-templated enableMueLu routine would be because of backwards compatibility. Even then, we have to simplify the code in there (calling the templated routine)."},"comment":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/comments/179959591","html_url":"https://github.com/trilinos/Trilinos/issues/129#issuecomment-179959591","issue_url":"https://api.github.com/repos/trilinos/Trilinos/issues/129","id":179959591,"user":{"login":"tawiesn","id":12903075,"avatar_url":"https://avatars.githubusercontent.com/u/12903075?v=3","gravatar_id":"","url":"https://api.github.com/users/tawiesn","html_url":"https://github.com/tawiesn","followers_url":"https://api.github.com/users/tawiesn/followers","following_url":"https://api.github.com/users/tawiesn/following{/other_user}","gists_url":"https://api.github.com/users/tawiesn/gists{/gist_id}","starred_url":"https://api.github.com/users/tawiesn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tawiesn/subscriptions","organizations_url":"https://api.github.com/users/tawiesn/orgs","repos_url":"https://api.github.com/users/tawiesn/repos","events_url":"https://api.github.com/users/tawiesn/events{/privacy}","received_events_url":"https://api.github.com/users/tawiesn/received_events","type":"User","site_admin":false},"created_at":"2016-02-04T17:36:22Z","updated_at":"2016-02-04T17:36:22Z","body":"@aprokop I fully agree. The Thyra::MueLuPreconditionerFactory contains a routine\r\nCreateXpetraPreconditioner which is the Xpetra version of the corresponding \"CreateEpetraPreconditioner\" and \"CreateTpetraPreconditioner\" classes. The routine is written in a way that it does not use class member variables, i.e. i can be moved to a more general place. I guess, want to keep the Create{E,T}petraPreconditioner routines, but can call the Xpetra version. This would significantly simplify the interfaces (maintenance,...)"}}