{"action":"created","issue":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/704","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/704/labels{/name}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/704/comments","events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/704/events","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/704","id":57615128,"number":704,"title":"[BG fields] Add refactored TWTS laser","user":{"login":"BeyondEspresso","id":5319938,"avatar_url":"https://avatars.githubusercontent.com/u/5319938?v=3","gravatar_id":"","url":"https://api.github.com/users/BeyondEspresso","html_url":"https://github.com/BeyondEspresso","followers_url":"https://api.github.com/users/BeyondEspresso/followers","following_url":"https://api.github.com/users/BeyondEspresso/following{/other_user}","gists_url":"https://api.github.com/users/BeyondEspresso/gists{/gist_id}","starred_url":"https://api.github.com/users/BeyondEspresso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BeyondEspresso/subscriptions","organizations_url":"https://api.github.com/users/BeyondEspresso/orgs","repos_url":"https://api.github.com/users/BeyondEspresso/repos","events_url":"https://api.github.com/users/BeyondEspresso/events{/privacy}","received_events_url":"https://api.github.com/users/BeyondEspresso/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/labels/core","name":"core","color":"00589c"},{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/labels/feature","name":"feature","color":"84b6eb"},{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/labels/wait-4-author/WIP","name":"wait-4-author/WIP","color":"EEAAAA"}],"state":"open","locked":false,"assignee":{"login":"ax3l","id":1353258,"avatar_url":"https://avatars.githubusercontent.com/u/1353258?v=3","gravatar_id":"","url":"https://api.github.com/users/ax3l","html_url":"https://github.com/ax3l","followers_url":"https://api.github.com/users/ax3l/followers","following_url":"https://api.github.com/users/ax3l/following{/other_user}","gists_url":"https://api.github.com/users/ax3l/gists{/gist_id}","starred_url":"https://api.github.com/users/ax3l/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ax3l/subscriptions","organizations_url":"https://api.github.com/users/ax3l/orgs","repos_url":"https://api.github.com/users/ax3l/repos","events_url":"https://api.github.com/users/ax3l/events{/privacy}","received_events_url":"https://api.github.com/users/ax3l/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones/2","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/milestones/Open%20Beta","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones/2/labels","id":395839,"number":2,"title":"Open Beta","description":"Tasks to complete until the release of our open beta (version 0.1)\r\n\r\nThe [beta](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta) release shall be useful for *physicist* that used a Particle-in-Cell code *before*. Experience with *compiling libraries from source* and a *good Linux knowledge* is required for the initial installation.\r\n","creator":{"login":"ax3l","id":1353258,"avatar_url":"https://avatars.githubusercontent.com/u/1353258?v=3","gravatar_id":"","url":"https://api.github.com/users/ax3l","html_url":"https://github.com/ax3l","followers_url":"https://api.github.com/users/ax3l/followers","following_url":"https://api.github.com/users/ax3l/following{/other_user}","gists_url":"https://api.github.com/users/ax3l/gists{/gist_id}","starred_url":"https://api.github.com/users/ax3l/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ax3l/subscriptions","organizations_url":"https://api.github.com/users/ax3l/orgs","repos_url":"https://api.github.com/users/ax3l/repos","events_url":"https://api.github.com/users/ax3l/events{/privacy}","received_events_url":"https://api.github.com/users/ax3l/received_events","type":"User","site_admin":false},"open_issues":78,"closed_issues":605,"state":"open","created_at":"2013-08-06T16:38:57Z","updated_at":"2015-03-16T18:37:59Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2015-02-13T15:53:30Z","updated_at":"2015-03-16T20:46:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/704","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/704","diff_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/704.diff","patch_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/704.patch"},"body":"By re-implementing the TWTS laser as functors, this request concludes a series based on the original pull request #597. Refactoring its separate features led to the subsequent pull requests #600 (BG Fields in mySimulation.hpp, merged), the #664 (Complex class in libPMacc, open) and now this one.\r\n\r\n* Compared to #597, the implementation also includes the correct back-rotation of vector components on the staggered components of the field grids, improved support for 2D and .\r\n* Functionality tests with and without fields show the same results than a parallel implementation without functors, which directly proceeded #597.\r\n* Performance tests show a lower performance (~10% without particles and currents, ~1% with particles and currents) than the reference implementation. This performance *probably* arises from an increased number of float_64 variables. This penalty in performance is currently acceptable.\r\n* The full sources and documentation of the equations and program that generated the core code for the fields are now at Klaus for cross-checking. However, since this chross-check is done independently and will take some time (probably ~1 month), the focus of this pull request will be more on the implementation aspects.\r\n* The code includes the current unmerged status of #664.\r\n* **Future:** This code will be updated as soon as the *const expression* feature becomes available in CUDA and PIConGPU. The aim of this update will be improved speed and a further generalization of the field rotation routines as functors for general use in PIConGPU/libPMacc.\r\n\r\nHappy code ripping! :yum:\r\n\r\n### To Do\r\n\r\n- [x] rebase against `dev` as soon as #664 is merged"},"comment":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/comments/81927839","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/704#issuecomment-81927839","issue_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/704","id":81927839,"user":{"login":"BeyondEspresso","id":5319938,"avatar_url":"https://avatars.githubusercontent.com/u/5319938?v=3","gravatar_id":"","url":"https://api.github.com/users/BeyondEspresso","html_url":"https://github.com/BeyondEspresso","followers_url":"https://api.github.com/users/BeyondEspresso/followers","following_url":"https://api.github.com/users/BeyondEspresso/following{/other_user}","gists_url":"https://api.github.com/users/BeyondEspresso/gists{/gist_id}","starred_url":"https://api.github.com/users/BeyondEspresso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BeyondEspresso/subscriptions","organizations_url":"https://api.github.com/users/BeyondEspresso/orgs","repos_url":"https://api.github.com/users/BeyondEspresso/repos","events_url":"https://api.github.com/users/BeyondEspresso/events{/privacy}","received_events_url":"https://api.github.com/users/BeyondEspresso/received_events","type":"User","site_admin":false},"created_at":"2015-03-16T20:46:09Z","updated_at":"2015-03-16T20:46:09Z","body":"Rebased against `dev`. Went surprisingly smooth. :yum:\r\n\r\nThere was a small hiccup in\r\n`src/picongpu/include/simulation_defines/_defaultUnitless.loader` in 0c25239\r\nwhere Git wanted to know that it should indeed use all `#include`-statements.\r\nIn addition I squashed all intermediate bugfixing and refactoring commits."}}