{"action":"created","comment":{"url":"https://api.github.com/repos/dealii/dealii/pulls/comments/81446501","pull_request_review_id":2428605,"id":81446501,"diff_hunk":"@@ -1505,22 +1604,177 @@ class FEEvaluationAccess<1,1,Number> : public FEEvaluationBase<1,1,Number>\n  * real space. Currently, other finite elements cannot be treated with the\n  * matrix-free concept.\n  *\n- * This class has five template arguments:\n+ * <h3>Handling multi-component systems</h3>\n  *\n- * @param dim Dimension in which this class is to be used\n+ * FEEvaluation also allows for treating vector-valued problems through a\n+ * template parameter on the number of components:\n+ *\n+ * @code\n+ * FEEvaluation<dim,fe_degree,n_q_points_1d,n_components> phi(matrix_free);\n+ * @endcode\n+ *\n+ * If used this way, the components can be gathered from several components of\n+ * an @p std::vector<VectorType> through the call\n+ *\n+ * @code\n+ * phi.read_dof_values(src, 0);\n+ * @endcode\n+ *\n+ * where the 0 means that the vectors starting from the zeroth vector in the\n+ * @p std::vector should be used, <code>src[0], src[1], ...,\n+ * src[n_components-1]</code>.\n  *\n- * @param fe_degree Degree of the tensor product finite element with\n+ * An alternative way for reading multi-component systems is possible if the\n+ * DoFHandler underlying the MatrixFree data is based on an FESystem of @p\n+ * n_components entries. In that case, a single vector is provided for the\n+ * read_dof_values() and distribute_local_to_global() calls.\n+ *\n+ * An important property of FEEvaluation in multi-component systems is the\n+ * layout of multiple components in the get_value(), get_gradient(), or\n+ * get_dof_value() calls. In this case, instead of a scalar return field\n+ * VectorizedArray@<double@> a tensor is returned,\n+ *\n+ * @code\n+ * get_value -> Tensor<1,n_components,VectorizedArray<double> >\n+ * get_gradient -> Tensor<1,n_components,Tensor<1,dim,VectorizedArray<double> > >\n+ * @endcode\n+ *\n+ * In a similar vein, the submit_value() and submit_gradient() calls take\n+ * tensors of values. Note that there exist specializations for @p\n+ * n_components=1 and @p n_components=dim, which are provided through the base\n+ * class FEEvaluationAccess. In the scalar case, these provide the scalar","path":"include/deal.II/matrix_free/fe_evaluation.h","position":213,"original_position":213,"commit_id":"868e563af51fedff484105721710bead4288e8f9","original_commit_id":"868e563af51fedff484105721710bead4288e8f9","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"body":"Yes, it is a detail of implementation. Nonetheless, if one wants to look at what type the `get_value()` methods return (or the fact that is a `get_divergence` call for the specialization `n_components==dim`), one needs to be aware of that class. Since I'm one of two authors of that part and know where things are, I'd be happy to let you or @davydden decide whether it is important to mention that here.","created_at":"2016-10-01T08:48:03Z","updated_at":"2016-10-01T08:48:03Z","html_url":"https://github.com/dealii/dealii/pull/3170#discussion_r81446501","pull_request_url":"https://api.github.com/repos/dealii/dealii/pulls/3170","_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments/81446501"},"html":{"href":"https://github.com/dealii/dealii/pull/3170#discussion_r81446501"},"pull_request":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3170"}}},"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/3170","id":87509292,"html_url":"https://github.com/dealii/dealii/pull/3170","diff_url":"https://github.com/dealii/dealii/pull/3170.diff","patch_url":"https://github.com/dealii/dealii/pull/3170.patch","issue_url":"https://api.github.com/repos/dealii/dealii/issues/3170","number":3170,"state":"open","locked":false,"title":"Augment documentation","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"body":"As discussed on the mailing list with @davydden ","created_at":"2016-09-30T14:57:44Z","updated_at":"2016-10-01T08:48:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea8f3bff635104592448bad5808d0b147c31cf05","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dealii/dealii/pulls/3170/commits","review_comments_url":"https://api.github.com/repos/dealii/dealii/pulls/3170/comments","review_comment_url":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/3170/comments","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/868e563af51fedff484105721710bead4288e8f9","head":{"label":"kronbichler:documentation_fe_evaluation","ref":"documentation_fe_evaluation","sha":"868e563af51fedff484105721710bead4288e8f9","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"repo":{"id":22549298,"name":"dealii","full_name":"kronbichler/dealii","owner":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kronbichler/dealii","description":"The development repository for the deal.II finite element library.","fork":true,"url":"https://api.github.com/repos/kronbichler/dealii","forks_url":"https://api.github.com/repos/kronbichler/dealii/forks","keys_url":"https://api.github.com/repos/kronbichler/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kronbichler/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kronbichler/dealii/teams","hooks_url":"https://api.github.com/repos/kronbichler/dealii/hooks","issue_events_url":"https://api.github.com/repos/kronbichler/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/kronbichler/dealii/events","assignees_url":"https://api.github.com/repos/kronbichler/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/kronbichler/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/kronbichler/dealii/tags","blobs_url":"https://api.github.com/repos/kronbichler/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kronbichler/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kronbichler/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/kronbichler/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kronbichler/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/kronbichler/dealii/languages","stargazers_url":"https://api.github.com/repos/kronbichler/dealii/stargazers","contributors_url":"https://api.github.com/repos/kronbichler/dealii/contributors","subscribers_url":"https://api.github.com/repos/kronbichler/dealii/subscribers","subscription_url":"https://api.github.com/repos/kronbichler/dealii/subscription","commits_url":"https://api.github.com/repos/kronbichler/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/kronbichler/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/kronbichler/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/kronbichler/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/kronbichler/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/kronbichler/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kronbichler/dealii/merges","archive_url":"https://api.github.com/repos/kronbichler/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kronbichler/dealii/downloads","issues_url":"https://api.github.com/repos/kronbichler/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/kronbichler/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/kronbichler/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/kronbichler/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kronbichler/dealii/labels{/name}","releases_url":"https://api.github.com/repos/kronbichler/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/kronbichler/dealii/deployments","created_at":"2014-08-02T15:52:43Z","updated_at":"2016-01-11T13:12:43Z","pushed_at":"2016-09-30T14:57:06Z","git_url":"git://github.com/kronbichler/dealii.git","ssh_url":"git@github.com:kronbichler/dealii.git","clone_url":"https://github.com/kronbichler/dealii.git","svn_url":"https://github.com/kronbichler/dealii","homepage":"http://www.dealii.org/","size":146904,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dealii:master","ref":"master","sha":"bee46eefb1f02a3f532d31ebdab0e6fbba7b1833","user":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"repo":{"id":21943980,"name":"dealii","full_name":"dealii/dealii","owner":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dealii/dealii","description":"The development repository for the deal.II finite element library.","fork":false,"url":"https://api.github.com/repos/dealii/dealii","forks_url":"https://api.github.com/repos/dealii/dealii/forks","keys_url":"https://api.github.com/repos/dealii/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dealii/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dealii/dealii/teams","hooks_url":"https://api.github.com/repos/dealii/dealii/hooks","issue_events_url":"https://api.github.com/repos/dealii/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/dealii/dealii/events","assignees_url":"https://api.github.com/repos/dealii/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/dealii/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/dealii/dealii/tags","blobs_url":"https://api.github.com/repos/dealii/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dealii/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dealii/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/dealii/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/dealii/dealii/languages","stargazers_url":"https://api.github.com/repos/dealii/dealii/stargazers","contributors_url":"https://api.github.com/repos/dealii/dealii/contributors","subscribers_url":"https://api.github.com/repos/dealii/dealii/subscribers","subscription_url":"https://api.github.com/repos/dealii/dealii/subscription","commits_url":"https://api.github.com/repos/dealii/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/dealii/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/dealii/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/dealii/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/dealii/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/dealii/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dealii/dealii/merges","archive_url":"https://api.github.com/repos/dealii/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dealii/dealii/downloads","issues_url":"https://api.github.com/repos/dealii/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/dealii/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/dealii/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/dealii/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dealii/dealii/labels{/name}","releases_url":"https://api.github.com/repos/dealii/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/dealii/dealii/deployments","created_at":"2014-07-17T14:00:26Z","updated_at":"2016-09-28T12:07:58Z","pushed_at":"2016-10-01T05:45:09Z","git_url":"git://github.com/dealii/dealii.git","ssh_url":"git@github.com:dealii/dealii.git","clone_url":"https://github.com/dealii/dealii.git","svn_url":"https://github.com/dealii/dealii","homepage":"http://www.dealii.org/","size":167962,"stargazers_count":173,"watchers_count":173,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":184,"mirror_url":null,"open_issues_count":187,"forks":184,"open_issues":187,"watchers":173,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3170"},"html":{"href":"https://github.com/dealii/dealii/pull/3170"},"issue":{"href":"https://api.github.com/repos/dealii/dealii/issues/3170"},"comments":{"href":"https://api.github.com/repos/dealii/dealii/issues/3170/comments"},"review_comments":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3170/comments"},"review_comment":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3170/commits"},"statuses":{"href":"https://api.github.com/repos/dealii/dealii/statuses/868e563af51fedff484105721710bead4288e8f9"}}}}
{"actor":{"display_login":"kronbichler"}}