{"action":"closed","issue":{"url":"https://api.github.com/repos/radiasoft/sirepo/issues/1241","repository_url":"https://api.github.com/repos/radiasoft/sirepo","labels_url":"https://api.github.com/repos/radiasoft/sirepo/issues/1241/labels{/name}","comments_url":"https://api.github.com/repos/radiasoft/sirepo/issues/1241/comments","events_url":"https://api.github.com/repos/radiasoft/sirepo/issues/1241/events","html_url":"https://github.com/radiasoft/sirepo/issues/1241","id":334585228,"node_id":"MDU6SXNzdWUzMzQ1ODUyMjg=","number":1241,"title":"Synergia: streamline nonlinear insert construction ","user":{"login":"ncook882","id":11053323,"node_id":"MDQ6VXNlcjExMDUzMzIz","avatar_url":"https://avatars1.githubusercontent.com/u/11053323?v=4","gravatar_id":"","url":"https://api.github.com/users/ncook882","html_url":"https://github.com/ncook882","followers_url":"https://api.github.com/users/ncook882/followers","following_url":"https://api.github.com/users/ncook882/following{/other_user}","gists_url":"https://api.github.com/users/ncook882/gists{/gist_id}","starred_url":"https://api.github.com/users/ncook882/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncook882/subscriptions","organizations_url":"https://api.github.com/users/ncook882/orgs","repos_url":"https://api.github.com/users/ncook882/repos","events_url":"https://api.github.com/users/ncook882/events{/privacy}","received_events_url":"https://api.github.com/users/ncook882/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-21T17:20:16Z","updated_at":"2018-07-19T22:04:37Z","closed_at":"2018-07-19T22:04:37Z","author_association":"MEMBER","body":"I've created a `NonlinearInsert` class for managing the construction of a nonlinear insert within the Sirepo interface. The class assumes that the insert follows the prescriptions of the Danilov-Nagaitsev invariant, and computes the appropriate knll and cnll parameters for a MAD-X representation of the sliced element via the `nllens` implementation. \r\n\r\nThe class does not rely on the rssynergia repository, nor any other Synergia dependencies, but is designed to facilitate the specification of nonlinear lattice designs in Sirepo. Future updates, for example the `validate_sequence()` function, will make use of code-specific helpers to grab lattice functions for processing. The `NonlinearInsert` class has been added to the `rsbeams` repository in [rsbeams/rslattice/nonlinear.py](https://github.com/radiasoft/rsbeams/blob/master/rsbeams/rslattice/nonlinear.py).\r\n\r\nA notebook documenting this class can be found in the rsbeams [examples](https://github.com/radiasoft/rsbeams/blob/master/examples/notebooks/example-NLI-construction.ipynb) repository."}}
{"actor":{"display_login":"moellep"}}