{"action":"created","comment":{"url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/comments/243565069","pull_request_review_id":187371250,"id":243565069,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MzU2NTA2OQ==","diff_hunk":"@@ -0,0 +1,233 @@\n+//    |  /           |\n+//    ' /   __| _` | __|  _ \\   __|\n+//    . \\  |   (   | |   (   |\\__ `\n+//   _|\\_\\_|  \\__,_|\\__|\\___/ ____/\n+//                   Multi-Physics\n+//\n+//  License:\t\t BSD License\n+//\t\t\t\t\t Kratos default license: kratos/license.txt\n+//\n+//  Main authors:    Ruben Zorrilla\n+//\n+//\n+\n+// Project includes\n+#include \"includes/node.h\"\n+#include \"testing/testing.h\"\n+#include \"geometries/tetrahedra_3d_4.h\"\n+#include \"utilities/split_tetrahedra.h\"\n+\n+namespace Kratos {\n+namespace Testing {\n+\n+void SearchExternalFaces(\n+    const std::vector<Geometry<Node<3>>> &rSubTetrasFaces,\n+    std::vector<Geometry<Node<3>>> &rSubTetrasExtFaces)\n+{\n+    for (unsigned int i_face = 0; i_face < rSubTetrasFaces.size(); ++i_face) {\n+        unsigned int i_face_times = 0;\n+        const Geometry<Node<3>> &r_i_face = rSubTetrasFaces[i_face];\n+        const unsigned int i_0 = r_i_face[0].Id();\n+        const unsigned int i_1 = r_i_face[1].Id();\n+        const unsigned int i_2 = r_i_face[2].Id();\n+\n+        // Check the current face against all faces\n+        for (unsigned int j_face = 0; j_face < rSubTetrasFaces.size(); ++j_face) {\n+            const Geometry<Node<3>> &r_j_face = rSubTetrasFaces[j_face];\n+            const unsigned int j_0 = r_j_face[0].Id();\n+            const unsigned int j_1 = r_j_face[1].Id();\n+            const unsigned int j_2 = r_j_face[2].Id();\n+\n+            if (i_0 == j_0 || i_0 == j_1 || i_0 == j_2) {\n+                if (i_1 == j_0 || i_1 == j_1 || i_1 == j_2) {\n+                    if (i_2 == j_0 || i_2 == j_1 || i_2 == j_2) {\n+                        i_face_times++;\n+                    }\n+                }\n+            }\n+        }\n+\n+        // If the face it's external, there must be a unique occurrence\n+        if (i_face_times == 1) {\n+            rSubTetrasExtFaces.push_back(r_i_face);\n+        }\n+    }\n+}\n+\n+void PrintEdgesAndExternalFaces(\n+    const unsigned int Permutation,\n+    const std::vector<int> &rEdgeIntVect,\n+    const std::vector<Geometry<Node<3>>> rSubTetrasExtFaces)\n+{\n+    std::cout << \"((\"\n+        << rEdgeIntVect[0] << \",\"\n+        << rEdgeIntVect[1] << \",\"\n+        << rEdgeIntVect[2] << \",\"\n+        << rEdgeIntVect[3] << \",\"\n+        << rEdgeIntVect[4] << \",\"\n+        << rEdgeIntVect[5] << \") , [\";\n+\n+    for (unsigned int i_ext_face = 0; i_ext_face < rSubTetrasExtFaces.size(); i_ext_face++) {\n+        const Geometry<Node<3>> &r_i_ext_face = rSubTetrasExtFaces[i_ext_face];\n+        const unsigned int i_ext_0 = r_i_ext_face[0].Id();\n+        const unsigned int i_ext_1 = r_i_ext_face[1].Id();\n+        const unsigned int i_ext_2 = r_i_ext_face[2].Id();\n+        std::cout << \"(\" << i_ext_0 << \",\" << i_ext_1 << \",\" << i_ext_2 << \")\";\n+        if (i_ext_face != (rSubTetrasExtFaces.size() - 1)) {\n+            std::cout << \",\";\n+        }\n+    }\n+\n+    if (Permutation != 729) {\n+        std::cout << \"]),\" << std::endl;\n+    } else {\n+        std::cout << \"])\"  << std::endl;\n+    }\n+}\n+\n+KRATOS_TEST_CASE_IN_SUITE(TetrahedraSplitModes, KratosCoreFastSuite)\n+{\n+    std::vector<int> aux_ids(11);\n+    std::vector<int> edge_ids(6);\n+\n+    aux_ids[0] = 2; aux_ids[1] = 1; aux_ids[2] = 4; aux_ids[3] = 3; // Vertices\n+    aux_ids[4] = -1; // Edge 01\n+    aux_ids[5] =  1; // Edge 02 (split) \n+    aux_ids[6] = -1; // Edge 03\n+    aux_ids[7] =  1; // Edge 12 (split)\n+    aux_ids[8] = -1; // Edge 13\n+    aux_ids[9] =  1; // Edge 23 (split)\n+    aux_ids[10] = -1; // Internal (Steiner) node not required\n+\n+    TetrahedraSplit::TetrahedraSplitMode(aux_ids.data(), edge_ids.data());\n+\n+    KRATOS_CHECK_EQUAL(edge_ids[0], 0);\n+    KRATOS_CHECK_EQUAL(edge_ids[1], 5);\n+    KRATOS_CHECK_EQUAL(edge_ids[2], 3);\n+    KRATOS_CHECK_EQUAL(edge_ids[3], 7);\n+    KRATOS_CHECK_EQUAL(edge_ids[4], 3);\n+    KRATOS_CHECK_EQUAL(edge_ids[5], 9);","path":"kratos/tests/cpp_tests/utilities/test_split_tetrahedra.cpp","position":109,"original_position":109,"commit_id":"fe605a5196628dc221cb66e656669731545e46d9","original_commit_id":"fe605a5196628dc221cb66e656669731545e46d9","user":{"login":"philbucher","id":25484702,"node_id":"MDQ6VXNlcjI1NDg0NzAy","avatar_url":"https://avatars3.githubusercontent.com/u/25484702?v=4","gravatar_id":"","url":"https://api.github.com/users/philbucher","html_url":"https://github.com/philbucher","followers_url":"https://api.github.com/users/philbucher/followers","following_url":"https://api.github.com/users/philbucher/following{/other_user}","gists_url":"https://api.github.com/users/philbucher/gists{/gist_id}","starred_url":"https://api.github.com/users/philbucher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philbucher/subscriptions","organizations_url":"https://api.github.com/users/philbucher/orgs","repos_url":"https://api.github.com/users/philbucher/repos","events_url":"https://api.github.com/users/philbucher/events{/privacy}","received_events_url":"https://api.github.com/users/philbucher/received_events","type":"User","site_admin":false},"body":"minor comment, I think all those macros increase the compilation time (pls correct me if I am wrong @roigcarlo )\r\n\r\nalternative solutions.\r\n~~~c\r\nconst std::vector<int> expected_results{0,5,3,7,3,9 }; // maybe constexpr, not sure\r\nfor (std::size_t i=0; i<6; ++i) {\r\n    KRATOS_CHECK_EQUAL(edge_ids[i], expected_results[i]);\r\n}\r\n~~~\r\n\r\nthis way you only have to compile the macro once","created_at":"2018-12-21T12:08:15Z","updated_at":"2018-12-21T12:08:15Z","html_url":"https://github.com/KratosMultiphysics/Kratos/pull/3708#discussion_r243565069","pull_request_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/comments/243565069"},"html":{"href":"https://github.com/KratosMultiphysics/Kratos/pull/3708#discussion_r243565069"},"pull_request":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708"}}},"pull_request":{"url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708","id":240262597,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQwMjYyNTk3","html_url":"https://github.com/KratosMultiphysics/Kratos/pull/3708","diff_url":"https://github.com/KratosMultiphysics/Kratos/pull/3708.diff","patch_url":"https://github.com/KratosMultiphysics/Kratos/pull/3708.patch","issue_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/3708","number":3708,"state":"open","locked":false,"title":"[Core] Correcting and optimizing tetrahedra splitting","user":{"login":"rubenzorrilla","id":19992225,"node_id":"MDQ6VXNlcjE5OTkyMjI1","avatar_url":"https://avatars0.githubusercontent.com/u/19992225?v=4","gravatar_id":"","url":"https://api.github.com/users/rubenzorrilla","html_url":"https://github.com/rubenzorrilla","followers_url":"https://api.github.com/users/rubenzorrilla/followers","following_url":"https://api.github.com/users/rubenzorrilla/following{/other_user}","gists_url":"https://api.github.com/users/rubenzorrilla/gists{/gist_id}","starred_url":"https://api.github.com/users/rubenzorrilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubenzorrilla/subscriptions","organizations_url":"https://api.github.com/users/rubenzorrilla/orgs","repos_url":"https://api.github.com/users/rubenzorrilla/repos","events_url":"https://api.github.com/users/rubenzorrilla/events{/privacy}","received_events_url":"https://api.github.com/users/rubenzorrilla/received_events","type":"User","site_admin":false},"body":"We've been debugging for a month to arrive to this PR. Since the majority of the changes proposed appear to be disconnected between them, Long story short, this is how we've arrived to here:\r\n\r\n1. At the very beginning we realized that with high pressures, our discontinuous FE space embedded formulation were crashing for high pressure values. Since in principle the pressure value is not a problem, we start to debug the weak BC imposition (PR  #3703 comes from here).\r\n2. It turned to be that the imposition was right but some spurious fluxes used to appear in the interface, even for the case in where we set a solution inside our discontinuous FE space (basically a constant solution).\r\n3. Thanks to this, we noted that the problem was in the splitting patterns, which were no consistent between faces since it was done considering the local elemental ids. instead of the global ones.\r\n4. Having a look to such splitting patterns, we discovered that the `split_tetrahedra.h`had some splitting patterns which were non optimal since they introduced an internal (also called Steiner node) to perform the splitting even though it was no needed. Since such Steiner never appears when the splitting is associated to a level set (instead to be associated to a remeshing process) we couldn't keep it as it was.\r\n\r\nHaving this in mind, the summary of the changes is:\r\n\r\n- Modification of the __`split_tetrahedra.h`__ splitting patterns. We have regenerated all the possible splitting patterns by giving the external faces to TetGen to obtain the internal subdivisions.\r\n- Now both the __`divide_triangle_2d_3.cpp`__ and the __`divide_tetrahedra_3d_4.cpp`__utilities consider the global ids. to decide the edge collapse before the splitting. This enforces the splitting to be consistent between shared faces.\r\n- New tests have been created and the existent ones that have been influenced by the changes above have been updated.\r\n\r\nWe strongly believe that the current splitting patterns are OK, but since this is a quite important thing that can silently introduce bugs for all the community (@KratosMultiphysics/all ), we kindly ask you to notify any strange behavior that you observe from now on. We have run (and updated) the FluidDynamicsApplication tests, since this application widely uses these utilities, and the obtained values slightly differ (minor differences can be expected). ","created_at":"2018-12-20T18:28:34Z","updated_at":"2018-12-21T12:08:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8ca15d82d66eafc24268527ad48ec420c1dabc2d","assignee":{"login":"rubenzorrilla","id":19992225,"node_id":"MDQ6VXNlcjE5OTkyMjI1","avatar_url":"https://avatars0.githubusercontent.com/u/19992225?v=4","gravatar_id":"","url":"https://api.github.com/users/rubenzorrilla","html_url":"https://github.com/rubenzorrilla","followers_url":"https://api.github.com/users/rubenzorrilla/followers","following_url":"https://api.github.com/users/rubenzorrilla/following{/other_user}","gists_url":"https://api.github.com/users/rubenzorrilla/gists{/gist_id}","starred_url":"https://api.github.com/users/rubenzorrilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubenzorrilla/subscriptions","organizations_url":"https://api.github.com/users/rubenzorrilla/orgs","repos_url":"https://api.github.com/users/rubenzorrilla/repos","events_url":"https://api.github.com/users/rubenzorrilla/events{/privacy}","received_events_url":"https://api.github.com/users/rubenzorrilla/received_events","type":"User","site_admin":false},"assignees":[{"login":"rubenzorrilla","id":19992225,"node_id":"MDQ6VXNlcjE5OTkyMjI1","avatar_url":"https://avatars0.githubusercontent.com/u/19992225?v=4","gravatar_id":"","url":"https://api.github.com/users/rubenzorrilla","html_url":"https://github.com/rubenzorrilla","followers_url":"https://api.github.com/users/rubenzorrilla/followers","following_url":"https://api.github.com/users/rubenzorrilla/following{/other_user}","gists_url":"https://api.github.com/users/rubenzorrilla/gists{/gist_id}","starred_url":"https://api.github.com/users/rubenzorrilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubenzorrilla/subscriptions","organizations_url":"https://api.github.com/users/rubenzorrilla/orgs","repos_url":"https://api.github.com/users/rubenzorrilla/repos","events_url":"https://api.github.com/users/rubenzorrilla/events{/privacy}","received_events_url":"https://api.github.com/users/rubenzorrilla/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"RiccardoRossi","id":8059665,"node_id":"MDQ6VXNlcjgwNTk2NjU=","avatar_url":"https://avatars1.githubusercontent.com/u/8059665?v=4","gravatar_id":"","url":"https://api.github.com/users/RiccardoRossi","html_url":"https://github.com/RiccardoRossi","followers_url":"https://api.github.com/users/RiccardoRossi/followers","following_url":"https://api.github.com/users/RiccardoRossi/following{/other_user}","gists_url":"https://api.github.com/users/RiccardoRossi/gists{/gist_id}","starred_url":"https://api.github.com/users/RiccardoRossi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RiccardoRossi/subscriptions","organizations_url":"https://api.github.com/users/RiccardoRossi/orgs","repos_url":"https://api.github.com/users/RiccardoRossi/repos","events_url":"https://api.github.com/users/RiccardoRossi/events{/privacy}","received_events_url":"https://api.github.com/users/RiccardoRossi/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":539268248,"node_id":"MDU6TGFiZWw1MzkyNjgyNDg=","url":"https://api.github.com/repos/KratosMultiphysics/Kratos/labels/Applications","name":"Applications","color":"0052cc","default":false},{"id":1091391138,"node_id":"MDU6TGFiZWwxMDkxMzkxMTM4","url":"https://api.github.com/repos/KratosMultiphysics/Kratos/labels/Bugfix","name":"Bugfix","color":"77d86e","default":false},{"id":539268135,"node_id":"MDU6TGFiZWw1MzkyNjgxMzU=","url":"https://api.github.com/repos/KratosMultiphysics/Kratos/labels/Kratos%20Core","name":"Kratos Core","color":"0052cc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708/commits","review_comments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708/comments","review_comment_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/3708/comments","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/statuses/fe605a5196628dc221cb66e656669731545e46d9","head":{"label":"KratosMultiphysics:feature-core-new-split-tetrahedra","ref":"feature-core-new-split-tetrahedra","sha":"fe605a5196628dc221cb66e656669731545e46d9","user":{"login":"KratosMultiphysics","id":24840449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0ODQwNDQ5","avatar_url":"https://avatars1.githubusercontent.com/u/24840449?v=4","gravatar_id":"","url":"https://api.github.com/users/KratosMultiphysics","html_url":"https://github.com/KratosMultiphysics","followers_url":"https://api.github.com/users/KratosMultiphysics/followers","following_url":"https://api.github.com/users/KratosMultiphysics/following{/other_user}","gists_url":"https://api.github.com/users/KratosMultiphysics/gists{/gist_id}","starred_url":"https://api.github.com/users/KratosMultiphysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KratosMultiphysics/subscriptions","organizations_url":"https://api.github.com/users/KratosMultiphysics/orgs","repos_url":"https://api.github.com/users/KratosMultiphysics/repos","events_url":"https://api.github.com/users/KratosMultiphysics/events{/privacy}","received_events_url":"https://api.github.com/users/KratosMultiphysics/received_events","type":"Organization","site_admin":false},"repo":{"id":81815495,"node_id":"MDEwOlJlcG9zaXRvcnk4MTgxNTQ5NQ==","name":"Kratos","full_name":"KratosMultiphysics/Kratos","private":false,"owner":{"login":"KratosMultiphysics","id":24840449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0ODQwNDQ5","avatar_url":"https://avatars1.githubusercontent.com/u/24840449?v=4","gravatar_id":"","url":"https://api.github.com/users/KratosMultiphysics","html_url":"https://github.com/KratosMultiphysics","followers_url":"https://api.github.com/users/KratosMultiphysics/followers","following_url":"https://api.github.com/users/KratosMultiphysics/following{/other_user}","gists_url":"https://api.github.com/users/KratosMultiphysics/gists{/gist_id}","starred_url":"https://api.github.com/users/KratosMultiphysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KratosMultiphysics/subscriptions","organizations_url":"https://api.github.com/users/KratosMultiphysics/orgs","repos_url":"https://api.github.com/users/KratosMultiphysics/repos","events_url":"https://api.github.com/users/KratosMultiphysics/events{/privacy}","received_events_url":"https://api.github.com/users/KratosMultiphysics/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/KratosMultiphysics/Kratos","description":"Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.","fork":false,"url":"https://api.github.com/repos/KratosMultiphysics/Kratos","forks_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/forks","keys_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/teams","hooks_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/hooks","issue_events_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/events{/number}","events_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/events","assignees_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/assignees{/user}","branches_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/branches{/branch}","tags_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/tags","blobs_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/refs{/sha}","trees_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/statuses/{sha}","languages_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/languages","stargazers_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/stargazers","contributors_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/contributors","subscribers_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/subscribers","subscription_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/subscription","commits_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/commits{/sha}","git_commits_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/commits{/sha}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/comments{/number}","issue_comment_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/comments{/number}","contents_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/contents/{+path}","compare_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/merges","archive_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/downloads","issues_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues{/number}","pulls_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls{/number}","milestones_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/milestones{/number}","notifications_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/labels{/name}","releases_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/releases{/id}","deployments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/deployments","created_at":"2017-02-13T10:58:24Z","updated_at":"2018-12-21T10:23:34Z","pushed_at":"2018-12-21T11:08:54Z","git_url":"git://github.com/KratosMultiphysics/Kratos.git","ssh_url":"git@github.com:KratosMultiphysics/Kratos.git","clone_url":"https://github.com/KratosMultiphysics/Kratos.git","svn_url":"https://github.com/KratosMultiphysics/Kratos","homepage":"http://www.cimne.com/kratos/","size":1313434,"stargazers_count":242,"watchers_count":242,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":206,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":54,"open_issues":206,"watchers":242,"default_branch":"master"}},"base":{"label":"KratosMultiphysics:master","ref":"master","sha":"e6882a9d9d93f44652c30960e37778c85fe5abd5","user":{"login":"KratosMultiphysics","id":24840449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0ODQwNDQ5","avatar_url":"https://avatars1.githubusercontent.com/u/24840449?v=4","gravatar_id":"","url":"https://api.github.com/users/KratosMultiphysics","html_url":"https://github.com/KratosMultiphysics","followers_url":"https://api.github.com/users/KratosMultiphysics/followers","following_url":"https://api.github.com/users/KratosMultiphysics/following{/other_user}","gists_url":"https://api.github.com/users/KratosMultiphysics/gists{/gist_id}","starred_url":"https://api.github.com/users/KratosMultiphysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KratosMultiphysics/subscriptions","organizations_url":"https://api.github.com/users/KratosMultiphysics/orgs","repos_url":"https://api.github.com/users/KratosMultiphysics/repos","events_url":"https://api.github.com/users/KratosMultiphysics/events{/privacy}","received_events_url":"https://api.github.com/users/KratosMultiphysics/received_events","type":"Organization","site_admin":false},"repo":{"id":81815495,"node_id":"MDEwOlJlcG9zaXRvcnk4MTgxNTQ5NQ==","name":"Kratos","full_name":"KratosMultiphysics/Kratos","private":false,"owner":{"login":"KratosMultiphysics","id":24840449,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI0ODQwNDQ5","avatar_url":"https://avatars1.githubusercontent.com/u/24840449?v=4","gravatar_id":"","url":"https://api.github.com/users/KratosMultiphysics","html_url":"https://github.com/KratosMultiphysics","followers_url":"https://api.github.com/users/KratosMultiphysics/followers","following_url":"https://api.github.com/users/KratosMultiphysics/following{/other_user}","gists_url":"https://api.github.com/users/KratosMultiphysics/gists{/gist_id}","starred_url":"https://api.github.com/users/KratosMultiphysics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KratosMultiphysics/subscriptions","organizations_url":"https://api.github.com/users/KratosMultiphysics/orgs","repos_url":"https://api.github.com/users/KratosMultiphysics/repos","events_url":"https://api.github.com/users/KratosMultiphysics/events{/privacy}","received_events_url":"https://api.github.com/users/KratosMultiphysics/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/KratosMultiphysics/Kratos","description":"Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.","fork":false,"url":"https://api.github.com/repos/KratosMultiphysics/Kratos","forks_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/forks","keys_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/teams","hooks_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/hooks","issue_events_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/events{/number}","events_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/events","assignees_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/assignees{/user}","branches_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/branches{/branch}","tags_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/tags","blobs_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/refs{/sha}","trees_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/statuses/{sha}","languages_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/languages","stargazers_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/stargazers","contributors_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/contributors","subscribers_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/subscribers","subscription_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/subscription","commits_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/commits{/sha}","git_commits_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/git/commits{/sha}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/comments{/number}","issue_comment_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/comments{/number}","contents_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/contents/{+path}","compare_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/merges","archive_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/downloads","issues_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues{/number}","pulls_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls{/number}","milestones_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/milestones{/number}","notifications_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/labels{/name}","releases_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/releases{/id}","deployments_url":"https://api.github.com/repos/KratosMultiphysics/Kratos/deployments","created_at":"2017-02-13T10:58:24Z","updated_at":"2018-12-21T10:23:34Z","pushed_at":"2018-12-21T11:08:54Z","git_url":"git://github.com/KratosMultiphysics/Kratos.git","ssh_url":"git@github.com:KratosMultiphysics/Kratos.git","clone_url":"https://github.com/KratosMultiphysics/Kratos.git","svn_url":"https://github.com/KratosMultiphysics/Kratos","homepage":"http://www.cimne.com/kratos/","size":1313434,"stargazers_count":242,"watchers_count":242,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":206,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":54,"open_issues":206,"watchers":242,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708"},"html":{"href":"https://github.com/KratosMultiphysics/Kratos/pull/3708"},"issue":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/3708"},"comments":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/issues/3708/comments"},"review_comments":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708/comments"},"review_comment":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/pulls/3708/commits"},"statuses":{"href":"https://api.github.com/repos/KratosMultiphysics/Kratos/statuses/fe605a5196628dc221cb66e656669731545e46d9"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"philbucher"}}