{"action":"created","comment":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments/74432173","id":74432173,"diff_hunk":"@@ -0,0 +1,66 @@\n+/**\n+ * Copyright 2016 Marco Garten, Heiko Burau\n+ *\n+ * This file is part of libPMacc.\n+ *\n+ * libPMacc is free software: you can redistribute it and/or modify\n+ * it under the terms of either the GNU General Public License or\n+ * the GNU Lesser General Public License as published by\n+ * the Free Software Foundation, either version 3 of the License, or\n+ * (at your option) any later version.\n+ *\n+ * libPMacc is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+ * GNU General Public License and the GNU Lesser General Public License\n+ * for more details.\n+ *\n+ * You should have received a copy of the GNU General Public License\n+ * and the GNU Lesser General Public License along with libPMacc.\n+ * If not, see <http://www.gnu.org/licenses/>.\n+ */\n+\n+#pragma once\n+\n+#include \"pmacc_types.hpp\"\n+#include \"traits/UsesRNG.hpp\"\n+#include <boost/mpl/copy_if.hpp>\n+#include <boost/mpl/placeholders.hpp>\n+\n+namespace PMacc\n+{\n+namespace particles\n+{\n+namespace traits\n+{\n+\n+/** Return a new sequence of particle species that require random number\n+ *  generation for their ionization.\n+ *\n+ * @tparam T_MPLSeq sequence of particle species\n+ *\n+ * \\TODO rather pass a sequence of objects, like ionization modules\n+ */\n+template<typename T_MPLSeq>\n+struct FilterByRNG","path":"src/libPMacc/include/particles/traits/FilterByRNG.hpp","position":45,"original_position":45,"commit_id":"7edd7a32c725333841999d772285a76a98981728","original_commit_id":"7edd7a32c725333841999d772285a76a98981728","user":{"login":"psychocoderHPC","id":4037125,"avatar_url":"https://avatars.githubusercontent.com/u/4037125?v=3","gravatar_id":"","url":"https://api.github.com/users/psychocoderHPC","html_url":"https://github.com/psychocoderHPC","followers_url":"https://api.github.com/users/psychocoderHPC/followers","following_url":"https://api.github.com/users/psychocoderHPC/following{/other_user}","gists_url":"https://api.github.com/users/psychocoderHPC/gists{/gist_id}","starred_url":"https://api.github.com/users/psychocoderHPC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psychocoderHPC/subscriptions","organizations_url":"https://api.github.com/users/psychocoderHPC/orgs","repos_url":"https://api.github.com/users/psychocoderHPC/repos","events_url":"https://api.github.com/users/psychocoderHPC/events{/privacy}","received_events_url":"https://api.github.com/users/psychocoderHPC/received_events","type":"User","site_admin":false},"body":"The name must reflect that only species with ionizer can be handled ","created_at":"2016-08-11T14:27:28Z","updated_at":"2016-08-11T14:27:28Z","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542#discussion_r74432173","pull_request_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542","_links":{"self":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments/74432173"},"html":{"href":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542#discussion_r74432173"},"pull_request":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542"}}},"pull_request":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542","id":79734697,"html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542","diff_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542.diff","patch_url":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542.patch","issue_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1542","number":1542,"state":"open","locked":false,"title":"Make use of faster RNG implementation for ionization","user":{"login":"n01r","id":5416860,"avatar_url":"https://avatars.githubusercontent.com/u/5416860?v=3","gravatar_id":"","url":"https://api.github.com/users/n01r","html_url":"https://github.com/n01r","followers_url":"https://api.github.com/users/n01r/followers","following_url":"https://api.github.com/users/n01r/following{/other_user}","gists_url":"https://api.github.com/users/n01r/gists{/gist_id}","starred_url":"https://api.github.com/users/n01r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/n01r/subscriptions","organizations_url":"https://api.github.com/users/n01r/orgs","repos_url":"https://api.github.com/users/n01r/repos","events_url":"https://api.github.com/users/n01r/events{/privacy}","received_events_url":"https://api.github.com/users/n01r/received_events","type":"User","site_admin":false},"body":"**Important refactoring**\r\n\r\nGreatly overdue, the random number generator for the ADK model (and all future rate models for ionization) has been exchanged. \r\nBefore we used an RNG that was creating new states during each time step of the simulation which were unique for each step, particle species, cell and MPI rank.\r\nNow the state is created only once and then saved as well as changed for each cell after each use. This implies the uniqueness of the seed for the aforementioned conditions and reduces workload at the same time.\r\n\r\nThis now allows for faster testing of all the ionization models and more importantly: **highly increased simulation speed** for more sophisticated ionization models than BSI.\r\n\r\nBig kudos to @Flamefire ! :tada: \r\n\r\nThis pull request depends on the changes in #1541 ","created_at":"2016-08-02T13:26:58Z","updated_at":"2016-08-11T14:27:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"049294d07a77d47d4420498b38818427336c7a61","assignee":{"login":"PrometheusPi","id":5121158,"avatar_url":"https://avatars.githubusercontent.com/u/5121158?v=3","gravatar_id":"","url":"https://api.github.com/users/PrometheusPi","html_url":"https://github.com/PrometheusPi","followers_url":"https://api.github.com/users/PrometheusPi/followers","following_url":"https://api.github.com/users/PrometheusPi/following{/other_user}","gists_url":"https://api.github.com/users/PrometheusPi/gists{/gist_id}","starred_url":"https://api.github.com/users/PrometheusPi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PrometheusPi/subscriptions","organizations_url":"https://api.github.com/users/PrometheusPi/orgs","repos_url":"https://api.github.com/users/PrometheusPi/repos","events_url":"https://api.github.com/users/PrometheusPi/events{/privacy}","received_events_url":"https://api.github.com/users/PrometheusPi/received_events","type":"User","site_admin":false},"assignees":[{"login":"PrometheusPi","id":5121158,"avatar_url":"https://avatars.githubusercontent.com/u/5121158?v=3","gravatar_id":"","url":"https://api.github.com/users/PrometheusPi","html_url":"https://github.com/PrometheusPi","followers_url":"https://api.github.com/users/PrometheusPi/followers","following_url":"https://api.github.com/users/PrometheusPi/following{/other_user}","gists_url":"https://api.github.com/users/PrometheusPi/gists{/gist_id}","starred_url":"https://api.github.com/users/PrometheusPi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PrometheusPi/subscriptions","organizations_url":"https://api.github.com/users/PrometheusPi/orgs","repos_url":"https://api.github.com/users/PrometheusPi/repos","events_url":"https://api.github.com/users/PrometheusPi/events{/privacy}","received_events_url":"https://api.github.com/users/PrometheusPi/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/0.2.0:%20Open%20Beta","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones/2/labels","id":395839,"number":2,"title":"0.2.0: Open Beta","description":"Tasks to complete until the release of our open beta (version 0.2.0)\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":137,"closed_issues":1271,"state":"open","created_at":"2013-08-06T16:38:57Z","updated_at":"2016-08-10T11:03:44Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542/commits","review_comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542/comments","review_comment_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1542/comments","statuses_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/7edd7a32c725333841999d772285a76a98981728","head":{"label":"n01r:topic-useFasterRNG","ref":"topic-useFasterRNG","sha":"7edd7a32c725333841999d772285a76a98981728","user":{"login":"n01r","id":5416860,"avatar_url":"https://avatars.githubusercontent.com/u/5416860?v=3","gravatar_id":"","url":"https://api.github.com/users/n01r","html_url":"https://github.com/n01r","followers_url":"https://api.github.com/users/n01r/followers","following_url":"https://api.github.com/users/n01r/following{/other_user}","gists_url":"https://api.github.com/users/n01r/gists{/gist_id}","starred_url":"https://api.github.com/users/n01r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/n01r/subscriptions","organizations_url":"https://api.github.com/users/n01r/orgs","repos_url":"https://api.github.com/users/n01r/repos","events_url":"https://api.github.com/users/n01r/events{/privacy}","received_events_url":"https://api.github.com/users/n01r/received_events","type":"User","site_admin":false},"repo":{"id":12918493,"name":"picongpu","full_name":"n01r/picongpu","owner":{"login":"n01r","id":5416860,"avatar_url":"https://avatars.githubusercontent.com/u/5416860?v=3","gravatar_id":"","url":"https://api.github.com/users/n01r","html_url":"https://github.com/n01r","followers_url":"https://api.github.com/users/n01r/followers","following_url":"https://api.github.com/users/n01r/following{/other_user}","gists_url":"https://api.github.com/users/n01r/gists{/gist_id}","starred_url":"https://api.github.com/users/n01r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/n01r/subscriptions","organizations_url":"https://api.github.com/users/n01r/orgs","repos_url":"https://api.github.com/users/n01r/repos","events_url":"https://api.github.com/users/n01r/events{/privacy}","received_events_url":"https://api.github.com/users/n01r/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/n01r/picongpu","description":"PIConGPU - A particle-in-cell code for GPGPUs","fork":true,"url":"https://api.github.com/repos/n01r/picongpu","forks_url":"https://api.github.com/repos/n01r/picongpu/forks","keys_url":"https://api.github.com/repos/n01r/picongpu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/n01r/picongpu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/n01r/picongpu/teams","hooks_url":"https://api.github.com/repos/n01r/picongpu/hooks","issue_events_url":"https://api.github.com/repos/n01r/picongpu/issues/events{/number}","events_url":"https://api.github.com/repos/n01r/picongpu/events","assignees_url":"https://api.github.com/repos/n01r/picongpu/assignees{/user}","branches_url":"https://api.github.com/repos/n01r/picongpu/branches{/branch}","tags_url":"https://api.github.com/repos/n01r/picongpu/tags","blobs_url":"https://api.github.com/repos/n01r/picongpu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/n01r/picongpu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/n01r/picongpu/git/refs{/sha}","trees_url":"https://api.github.com/repos/n01r/picongpu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/n01r/picongpu/statuses/{sha}","languages_url":"https://api.github.com/repos/n01r/picongpu/languages","stargazers_url":"https://api.github.com/repos/n01r/picongpu/stargazers","contributors_url":"https://api.github.com/repos/n01r/picongpu/contributors","subscribers_url":"https://api.github.com/repos/n01r/picongpu/subscribers","subscription_url":"https://api.github.com/repos/n01r/picongpu/subscription","commits_url":"https://api.github.com/repos/n01r/picongpu/commits{/sha}","git_commits_url":"https://api.github.com/repos/n01r/picongpu/git/commits{/sha}","comments_url":"https://api.github.com/repos/n01r/picongpu/comments{/number}","issue_comment_url":"https://api.github.com/repos/n01r/picongpu/issues/comments{/number}","contents_url":"https://api.github.com/repos/n01r/picongpu/contents/{+path}","compare_url":"https://api.github.com/repos/n01r/picongpu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/n01r/picongpu/merges","archive_url":"https://api.github.com/repos/n01r/picongpu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/n01r/picongpu/downloads","issues_url":"https://api.github.com/repos/n01r/picongpu/issues{/number}","pulls_url":"https://api.github.com/repos/n01r/picongpu/pulls{/number}","milestones_url":"https://api.github.com/repos/n01r/picongpu/milestones{/number}","notifications_url":"https://api.github.com/repos/n01r/picongpu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/n01r/picongpu/labels{/name}","releases_url":"https://api.github.com/repos/n01r/picongpu/releases{/id}","deployments_url":"https://api.github.com/repos/n01r/picongpu/deployments","created_at":"2013-09-18T08:57:42Z","updated_at":"2015-01-21T15:16:50Z","pushed_at":"2016-08-11T13:54:20Z","git_url":"git://github.com/n01r/picongpu.git","ssh_url":"git@github.com:n01r/picongpu.git","clone_url":"https://github.com/n01r/picongpu.git","svn_url":"https://github.com/n01r/picongpu","homepage":"http://picongpu.hzdr.de","size":11345,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":0,"default_branch":"dev"}},"base":{"label":"ComputationalRadiationPhysics:dev","ref":"dev","sha":"a2d0fa9b881efce428de78d9e69ecebaa5f0f9c5","user":{"login":"ComputationalRadiationPhysics","id":5120388,"avatar_url":"https://avatars.githubusercontent.com/u/5120388?v=3","gravatar_id":"","url":"https://api.github.com/users/ComputationalRadiationPhysics","html_url":"https://github.com/ComputationalRadiationPhysics","followers_url":"https://api.github.com/users/ComputationalRadiationPhysics/followers","following_url":"https://api.github.com/users/ComputationalRadiationPhysics/following{/other_user}","gists_url":"https://api.github.com/users/ComputationalRadiationPhysics/gists{/gist_id}","starred_url":"https://api.github.com/users/ComputationalRadiationPhysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ComputationalRadiationPhysics/subscriptions","organizations_url":"https://api.github.com/users/ComputationalRadiationPhysics/orgs","repos_url":"https://api.github.com/users/ComputationalRadiationPhysics/repos","events_url":"https://api.github.com/users/ComputationalRadiationPhysics/events{/privacy}","received_events_url":"https://api.github.com/users/ComputationalRadiationPhysics/received_events","type":"Organization","site_admin":false},"repo":{"id":11764461,"name":"picongpu","full_name":"ComputationalRadiationPhysics/picongpu","owner":{"login":"ComputationalRadiationPhysics","id":5120388,"avatar_url":"https://avatars.githubusercontent.com/u/5120388?v=3","gravatar_id":"","url":"https://api.github.com/users/ComputationalRadiationPhysics","html_url":"https://github.com/ComputationalRadiationPhysics","followers_url":"https://api.github.com/users/ComputationalRadiationPhysics/followers","following_url":"https://api.github.com/users/ComputationalRadiationPhysics/following{/other_user}","gists_url":"https://api.github.com/users/ComputationalRadiationPhysics/gists{/gist_id}","starred_url":"https://api.github.com/users/ComputationalRadiationPhysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ComputationalRadiationPhysics/subscriptions","organizations_url":"https://api.github.com/users/ComputationalRadiationPhysics/orgs","repos_url":"https://api.github.com/users/ComputationalRadiationPhysics/repos","events_url":"https://api.github.com/users/ComputationalRadiationPhysics/events{/privacy}","received_events_url":"https://api.github.com/users/ComputationalRadiationPhysics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ComputationalRadiationPhysics/picongpu","description":"PIConGPU - A particle-in-cell code for GPGPUs","fork":false,"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu","forks_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/forks","keys_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/teams","hooks_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/hooks","issue_events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/events{/number}","events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/events","assignees_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/assignees{/user}","branches_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/branches{/branch}","tags_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/tags","blobs_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/refs{/sha}","trees_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/{sha}","languages_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/languages","stargazers_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/stargazers","contributors_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/contributors","subscribers_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/subscribers","subscription_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/subscription","commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/commits{/sha}","git_commits_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/git/commits{/sha}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/comments{/number}","issue_comment_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/comments{/number}","contents_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/contents/{+path}","compare_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/merges","archive_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/downloads","issues_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues{/number}","pulls_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls{/number}","milestones_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/milestones{/number}","notifications_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/labels{/name}","releases_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/releases{/id}","deployments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/deployments","created_at":"2013-07-30T12:28:20Z","updated_at":"2016-08-06T11:43:57Z","pushed_at":"2016-08-11T13:54:21Z","git_url":"git://github.com/ComputationalRadiationPhysics/picongpu.git","ssh_url":"git@github.com:ComputationalRadiationPhysics/picongpu.git","clone_url":"https://github.com/ComputationalRadiationPhysics/picongpu.git","svn_url":"https://github.com/ComputationalRadiationPhysics/picongpu","homepage":"http://picongpu.hzdr.de","size":12820,"stargazers_count":169,"watchers_count":169,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":88,"mirror_url":null,"open_issues_count":243,"forks":88,"open_issues":243,"watchers":169,"default_branch":"release-0.1.2"}},"_links":{"self":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542"},"html":{"href":"https://github.com/ComputationalRadiationPhysics/picongpu/pull/1542"},"issue":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1542"},"comments":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1542/comments"},"review_comments":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542/comments"},"review_comment":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/pulls/1542/commits"},"statuses":{"href":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/statuses/7edd7a32c725333841999d772285a76a98981728"}}}}
{"actor":{"display_login":"psychocoderHPC"}}