{"action":"created","comment":{"url":"https://api.github.com/repos/espressopp/espressopp/pulls/comments/44543577","id":44543577,"diff_hunk":"@@ -0,0 +1,201 @@\n+/*\n+  Copyright (C) 2012,2013,2015 (H)\n+      Max Planck Institute for Polymer Research\n+  Copyright (C) 2008,2009,2010,2011\n+      Max-Planck-Institute for Polymer Research & Fraunhofer SCAI\n+\n+  This file is part of ESPResSo++.\n+\n+  ESPResSo++ is free software: you can redistribute it and/or modify\n+  it under the terms of the GNU 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+  ESPResSo++ 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 for more details.\n+\n+  You should have received a copy of the GNU General Public License\n+  along with this program.  If not, see <http://www.gnu.org/licenses/>.\n+*/\n+\n+// ESPP_CLASS\n+#ifndef _INTERACTION_DIHEDRALHARMONIC_HPP\n+#define _INTERACTION_DIHEDRALHARMONIC_HPP\n+\n+#include \"DihedralPotential.hpp\"\n+#include <cmath>\n+\n+namespace espressopp {\n+  namespace interaction {\n+    /**\n+     * This class provides methods to compute forces and energies of\n+     * the DihedralHarmonic dihedral potential.\n+     *\n+     * The reference potential is as follow:\n+     * \\f$U(\\phi_{ijkn}) = 0.5 K (\\phi_{ijkn} - \\phi_0)^2]\\f$\n+     *\n+     * where the K is a constant. The angles \\f$\\phi\\f$ and \\f$\\phi_0\\f$ should be\n+     * provided in radians.\n+     *\n+     * The reference documentation:\n+     * Gromacs Manual 4.6.1, section 4.2.11 (page 79-80), equation 4.60\n+     *\n+     */\n+    class DihedralHarmonic : public DihedralPotentialTemplate< DihedralHarmonic > {\n+    private:\n+      real K;\n+      real phi0;\n+      //real cos_phi0;\n+\n+    public:\n+      static void registerPython();\n+\n+      DihedralHarmonic(): K(0.0), phi0(0.0) { }\n+      DihedralHarmonic(real _K, real _phi0):\n+        K(_K), phi0(_phi0){ }\n+      \n+\n+      void setK(real _K) { K = _K; }\n+      real getK() const { return K; }\n+\n+      void setPhi0(real _phi0) {\n+        phi0 = _phi0;\n+        //cos_phi0 = cos(phi0);\n+        //if(cos_phi0 < -1.0) cos_phi0 = -1.0;\n+        //else if(cos_phi0 >  1.0) cos_phi0 =  1.0;\n+      }\n+      real getPhi0() const { return phi0; }\n+\n+      // Kroneker delta function\n+      real d(int i, int j) const {\n+        if(i==j)\n+          return 1.0;\n+        else\n+          return 0.0;\n+      }\n+\n+      /** Compute dot product of two vectors */\n+      Real3D prod(Real3D a, Real3D b) const {\n+        Real3D res(0.0, 0.0, 0.0);\n+        for(int i=0; i<3; i++){\n+          for(int j=0; j<3; j++){\n+            res[i]+=(1.0-d(i, j))*a[j]*b[j];\n+          }\n+        }\n+        return res;\n+      }\n+\n+      /**\n+         Calculate raw value of the energy.\n+         @param[in] _phi  The phi value in radians.\n+         @return The energy value.\n+       */\n+      real _computeEnergyRaw(real _phi) const {\n+        real energy = 0.5 * K * (_phi - phi0) * (_phi - phi0);\n+        return energy;\n+      }\n+\n+      /**\n+       * Compute the force.\n+       * Only the form of the potential derivative has to be changed. The rest\n+       * remain the same as for the harmonic cosine potential\n+       */\n+      void _computeForceRaw(Real3D& force1,\n+                            Real3D& force2,\n+                            Real3D& force3,\n+                            Real3D& force4,\n+                            const Real3D& r21,\n+                            const Real3D& r32,\n+                            const Real3D& r43) const {\n+\n+        Real3D retF[4];\n+\n+        Real3D rijjk = r21.cross(r32); // [r21 x r32]\n+        Real3D rjkkn = r32.cross(r43); // [r32 x r43]\n+\n+        real rijjk_sqr = rijjk.sqr();\n+        real rjkkn_sqr = rjkkn.sqr();\n+\n+        real rijjk_abs = sqrt(rijjk_sqr);\n+        real rjkkn_abs = sqrt(rjkkn_sqr);\n+\n+        real inv_rijjk = 1.0 / rijjk_abs;\n+        real inv_rjkkn = 1.0 / rjkkn_abs;\n+\n+        // cosine between planes\n+        real cos_phi = (rijjk * rjkkn) * (inv_rijjk * inv_rjkkn);\n+        real _phi = acos(cos_phi);\n+        if (cos_phi > 1.0) {\n+          cos_phi = 1.0;\n+          _phi = 1e-10; //not 0.0, because 1.0/sin(_phi) would cause a singularity\n+        } else if (cos_phi < -1.0) {\n+          cos_phi = -1.0;\n+          _phi = M_PI-1e-10;\n+        }\n+\n+        /// The part of the formula. 1/sin(phi) * d/dphi U(phi)\n+        /// where the \\f$U(\\phi) = 0.5 K (\\phi_{ijkn} - \\phi_0)^2]\\f$\n+        /// The n is multiplicity.\n+        ///\n+        /// The derivative of \\f$U(phi)\\f$ is \\f$K*n*sin(\\phi_0 - n*\\phi)\\f$\n+        ///\n+        real coef1 = (1.0/sin(_phi)) * (K * (_phi - phi0) + 0.5 * K * phi0 * phi0);\n+\n+        real A1 = inv_rijjk * inv_rjkkn;\n+        real A2 = inv_rijjk * inv_rijjk;\n+        real A3 = inv_rjkkn * inv_rjkkn;\n+\n+        Real3D p3232 ( prod(r32,r32) );\n+        Real3D p3243 ( prod(r32,r43) );\n+        Real3D p2132 ( prod(r21,r32) );\n+        Real3D p2143 ( prod(r21,r43) );\n+        Real3D p2121 ( prod(r21,r21) );\n+        Real3D p4343 ( prod(r43,r43) );\n+\n+        // we have 4 particles 1,2,3,4\n+        for(int l=0; l<4; l++){\n+          Real3D B1, B2, B3;\n+\n+          for(int i=0; i<3; i++){\n+            B1[i]= r21[i] * ( p3232[i] * (d(l,2)-d(l,3)) + p3243[i] * (d(l,2)-d(l,1)) ) +\n+                   r32[i] * ( p2132[i] * (d(l,3)-d(l,2)) + p3243[i] * (d(l,1)-d(l,0)) ) +\n+                   r43[i] * ( p2132[i] * (d(l,2)-d(l,1)) + p3232[i] * (d(l,0)-d(l,1)) ) +\n+                   2.0 * r32[i] * p2143[i] * (d(l,1)-d(l,2));\n+\n+            B2[i]= 2.0 * r21[i] * ( p3232[i] * (d(l,1)-d(l,0)) + p2132[i] * (d(l,1)-d(l,2)) ) +\n+                   2.0 * r32[i] * ( p2121[i] * (d(l,2)-d(l,1)) + p2132[i] * (d(l,0)-d(l,1)));\n+\n+            B3[i]= 2.0 * r43[i] * ( p3232[i] * (d(l,3)-d(l,2)) + p3243[i] * (d(l,1)-d(l,2)) ) +\n+                   2.0 * r32[i] * ( p4343[i] * (d(l,2)-d(l,1)) + p3243[i] * (d(l,2)-d(l,3)));\n+          }\n+\n+          retF[l] = coef1 * ( A1*B1 - 0.5*cos_phi*(A2*B2 + A3*B3) );\n+        }\n+\n+        force1 = retF[0];\n+        force2 = retF[1];\n+        force3 = retF[2];\n+        force4 = retF[3];\n+      }\n+\n+      /*\n+       * Compute raw force for the tabulated potential, depend only on the phi value\n+       * \\f$F(\\phi) = -grad V = -grad [ 0.5 (\\phi_{ijkn} - \\phi_0)^2] ]  \\f$\n+       * where n is a multiplicity and \\f$phi_0\\f$ is the reference angle\n+       *\n+       * @param[in] phi Degree in radians\n+       *\n+       * @return The value of the force\n+       */\n+      real _computeForceRaw(real phi) const {\n+\treal coef1 = K * (phi - phi0) + 0.5 * K * phi0 * phi0;\n+        return -1.0 * coef1 ;","path":"src/interaction/DihedralHarmonic.hpp","position":194,"original_position":194,"commit_id":"a04a4db1a07cad92cc03499f399c3341033e4ba6","original_commit_id":"a04a4db1a07cad92cc03499f399c3341033e4ba6","user":{"login":"acfogarty","id":10974856,"avatar_url":"https://avatars.githubusercontent.com/u/10974856?v=3","gravatar_id":"","url":"https://api.github.com/users/acfogarty","html_url":"https://github.com/acfogarty","followers_url":"https://api.github.com/users/acfogarty/followers","following_url":"https://api.github.com/users/acfogarty/following{/other_user}","gists_url":"https://api.github.com/users/acfogarty/gists{/gist_id}","starred_url":"https://api.github.com/users/acfogarty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acfogarty/subscriptions","organizations_url":"https://api.github.com/users/acfogarty/orgs","repos_url":"https://api.github.com/users/acfogarty/repos","events_url":"https://api.github.com/users/acfogarty/events{/privacy}","received_events_url":"https://api.github.com/users/acfogarty/received_events","type":"User","site_admin":false},"body":"Separate issue: what are these _computeForceRaw(real phi) functions in the different analytical potentials actually used for? And what are they supposed to return? Here and in HarmonicNCosDihedral (after your bugfix in this commit) they return -grad V. But in other classes e.g. DihedralHarmonicCos it seems to return -gradV*1/sin(phi). This corresponds to the scalar prefactor of the force (e.g. see how it's written in the DL_POLY manual). The class Harmonic for bonds also returns -gradV*1/sin(theta), not just -gradV.\r\n\r\nI presume the output of these _computeForceRaw(real phi) functions is supposed to correspond to the variable a in TabulatedDihedral, whatever that is...\r\n\r\nMaybe Jakub has some idea about this, I'll also tag him.","created_at":"2015-11-11T15:22:30Z","updated_at":"2015-11-11T15:22:30Z","html_url":"https://github.com/espressopp/espressopp/pull/27#discussion_r44543577","pull_request_url":"https://api.github.com/repos/espressopp/espressopp/pulls/27","_links":{"self":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/comments/44543577"},"html":{"href":"https://github.com/espressopp/espressopp/pull/27#discussion_r44543577"},"pull_request":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/27"}}},"pull_request":{"url":"https://api.github.com/repos/espressopp/espressopp/pulls/27","id":50373014,"html_url":"https://github.com/espressopp/espressopp/pull/27","diff_url":"https://github.com/espressopp/espressopp/pull/27.diff","patch_url":"https://github.com/espressopp/espressopp/pull/27.patch","issue_url":"https://api.github.com/repos/espressopp/espressopp/issues/27","number":27,"state":"open","locked":false,"title":"added new Dihedral Harmonic potential functional 2 and corrected the …","user":{"login":"govarguz","id":1291295,"avatar_url":"https://avatars.githubusercontent.com/u/1291295?v=3","gravatar_id":"","url":"https://api.github.com/users/govarguz","html_url":"https://github.com/govarguz","followers_url":"https://api.github.com/users/govarguz/followers","following_url":"https://api.github.com/users/govarguz/following{/other_user}","gists_url":"https://api.github.com/users/govarguz/gists{/gist_id}","starred_url":"https://api.github.com/users/govarguz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/govarguz/subscriptions","organizations_url":"https://api.github.com/users/govarguz/orgs","repos_url":"https://api.github.com/users/govarguz/repos","events_url":"https://api.github.com/users/govarguz/events{/privacy}","received_events_url":"https://api.github.com/users/govarguz/received_events","type":"User","site_admin":false},"body":"added new Dihedral Harmonic potential functional 2 and corrected the sign of the existing Dihedral Harmonic Ncos potential. Plus some cosmetic changes to topology helper and gromacs.py","created_at":"2015-11-11T11:22:12Z","updated_at":"2015-11-11T15:22:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"57e7e5acb1fa4e0f218ce2c9b6e3408f53e5429b","assignee":{"login":"acfogarty","id":10974856,"avatar_url":"https://avatars.githubusercontent.com/u/10974856?v=3","gravatar_id":"","url":"https://api.github.com/users/acfogarty","html_url":"https://github.com/acfogarty","followers_url":"https://api.github.com/users/acfogarty/followers","following_url":"https://api.github.com/users/acfogarty/following{/other_user}","gists_url":"https://api.github.com/users/acfogarty/gists{/gist_id}","starred_url":"https://api.github.com/users/acfogarty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acfogarty/subscriptions","organizations_url":"https://api.github.com/users/acfogarty/orgs","repos_url":"https://api.github.com/users/acfogarty/repos","events_url":"https://api.github.com/users/acfogarty/events{/privacy}","received_events_url":"https://api.github.com/users/acfogarty/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/espressopp/espressopp/pulls/27/commits","review_comments_url":"https://api.github.com/repos/espressopp/espressopp/pulls/27/comments","review_comment_url":"https://api.github.com/repos/espressopp/espressopp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/espressopp/espressopp/issues/27/comments","statuses_url":"https://api.github.com/repos/espressopp/espressopp/statuses/a04a4db1a07cad92cc03499f399c3341033e4ba6","head":{"label":"govarguz:master","ref":"master","sha":"a04a4db1a07cad92cc03499f399c3341033e4ba6","user":{"login":"govarguz","id":1291295,"avatar_url":"https://avatars.githubusercontent.com/u/1291295?v=3","gravatar_id":"","url":"https://api.github.com/users/govarguz","html_url":"https://github.com/govarguz","followers_url":"https://api.github.com/users/govarguz/followers","following_url":"https://api.github.com/users/govarguz/following{/other_user}","gists_url":"https://api.github.com/users/govarguz/gists{/gist_id}","starred_url":"https://api.github.com/users/govarguz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/govarguz/subscriptions","organizations_url":"https://api.github.com/users/govarguz/orgs","repos_url":"https://api.github.com/users/govarguz/repos","events_url":"https://api.github.com/users/govarguz/events{/privacy}","received_events_url":"https://api.github.com/users/govarguz/received_events","type":"User","site_admin":false},"repo":{"id":43757489,"name":"espressopp","full_name":"govarguz/espressopp","owner":{"login":"govarguz","id":1291295,"avatar_url":"https://avatars.githubusercontent.com/u/1291295?v=3","gravatar_id":"","url":"https://api.github.com/users/govarguz","html_url":"https://github.com/govarguz","followers_url":"https://api.github.com/users/govarguz/followers","following_url":"https://api.github.com/users/govarguz/following{/other_user}","gists_url":"https://api.github.com/users/govarguz/gists{/gist_id}","starred_url":"https://api.github.com/users/govarguz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/govarguz/subscriptions","organizations_url":"https://api.github.com/users/govarguz/orgs","repos_url":"https://api.github.com/users/govarguz/repos","events_url":"https://api.github.com/users/govarguz/events{/privacy}","received_events_url":"https://api.github.com/users/govarguz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/govarguz/espressopp","description":"Main ESPResSo++ repository","fork":true,"url":"https://api.github.com/repos/govarguz/espressopp","forks_url":"https://api.github.com/repos/govarguz/espressopp/forks","keys_url":"https://api.github.com/repos/govarguz/espressopp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/govarguz/espressopp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/govarguz/espressopp/teams","hooks_url":"https://api.github.com/repos/govarguz/espressopp/hooks","issue_events_url":"https://api.github.com/repos/govarguz/espressopp/issues/events{/number}","events_url":"https://api.github.com/repos/govarguz/espressopp/events","assignees_url":"https://api.github.com/repos/govarguz/espressopp/assignees{/user}","branches_url":"https://api.github.com/repos/govarguz/espressopp/branches{/branch}","tags_url":"https://api.github.com/repos/govarguz/espressopp/tags","blobs_url":"https://api.github.com/repos/govarguz/espressopp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/govarguz/espressopp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/govarguz/espressopp/git/refs{/sha}","trees_url":"https://api.github.com/repos/govarguz/espressopp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/govarguz/espressopp/statuses/{sha}","languages_url":"https://api.github.com/repos/govarguz/espressopp/languages","stargazers_url":"https://api.github.com/repos/govarguz/espressopp/stargazers","contributors_url":"https://api.github.com/repos/govarguz/espressopp/contributors","subscribers_url":"https://api.github.com/repos/govarguz/espressopp/subscribers","subscription_url":"https://api.github.com/repos/govarguz/espressopp/subscription","commits_url":"https://api.github.com/repos/govarguz/espressopp/commits{/sha}","git_commits_url":"https://api.github.com/repos/govarguz/espressopp/git/commits{/sha}","comments_url":"https://api.github.com/repos/govarguz/espressopp/comments{/number}","issue_comment_url":"https://api.github.com/repos/govarguz/espressopp/issues/comments{/number}","contents_url":"https://api.github.com/repos/govarguz/espressopp/contents/{+path}","compare_url":"https://api.github.com/repos/govarguz/espressopp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/govarguz/espressopp/merges","archive_url":"https://api.github.com/repos/govarguz/espressopp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/govarguz/espressopp/downloads","issues_url":"https://api.github.com/repos/govarguz/espressopp/issues{/number}","pulls_url":"https://api.github.com/repos/govarguz/espressopp/pulls{/number}","milestones_url":"https://api.github.com/repos/govarguz/espressopp/milestones{/number}","notifications_url":"https://api.github.com/repos/govarguz/espressopp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/govarguz/espressopp/labels{/name}","releases_url":"https://api.github.com/repos/govarguz/espressopp/releases{/id}","created_at":"2015-10-06T14:53:05Z","updated_at":"2015-10-06T14:53:28Z","pushed_at":"2015-11-11T11:20:42Z","git_url":"git://github.com/govarguz/espressopp.git","ssh_url":"git@github.com:govarguz/espressopp.git","clone_url":"https://github.com/govarguz/espressopp.git","svn_url":"https://github.com/govarguz/espressopp","homepage":"http://www.espresso-pp.de/","size":57243,"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":"espressopp:master","ref":"master","sha":"18b5adde05fc9917249accd51d37100e0b7ea182","user":{"login":"espressopp","id":9050876,"avatar_url":"https://avatars.githubusercontent.com/u/9050876?v=3","gravatar_id":"","url":"https://api.github.com/users/espressopp","html_url":"https://github.com/espressopp","followers_url":"https://api.github.com/users/espressopp/followers","following_url":"https://api.github.com/users/espressopp/following{/other_user}","gists_url":"https://api.github.com/users/espressopp/gists{/gist_id}","starred_url":"https://api.github.com/users/espressopp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/espressopp/subscriptions","organizations_url":"https://api.github.com/users/espressopp/orgs","repos_url":"https://api.github.com/users/espressopp/repos","events_url":"https://api.github.com/users/espressopp/events{/privacy}","received_events_url":"https://api.github.com/users/espressopp/received_events","type":"Organization","site_admin":false},"repo":{"id":24889759,"name":"espressopp","full_name":"espressopp/espressopp","owner":{"login":"espressopp","id":9050876,"avatar_url":"https://avatars.githubusercontent.com/u/9050876?v=3","gravatar_id":"","url":"https://api.github.com/users/espressopp","html_url":"https://github.com/espressopp","followers_url":"https://api.github.com/users/espressopp/followers","following_url":"https://api.github.com/users/espressopp/following{/other_user}","gists_url":"https://api.github.com/users/espressopp/gists{/gist_id}","starred_url":"https://api.github.com/users/espressopp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/espressopp/subscriptions","organizations_url":"https://api.github.com/users/espressopp/orgs","repos_url":"https://api.github.com/users/espressopp/repos","events_url":"https://api.github.com/users/espressopp/events{/privacy}","received_events_url":"https://api.github.com/users/espressopp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/espressopp/espressopp","description":"Main ESPResSo++ repository","fork":false,"url":"https://api.github.com/repos/espressopp/espressopp","forks_url":"https://api.github.com/repos/espressopp/espressopp/forks","keys_url":"https://api.github.com/repos/espressopp/espressopp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/espressopp/espressopp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/espressopp/espressopp/teams","hooks_url":"https://api.github.com/repos/espressopp/espressopp/hooks","issue_events_url":"https://api.github.com/repos/espressopp/espressopp/issues/events{/number}","events_url":"https://api.github.com/repos/espressopp/espressopp/events","assignees_url":"https://api.github.com/repos/espressopp/espressopp/assignees{/user}","branches_url":"https://api.github.com/repos/espressopp/espressopp/branches{/branch}","tags_url":"https://api.github.com/repos/espressopp/espressopp/tags","blobs_url":"https://api.github.com/repos/espressopp/espressopp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/espressopp/espressopp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/espressopp/espressopp/git/refs{/sha}","trees_url":"https://api.github.com/repos/espressopp/espressopp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/espressopp/espressopp/statuses/{sha}","languages_url":"https://api.github.com/repos/espressopp/espressopp/languages","stargazers_url":"https://api.github.com/repos/espressopp/espressopp/stargazers","contributors_url":"https://api.github.com/repos/espressopp/espressopp/contributors","subscribers_url":"https://api.github.com/repos/espressopp/espressopp/subscribers","subscription_url":"https://api.github.com/repos/espressopp/espressopp/subscription","commits_url":"https://api.github.com/repos/espressopp/espressopp/commits{/sha}","git_commits_url":"https://api.github.com/repos/espressopp/espressopp/git/commits{/sha}","comments_url":"https://api.github.com/repos/espressopp/espressopp/comments{/number}","issue_comment_url":"https://api.github.com/repos/espressopp/espressopp/issues/comments{/number}","contents_url":"https://api.github.com/repos/espressopp/espressopp/contents/{+path}","compare_url":"https://api.github.com/repos/espressopp/espressopp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/espressopp/espressopp/merges","archive_url":"https://api.github.com/repos/espressopp/espressopp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/espressopp/espressopp/downloads","issues_url":"https://api.github.com/repos/espressopp/espressopp/issues{/number}","pulls_url":"https://api.github.com/repos/espressopp/espressopp/pulls{/number}","milestones_url":"https://api.github.com/repos/espressopp/espressopp/milestones{/number}","notifications_url":"https://api.github.com/repos/espressopp/espressopp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/espressopp/espressopp/labels{/name}","releases_url":"https://api.github.com/repos/espressopp/espressopp/releases{/id}","created_at":"2014-10-07T12:44:28Z","updated_at":"2015-10-21T18:13:07Z","pushed_at":"2015-11-11T11:22:12Z","git_url":"git://github.com/espressopp/espressopp.git","ssh_url":"git@github.com:espressopp/espressopp.git","clone_url":"https://github.com/espressopp/espressopp.git","svn_url":"https://github.com/espressopp/espressopp","homepage":"http://www.espresso-pp.de/","size":57497,"stargazers_count":9,"watchers_count":9,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":2,"forks":9,"open_issues":2,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/27"},"html":{"href":"https://github.com/espressopp/espressopp/pull/27"},"issue":{"href":"https://api.github.com/repos/espressopp/espressopp/issues/27"},"comments":{"href":"https://api.github.com/repos/espressopp/espressopp/issues/27/comments"},"review_comments":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/27/comments"},"review_comment":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/espressopp/espressopp/pulls/27/commits"},"statuses":{"href":"https://api.github.com/repos/espressopp/espressopp/statuses/a04a4db1a07cad92cc03499f399c3341033e4ba6"}}}}