{"action":"created","comment":{"url":"https://api.github.com/repos/ufz/ogs/pulls/comments/83678093","pull_request_review_id":4505823,"id":83678093,"diff_hunk":"@@ -0,0 +1,125 @@\n+/**\n+ * \\copyright\n+ * Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org)\n+ *            Distributed under a Modified BSD License.\n+ *              See accompanying file LICENSE.txt or\n+ *              http://www.opengeosys.org/project/license\n+ *\n+ */\n+\n+#ifndef PROCESSLIB_SMALLDEFORMATION_WITH_LIE_PROCESS_H_\n+#define PROCESSLIB_SMALLDEFORMATION_WITH_LIE_PROCESS_H_\n+\n+#include <cassert>\n+\n+#include \"ProcessLib/Process.h\"\n+\n+#include \"ProcessLib/SmallDeformationWithLIE/LocalAssembler/CreateLocalAssemblers.h\"\n+#include \"ProcessLib/SmallDeformationWithLIE/LocalAssembler/SmallDeformationLocalAssemblerInterface.h\"\n+\n+#include \"SmallDeformationProcessData.h\"\n+\n+namespace ProcessLib\n+{\n+namespace SmallDeformationWithLIE\n+{\n+template <int DisplacementDim>\n+class SmallDeformationProcess final : public Process\n+{\n+    using Base = Process;\n+\n+    static_assert(DisplacementDim==2,\n+                  \"Currently SmallDeformationWithLIE::SmallDeformationProcess \"\n+                  \"supports only 2D.\");\n+\n+public:\n+    SmallDeformationProcess(\n+        MeshLib::Mesh& mesh,\n+        std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&&\n+            jacobian_assembler,\n+        std::vector<std::unique_ptr<ParameterBase>> const& parameters,\n+        unsigned const integration_order,\n+        std::vector<std::reference_wrapper<ProcessVariable>>&&\n+            process_variables,\n+        SmallDeformationProcessData<DisplacementDim>&& process_data,\n+        SecondaryVariableCollection&& secondary_variables,\n+        NumLib::NamedFunctionCaller&& named_function_caller);\n+\n+    //! \\name ODESystem interface\n+    //! @{\n+\n+    bool isLinear() const override { return false; }\n+    //! @}\n+\n+private:\n+    using LocalAssemblerInterface = SmallDeformationLocalAssemblerInterface;\n+\n+    void constructDofTable() override;\n+\n+    void initializeConcreteProcess(\n+        NumLib::LocalToGlobalIndexMap const& dof_table,\n+        MeshLib::Mesh const& mesh,\n+        unsigned const integration_order) override;\n+\n+    void assembleConcreteProcess(const double t, GlobalVector const& x,\n+                                 GlobalMatrix& M, GlobalMatrix& K,\n+                                 GlobalVector& b) override\n+    {\n+        DBUG(\"Assemble SmallDeformationProcess.\");\n+\n+        // Call global assembler for each local assembly item.\n+        GlobalExecutor::executeMemberDereferenced(\n+            _global_assembler, &VectorMatrixAssembler::assemble,\n+            _local_assemblers, *_local_to_global_index_map, t, x, M, K, b);\n+    }\n+\n+    void assembleWithJacobianConcreteProcess(\n+        const double t, GlobalVector const& x, GlobalVector const& xdot,\n+        const double dxdot_dx, const double dx_dx, GlobalMatrix& M,\n+        GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) override\n+    {\n+        DBUG(\"AssembleWithJacobian SmallDeformationProcess.\");\n+\n+        // Call global assembler for each local assembly item.\n+        GlobalExecutor::executeMemberDereferenced(\n+            _global_assembler, &VectorMatrixAssembler::assembleWithJacobian,\n+            _local_assemblers, *_local_to_global_index_map, t, x, xdot,\n+            dxdot_dx, dx_dx, M, K, b, Jac);\n+    }\n+\n+    void preTimestepConcreteProcess(GlobalVector const& x, double const t,\n+                     double const dt) override\n+    {\n+        DBUG(\"PreTimestep SmallDeformationProcess.\");\n+\n+        _process_data.dt = dt;\n+        _process_data.t = t;\n+\n+        GlobalExecutor::executeMemberOnDereferenced(\n+            &SmallDeformationLocalAssemblerInterface::preTimestep,\n+            _local_assemblers, *_local_to_global_index_map, x, t, dt);\n+    }\n+\n+    void postTimestepConcreteProcess(GlobalVector const& x) override;\n+\n+private:\n+    SmallDeformationProcessData<DisplacementDim> _process_data;\n+\n+    std::vector<std::unique_ptr<LocalAssemblerInterface>> _local_assemblers;\n+\n+    std::unique_ptr<NumLib::LocalToGlobalIndexMap>\n+        _local_to_global_index_map_single_component;\n+\n+    std::vector<MeshLib::Element*> _vec_matrix_elements;","path":"ProcessLib/SmallDeformationWithLIE/SmallDeformationProcess.h","position":113,"original_position":113,"commit_id":"fee559629cd4c719f022cf1bee85280c8b49e725","original_commit_id":"fee559629cd4c719f022cf1bee85280c8b49e725","user":{"login":"wenqing","id":1343839,"avatar_url":"https://avatars.githubusercontent.com/u/1343839?v=3","gravatar_id":"","url":"https://api.github.com/users/wenqing","html_url":"https://github.com/wenqing","followers_url":"https://api.github.com/users/wenqing/followers","following_url":"https://api.github.com/users/wenqing/following{/other_user}","gists_url":"https://api.github.com/users/wenqing/gists{/gist_id}","starred_url":"https://api.github.com/users/wenqing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wenqing/subscriptions","organizations_url":"https://api.github.com/users/wenqing/orgs","repos_url":"https://api.github.com/users/wenqing/repos","events_url":"https://api.github.com/users/wenqing/events{/privacy}","received_events_url":"https://api.github.com/users/wenqing/received_events","type":"User","site_admin":false},"body":"It seems that these elements and nodes are kept untouched. Is it possible to use\r\n```std::vector<MeshLib::Element const*> or std::vector<MeshLib::Node const*>```","created_at":"2016-10-17T16:10:11Z","updated_at":"2016-10-17T16:10:11Z","html_url":"https://github.com/ufz/ogs/pull/1452#discussion_r83678093","pull_request_url":"https://api.github.com/repos/ufz/ogs/pulls/1452","_links":{"self":{"href":"https://api.github.com/repos/ufz/ogs/pulls/comments/83678093"},"html":{"href":"https://github.com/ufz/ogs/pull/1452#discussion_r83678093"},"pull_request":{"href":"https://api.github.com/repos/ufz/ogs/pulls/1452"}}},"pull_request":{"url":"https://api.github.com/repos/ufz/ogs/pulls/1452","id":87128277,"html_url":"https://github.com/ufz/ogs/pull/1452","diff_url":"https://github.com/ufz/ogs/pull/1452.diff","patch_url":"https://github.com/ufz/ogs/pull/1452.patch","issue_url":"https://api.github.com/repos/ufz/ogs/issues/1452","number":1452,"state":"open","locked":false,"title":"[SD-LIE] Small deformation process with lower-dimensional interface elements","user":{"login":"norihiro-w","id":800408,"avatar_url":"https://avatars.githubusercontent.com/u/800408?v=3","gravatar_id":"","url":"https://api.github.com/users/norihiro-w","html_url":"https://github.com/norihiro-w","followers_url":"https://api.github.com/users/norihiro-w/followers","following_url":"https://api.github.com/users/norihiro-w/following{/other_user}","gists_url":"https://api.github.com/users/norihiro-w/gists{/gist_id}","starred_url":"https://api.github.com/users/norihiro-w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norihiro-w/subscriptions","organizations_url":"https://api.github.com/users/norihiro-w/orgs","repos_url":"https://api.github.com/users/norihiro-w/repos","events_url":"https://api.github.com/users/norihiro-w/events{/privacy}","received_events_url":"https://api.github.com/users/norihiro-w/received_events","type":"User","site_admin":false},"body":"followup of #1455, #1456 and #1457\r\n\r\nThis PR adds the new process type \"SMALL_DEFORMATION_WITH_LIE\", which includes lower-dimensional interface elements for modeling fracture deformations. To make review easier, I would like to keep this first PR as simple as possible and focus on deformation with a single fracture cutting a domain. This is indeed enough for the DECOVALEX benchmark. Complexity can be increased later on step by step.","created_at":"2016-09-28T14:13:43Z","updated_at":"2016-10-17T16:10:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f6b6d3f3c375c626860aff811b26c33eb0352aa2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ufz/ogs/pulls/1452/commits","review_comments_url":"https://api.github.com/repos/ufz/ogs/pulls/1452/comments","review_comment_url":"https://api.github.com/repos/ufz/ogs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ufz/ogs/issues/1452/comments","statuses_url":"https://api.github.com/repos/ufz/ogs/statuses/fee559629cd4c719f022cf1bee85280c8b49e725","head":{"label":"norihiro-w:sd-lie","ref":"sd-lie","sha":"fee559629cd4c719f022cf1bee85280c8b49e725","user":{"login":"norihiro-w","id":800408,"avatar_url":"https://avatars.githubusercontent.com/u/800408?v=3","gravatar_id":"","url":"https://api.github.com/users/norihiro-w","html_url":"https://github.com/norihiro-w","followers_url":"https://api.github.com/users/norihiro-w/followers","following_url":"https://api.github.com/users/norihiro-w/following{/other_user}","gists_url":"https://api.github.com/users/norihiro-w/gists{/gist_id}","starred_url":"https://api.github.com/users/norihiro-w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norihiro-w/subscriptions","organizations_url":"https://api.github.com/users/norihiro-w/orgs","repos_url":"https://api.github.com/users/norihiro-w/repos","events_url":"https://api.github.com/users/norihiro-w/events{/privacy}","received_events_url":"https://api.github.com/users/norihiro-w/received_events","type":"User","site_admin":false},"repo":{"id":2612310,"name":"ogs","full_name":"norihiro-w/ogs","owner":{"login":"norihiro-w","id":800408,"avatar_url":"https://avatars.githubusercontent.com/u/800408?v=3","gravatar_id":"","url":"https://api.github.com/users/norihiro-w","html_url":"https://github.com/norihiro-w","followers_url":"https://api.github.com/users/norihiro-w/followers","following_url":"https://api.github.com/users/norihiro-w/following{/other_user}","gists_url":"https://api.github.com/users/norihiro-w/gists{/gist_id}","starred_url":"https://api.github.com/users/norihiro-w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/norihiro-w/subscriptions","organizations_url":"https://api.github.com/users/norihiro-w/orgs","repos_url":"https://api.github.com/users/norihiro-w/repos","events_url":"https://api.github.com/users/norihiro-w/events{/privacy}","received_events_url":"https://api.github.com/users/norihiro-w/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/norihiro-w/ogs","description":"OGS source code","fork":true,"url":"https://api.github.com/repos/norihiro-w/ogs","forks_url":"https://api.github.com/repos/norihiro-w/ogs/forks","keys_url":"https://api.github.com/repos/norihiro-w/ogs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/norihiro-w/ogs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/norihiro-w/ogs/teams","hooks_url":"https://api.github.com/repos/norihiro-w/ogs/hooks","issue_events_url":"https://api.github.com/repos/norihiro-w/ogs/issues/events{/number}","events_url":"https://api.github.com/repos/norihiro-w/ogs/events","assignees_url":"https://api.github.com/repos/norihiro-w/ogs/assignees{/user}","branches_url":"https://api.github.com/repos/norihiro-w/ogs/branches{/branch}","tags_url":"https://api.github.com/repos/norihiro-w/ogs/tags","blobs_url":"https://api.github.com/repos/norihiro-w/ogs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/norihiro-w/ogs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/norihiro-w/ogs/git/refs{/sha}","trees_url":"https://api.github.com/repos/norihiro-w/ogs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/norihiro-w/ogs/statuses/{sha}","languages_url":"https://api.github.com/repos/norihiro-w/ogs/languages","stargazers_url":"https://api.github.com/repos/norihiro-w/ogs/stargazers","contributors_url":"https://api.github.com/repos/norihiro-w/ogs/contributors","subscribers_url":"https://api.github.com/repos/norihiro-w/ogs/subscribers","subscription_url":"https://api.github.com/repos/norihiro-w/ogs/subscription","commits_url":"https://api.github.com/repos/norihiro-w/ogs/commits{/sha}","git_commits_url":"https://api.github.com/repos/norihiro-w/ogs/git/commits{/sha}","comments_url":"https://api.github.com/repos/norihiro-w/ogs/comments{/number}","issue_comment_url":"https://api.github.com/repos/norihiro-w/ogs/issues/comments{/number}","contents_url":"https://api.github.com/repos/norihiro-w/ogs/contents/{+path}","compare_url":"https://api.github.com/repos/norihiro-w/ogs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/norihiro-w/ogs/merges","archive_url":"https://api.github.com/repos/norihiro-w/ogs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/norihiro-w/ogs/downloads","issues_url":"https://api.github.com/repos/norihiro-w/ogs/issues{/number}","pulls_url":"https://api.github.com/repos/norihiro-w/ogs/pulls{/number}","milestones_url":"https://api.github.com/repos/norihiro-w/ogs/milestones{/number}","notifications_url":"https://api.github.com/repos/norihiro-w/ogs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/norihiro-w/ogs/labels{/name}","releases_url":"https://api.github.com/repos/norihiro-w/ogs/releases{/id}","deployments_url":"https://api.github.com/repos/norihiro-w/ogs/deployments","created_at":"2011-10-20T10:16:18Z","updated_at":"2015-03-17T09:09:07Z","pushed_at":"2016-10-17T12:49:59Z","git_url":"git://github.com/norihiro-w/ogs.git","ssh_url":"git@github.com:norihiro-w/ogs.git","clone_url":"https://github.com/norihiro-w/ogs.git","svn_url":"https://github.com/norihiro-w/ogs","homepage":"www.opengeosys.org","size":37136,"stargazers_count":3,"watchers_count":3,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":3,"default_branch":"master"}},"base":{"label":"ufz:master","ref":"master","sha":"2ae83c412f8fae861c169aa7bd86a9d9134fd978","user":{"login":"ufz","id":767517,"avatar_url":"https://avatars.githubusercontent.com/u/767517?v=3","gravatar_id":"","url":"https://api.github.com/users/ufz","html_url":"https://github.com/ufz","followers_url":"https://api.github.com/users/ufz/followers","following_url":"https://api.github.com/users/ufz/following{/other_user}","gists_url":"https://api.github.com/users/ufz/gists{/gist_id}","starred_url":"https://api.github.com/users/ufz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ufz/subscriptions","organizations_url":"https://api.github.com/users/ufz/orgs","repos_url":"https://api.github.com/users/ufz/repos","events_url":"https://api.github.com/users/ufz/events{/privacy}","received_events_url":"https://api.github.com/users/ufz/received_events","type":"Organization","site_admin":false},"repo":{"id":1701384,"name":"ogs","full_name":"ufz/ogs","owner":{"login":"ufz","id":767517,"avatar_url":"https://avatars.githubusercontent.com/u/767517?v=3","gravatar_id":"","url":"https://api.github.com/users/ufz","html_url":"https://github.com/ufz","followers_url":"https://api.github.com/users/ufz/followers","following_url":"https://api.github.com/users/ufz/following{/other_user}","gists_url":"https://api.github.com/users/ufz/gists{/gist_id}","starred_url":"https://api.github.com/users/ufz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ufz/subscriptions","organizations_url":"https://api.github.com/users/ufz/orgs","repos_url":"https://api.github.com/users/ufz/repos","events_url":"https://api.github.com/users/ufz/events{/privacy}","received_events_url":"https://api.github.com/users/ufz/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ufz/ogs","description":"Experimental OGS-6 source code","fork":false,"url":"https://api.github.com/repos/ufz/ogs","forks_url":"https://api.github.com/repos/ufz/ogs/forks","keys_url":"https://api.github.com/repos/ufz/ogs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ufz/ogs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ufz/ogs/teams","hooks_url":"https://api.github.com/repos/ufz/ogs/hooks","issue_events_url":"https://api.github.com/repos/ufz/ogs/issues/events{/number}","events_url":"https://api.github.com/repos/ufz/ogs/events","assignees_url":"https://api.github.com/repos/ufz/ogs/assignees{/user}","branches_url":"https://api.github.com/repos/ufz/ogs/branches{/branch}","tags_url":"https://api.github.com/repos/ufz/ogs/tags","blobs_url":"https://api.github.com/repos/ufz/ogs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ufz/ogs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ufz/ogs/git/refs{/sha}","trees_url":"https://api.github.com/repos/ufz/ogs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ufz/ogs/statuses/{sha}","languages_url":"https://api.github.com/repos/ufz/ogs/languages","stargazers_url":"https://api.github.com/repos/ufz/ogs/stargazers","contributors_url":"https://api.github.com/repos/ufz/ogs/contributors","subscribers_url":"https://api.github.com/repos/ufz/ogs/subscribers","subscription_url":"https://api.github.com/repos/ufz/ogs/subscription","commits_url":"https://api.github.com/repos/ufz/ogs/commits{/sha}","git_commits_url":"https://api.github.com/repos/ufz/ogs/git/commits{/sha}","comments_url":"https://api.github.com/repos/ufz/ogs/comments{/number}","issue_comment_url":"https://api.github.com/repos/ufz/ogs/issues/comments{/number}","contents_url":"https://api.github.com/repos/ufz/ogs/contents/{+path}","compare_url":"https://api.github.com/repos/ufz/ogs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ufz/ogs/merges","archive_url":"https://api.github.com/repos/ufz/ogs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ufz/ogs/downloads","issues_url":"https://api.github.com/repos/ufz/ogs/issues{/number}","pulls_url":"https://api.github.com/repos/ufz/ogs/pulls{/number}","milestones_url":"https://api.github.com/repos/ufz/ogs/milestones{/number}","notifications_url":"https://api.github.com/repos/ufz/ogs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ufz/ogs/labels{/name}","releases_url":"https://api.github.com/repos/ufz/ogs/releases{/id}","deployments_url":"https://api.github.com/repos/ufz/ogs/deployments","created_at":"2011-05-04T14:09:57Z","updated_at":"2016-10-10T14:28:04Z","pushed_at":"2016-10-17T14:21:29Z","git_url":"git://github.com/ufz/ogs.git","ssh_url":"git@github.com:ufz/ogs.git","clone_url":"https://github.com/ufz/ogs.git","svn_url":"https://github.com/ufz/ogs","homepage":"www.opengeosys.org","size":20233,"stargazers_count":21,"watchers_count":21,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"open_issues_count":95,"forks":54,"open_issues":95,"watchers":21,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ufz/ogs/pulls/1452"},"html":{"href":"https://github.com/ufz/ogs/pull/1452"},"issue":{"href":"https://api.github.com/repos/ufz/ogs/issues/1452"},"comments":{"href":"https://api.github.com/repos/ufz/ogs/issues/1452/comments"},"review_comments":{"href":"https://api.github.com/repos/ufz/ogs/pulls/1452/comments"},"review_comment":{"href":"https://api.github.com/repos/ufz/ogs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ufz/ogs/pulls/1452/commits"},"statuses":{"href":"https://api.github.com/repos/ufz/ogs/statuses/fee559629cd4c719f022cf1bee85280c8b49e725"}}}}
{"actor":{"display_login":"wenqing"}}