{"action":"created","comment":{"url":"https://api.github.com/repos/geodynamics/aspect/pulls/comments/91169131","pull_request_review_id":11678838,"id":91169131,"diff_hunk":"@@ -0,0 +1,333 @@\n+#include <aspect/melt.h>\n+#include <aspect/material_model/force_vector.h>\n+#include <aspect/velocity_boundary_conditions/interface.h>\n+#include <aspect/fluid_pressure_boundary_conditions/interface.h>\n+#include <aspect/simulator_access.h>\n+#include <aspect/global.h>\n+#include <deal.II/dofs/dof_tools.h>\n+#include <deal.II/numerics/data_out.h>\n+#include <deal.II/base/quadrature_lib.h>\n+#include <deal.II/base/function_lib.h>\n+#include <deal.II/numerics/error_estimator.h>\n+#include <deal.II/numerics/vector_tools.h>\n+\n+namespace aspect\n+{\n+\n+  template <int dim>\n+  class TestMeltMaterial:\n+    public MaterialModel::Interface<dim>, public ::aspect::SimulatorAccess<dim>\n+  {\n+  public:\n+    virtual bool\n+    viscosity_depends_on (const MaterialModel::NonlinearDependence::Dependence dependence) const\n+    {\n+      if ((dependence & MaterialModel::NonlinearDependence::compositional_fields) != MaterialModel::NonlinearDependence::none)\n+        return true;\n+      return false;\n+    }\n+\n+    virtual bool\n+    density_depends_on (const MaterialModel::NonlinearDependence::Dependence dependence) const\n+    {\n+      return false;\n+    }\n+\n+\n+    virtual bool\n+    compressibility_depends_on (const MaterialModel::NonlinearDependence::Dependence dependence) const\n+    {\n+      return false;\n+    }\n+\n+\n+    virtual bool\n+    specific_heat_depends_on (const MaterialModel::NonlinearDependence::Dependence dependence) const\n+    {\n+      return false;\n+    }\n+\n+\n+    virtual bool\n+    thermal_conductivity_depends_on (const MaterialModel::NonlinearDependence::Dependence dependence) const\n+    {\n+      return false;\n+    }\n+\n+    virtual bool is_compressible () const\n+    {\n+      return false;\n+    }\n+\n+    virtual double reference_viscosity () const\n+    {\n+      return 1.0;\n+    }\n+\n+    virtual double reference_density () const\n+    {\n+      return 1.0;\n+    }\n+    virtual void evaluate(const typename MaterialModel::Interface<dim>::MaterialModelInputs &in,\n+                          typename MaterialModel::Interface<dim>::MaterialModelOutputs &out) const\n+    {\n+      const unsigned int porosity_idx = this->introspection().compositional_index_for_name(\"porosity\");\n+      double c = 1.0;\n+      aspect::MaterialModel::AdditionalMaterialOutputsForceVector<dim>\n+      *force = out.template get_additional_output<aspect::MaterialModel::AdditionalMaterialOutputsForceVector<dim> >();\n+      if (!force)\n+        {\n+          out.additional_outputs.push_back(std::make_shared<\n+                                           aspect::MaterialModel::AdditionalMaterialOutputsForceVector<dim> >(in.position.size()));\n+          force = out.template get_additional_output<aspect::MaterialModel::AdditionalMaterialOutputsForceVector<dim> >();\n+        }\n+\n+\n+      for (unsigned int i=0; i<in.position.size(); ++i)\n+        {\n+          const double porosity = in.composition[i][porosity_idx];\n+          const double x = in.position[i](0);\n+          const double z = in.position[i](1);\n+          out.viscosities[i] = 1.0;\n+          out.thermal_expansion_coefficients[i] = 0.0;\n+          out.specific_heat[i] = 1.0;\n+          out.thermal_conductivities[i] = 1.0;\n+          out.compressibilities[i] = 0.0;\n+          out.densities[i] = 1.0;\n+\n+          out.reaction_terms[i][porosity_idx] = 0;\n+//**********\n+// copy and paste here\n+          force->force_u[i][0] = cos(z) - cos(x + z) + cos(x * z) * z;\n+          force->force_u[i][1] = sin(x) - cos(x + z) + cos(x * z) * x;\n+          force->force_p[i] = 0.4e1 * sin(x + z) - sin(x * z) * z * z - sin(x * z) * x * x;\n+          force->force_pc[i] = -0.10e2 * sin(x + z) / (0.1e1 + exp(-0.20e2 * x * x - 0.20e2 * z * z + 0.1e1));\n+//***********\n+        }\n+\n+      // fill melt outputs if they exist\n+      aspect::MaterialModel::MeltOutputs<dim> *melt_out = out.template get_additional_output<aspect::MaterialModel::MeltOutputs<dim> >();\n+\n+      if (melt_out != NULL)\n+        for (unsigned int i=0; i<in.position.size(); ++i)\n+          {\n+            double porosity = in.composition[i][porosity_idx];\n+            //porosity = 0.1000000000e-1 + 0.2000000000e0 * exp(-0.200e2 * pow(x + 0.2e1 * z, 0.2e1));\n+            const double x = in.position[i](0);\n+            const double z = in.position[i](1);\n+            melt_out->compaction_viscosities[i] = 0.1e0 + 0.1e0 * exp(-0.20e2 * x * x - 0.20e2 * z * z + 0.1e1); // xi\n+            melt_out->fluid_viscosities[i] = 1.0;\n+            melt_out->permeabilities[i] = 1.0; // K_D\n+            melt_out->fluid_density_gradients[i] = 0.0;\n+            melt_out->fluid_densities[i] = 0.5;\n+          }\n+\n+    }\n+\n+  };\n+\n+\n+  template <int dim>\n+  class Gravity : public aspect::GravityModel::Interface<dim>\n+  {\n+  public:\n+    virtual Tensor<1,dim> gravity_vector (const Point<dim> &pos) const\n+    {\n+      Tensor<1,dim> gravity;\n+      // zero when we have the force vector\n+      gravity[0] = 0.0;\n+      gravity[1] = 0.0;\n+\n+      return gravity;\n+    }\n+\n+\n+  };\n+\n+\n+  template <int dim>\n+  class RefFunction : public Function<dim>\n+  {\n+  public:\n+    RefFunction () : Function<dim>(dim+2) {}\n+    virtual void vector_value (const Point< dim >   &p,\n+                               Vector< double >   &values) const\n+    {\n+      double x = p(0);\n+      double z = p(1);\n+//**********\n+// copy and paste here (add \"out.\")\n+      values[0] = cos(z);\n+      values[1] = sin(x);\n+      values[2] = -0.2e1 * sin(x + z) + sin(x * z);\n+      values[3] = sin(x + z);\n+      values[4] = 1;\n+      values[5] = 1;\n+      values[6] = sin(x * z);\n+      values[7] = 0;\n+      values[8] = 0.1000000000e-1 + 0.2000000000e0 * exp(-0.200e2 * pow(x + 0.20e1 * z, 0.2e1));\n+//**********\n+    }\n+  };\n+\n+\n+\n+  /**\n+    * A postprocessor that evaluates the accuracy of the solution\n+    * by using the L2 norm.\n+    */\n+  template <int dim>\n+  class ConvergenceMeltPostprocessor : public Postprocess::Interface<dim>, public ::aspect::SimulatorAccess<dim>\n+  {\n+  public:\n+    /**\n+     * Generate graphical output from the current solution.\n+     */\n+    virtual\n+    std::pair<std::string,std::string>\n+    execute (TableHandler &statistics);\n+\n+  };\n+\n+  template <int dim>\n+  std::pair<std::string,std::string>\n+  ConvergenceMeltPostprocessor<dim>::execute (TableHandler &statistics)\n+  {\n+    RefFunction<dim> ref_func;\n+    const QGauss<dim> quadrature_formula (this->get_fe().base_element(this->introspection().base_elements.velocities).degree+2);\n+\n+    const unsigned int n_total_comp = this->introspection().n_components;\n+\n+    Vector<float> cellwise_errors_u (this->get_triangulation().n_active_cells());\n+    Vector<float> cellwise_errors_p_f (this->get_triangulation().n_active_cells());\n+    Vector<float> cellwise_errors_p_c (this->get_triangulation().n_active_cells());\n+    Vector<float> cellwise_errors_u_f (this->get_triangulation().n_active_cells());\n+    Vector<float> cellwise_errors_p (this->get_triangulation().n_active_cells());\n+    Vector<float> cellwise_errors_porosity (this->get_triangulation().n_active_cells());\n+\n+    ComponentSelectFunction<dim> comp_u(std::pair<unsigned int, unsigned int>(0,dim),\n+                                        n_total_comp);\n+    ComponentSelectFunction<dim> comp_p_f(dim, n_total_comp);\n+    ComponentSelectFunction<dim> comp_p_c(dim+1, n_total_comp);\n+    ComponentSelectFunction<dim> comp_u_f(std::pair<unsigned int, unsigned int>(dim+2,dim+2+\n+                                          dim),\n+                                          n_total_comp);\n+    ComponentSelectFunction<dim> comp_p(dim+2+dim, n_total_comp);\n+    ComponentSelectFunction<dim> comp_porosity(dim+2+dim+2, n_total_comp);\n+\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_u,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_u);\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_p_f,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_p_f);\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_p,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_p);\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_p_c,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_p_c);\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_porosity,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_porosity);\n+    VectorTools::integrate_difference (this->get_mapping(),this->get_dof_handler(),\n+                                       this->get_solution(),\n+                                       ref_func,\n+                                       cellwise_errors_u_f,\n+                                       quadrature_formula,\n+                                       VectorTools::L2_norm,\n+                                       &comp_u_f);\n+\n+    std::ostringstream os;\n+    os << std::scientific\n+       << \" h = \" << this->get_triangulation().begin_active()->diameter()\n+       << \" ndofs= \" << this->get_solution().size()\n+       << \" u_L2= \" << std::sqrt(Utilities::MPI::sum(cellwise_errors_u.norm_sqr(),MPI_COMM_WORLD))\n+       << \" p_L2= \"  << std::sqrt(Utilities::MPI::sum(cellwise_errors_p.norm_sqr(),MPI_COMM_WORLD))\n+       << \" p_f_L2= \" << std::sqrt(Utilities::MPI::sum(cellwise_errors_p_f.norm_sqr(),MPI_COMM_WORLD))\n+       << \" p_c_L= \" << std::sqrt(Utilities::MPI::sum(cellwise_errors_p_c.norm_sqr(),MPI_COMM_WORLD))\n+       << \" phi_L2= \" << std::sqrt(Utilities::MPI::sum(cellwise_errors_porosity.norm_sqr(),MPI_COMM_WORLD))\n+       << \" u_f_L2= \" << std::sqrt(Utilities::MPI::sum(cellwise_errors_u_f.norm_sqr(),MPI_COMM_WORLD))\n+       ;\n+\n+    return std::make_pair(\"Errors\", os.str());\n+  }\n+\n+\n+  template <int dim>\n+  class PressureBdry:\n+\n+    public FluidPressureBoundaryConditions::Interface<dim>","path":"tests/melt_force_vector.cc","position":280,"original_position":280,"commit_id":"8f32a9293ce54b814419ec471b1949a8d7e957a6","original_commit_id":"8f32a9293ce54b814419ec471b1949a8d7e957a6","user":{"login":"bangerth","id":7504421,"avatar_url":"https://avatars.githubusercontent.com/u/7504421?v=3","gravatar_id":"","url":"https://api.github.com/users/bangerth","html_url":"https://github.com/bangerth","followers_url":"https://api.github.com/users/bangerth/followers","following_url":"https://api.github.com/users/bangerth/following{/other_user}","gists_url":"https://api.github.com/users/bangerth/gists{/gist_id}","starred_url":"https://api.github.com/users/bangerth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bangerth/subscriptions","organizations_url":"https://api.github.com/users/bangerth/orgs","repos_url":"https://api.github.com/users/bangerth/repos","events_url":"https://api.github.com/users/bangerth/events{/privacy}","received_events_url":"https://api.github.com/users/bangerth/received_events","type":"User","site_admin":false},"body":"no need for the empty line","created_at":"2016-12-06T20:58:16Z","updated_at":"2016-12-06T20:58:37Z","html_url":"https://github.com/geodynamics/aspect/pull/1300#discussion_r91169131","pull_request_url":"https://api.github.com/repos/geodynamics/aspect/pulls/1300","_links":{"self":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/comments/91169131"},"html":{"href":"https://github.com/geodynamics/aspect/pull/1300#discussion_r91169131"},"pull_request":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/1300"}}},"pull_request":{"url":"https://api.github.com/repos/geodynamics/aspect/pulls/1300","id":96783124,"html_url":"https://github.com/geodynamics/aspect/pull/1300","diff_url":"https://github.com/geodynamics/aspect/pull/1300.diff","patch_url":"https://github.com/geodynamics/aspect/pull/1300.patch","issue_url":"https://api.github.com/repos/geodynamics/aspect/issues/1300","number":1300,"state":"open","locked":false,"title":"[WIP] force vector","user":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"body":"This is one out of several PRs to get Stokes solver improvements (with and without melt) with @rrgrove6 into mainline.\r\n\r\nThis adds an optional material model output force vector to be applied to the RHS of the Stokes system. We need this to be able to construct manufactured solutions. \r\n\r\nQuestions:\r\n- Should I also add this to the non-melt assembly? It is not strictly needed, because one can abuse the \"rho*g\" in the RHS (like the burstedde test does). I feel like this approach would be much cleaner though.\r\n- Is the creation of the instance inside ``evaluate()`` (see ``make_shared``) the best way to do this?","created_at":"2016-12-06T18:51:00Z","updated_at":"2016-12-06T20:58:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2a4535de118f857117220e45023b8b747ce4cb9b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/geodynamics/aspect/pulls/1300/commits","review_comments_url":"https://api.github.com/repos/geodynamics/aspect/pulls/1300/comments","review_comment_url":"https://api.github.com/repos/geodynamics/aspect/pulls/comments{/number}","comments_url":"https://api.github.com/repos/geodynamics/aspect/issues/1300/comments","statuses_url":"https://api.github.com/repos/geodynamics/aspect/statuses/8f32a9293ce54b814419ec471b1949a8d7e957a6","head":{"label":"tjhei:force_vector","ref":"force_vector","sha":"8f32a9293ce54b814419ec471b1949a8d7e957a6","user":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"repo":{"id":19503755,"name":"aspect","full_name":"tjhei/aspect","owner":{"login":"tjhei","id":1531285,"avatar_url":"https://avatars.githubusercontent.com/u/1531285?v=3","gravatar_id":"","url":"https://api.github.com/users/tjhei","html_url":"https://github.com/tjhei","followers_url":"https://api.github.com/users/tjhei/followers","following_url":"https://api.github.com/users/tjhei/following{/other_user}","gists_url":"https://api.github.com/users/tjhei/gists{/gist_id}","starred_url":"https://api.github.com/users/tjhei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjhei/subscriptions","organizations_url":"https://api.github.com/users/tjhei/orgs","repos_url":"https://api.github.com/users/tjhei/repos","events_url":"https://api.github.com/users/tjhei/events{/privacy}","received_events_url":"https://api.github.com/users/tjhei/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tjhei/aspect","description":"Finite element parallel code to simulate problems in thermal convection in both 2D and 3D models.","fork":true,"url":"https://api.github.com/repos/tjhei/aspect","forks_url":"https://api.github.com/repos/tjhei/aspect/forks","keys_url":"https://api.github.com/repos/tjhei/aspect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tjhei/aspect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tjhei/aspect/teams","hooks_url":"https://api.github.com/repos/tjhei/aspect/hooks","issue_events_url":"https://api.github.com/repos/tjhei/aspect/issues/events{/number}","events_url":"https://api.github.com/repos/tjhei/aspect/events","assignees_url":"https://api.github.com/repos/tjhei/aspect/assignees{/user}","branches_url":"https://api.github.com/repos/tjhei/aspect/branches{/branch}","tags_url":"https://api.github.com/repos/tjhei/aspect/tags","blobs_url":"https://api.github.com/repos/tjhei/aspect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tjhei/aspect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tjhei/aspect/git/refs{/sha}","trees_url":"https://api.github.com/repos/tjhei/aspect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tjhei/aspect/statuses/{sha}","languages_url":"https://api.github.com/repos/tjhei/aspect/languages","stargazers_url":"https://api.github.com/repos/tjhei/aspect/stargazers","contributors_url":"https://api.github.com/repos/tjhei/aspect/contributors","subscribers_url":"https://api.github.com/repos/tjhei/aspect/subscribers","subscription_url":"https://api.github.com/repos/tjhei/aspect/subscription","commits_url":"https://api.github.com/repos/tjhei/aspect/commits{/sha}","git_commits_url":"https://api.github.com/repos/tjhei/aspect/git/commits{/sha}","comments_url":"https://api.github.com/repos/tjhei/aspect/comments{/number}","issue_comment_url":"https://api.github.com/repos/tjhei/aspect/issues/comments{/number}","contents_url":"https://api.github.com/repos/tjhei/aspect/contents/{+path}","compare_url":"https://api.github.com/repos/tjhei/aspect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tjhei/aspect/merges","archive_url":"https://api.github.com/repos/tjhei/aspect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tjhei/aspect/downloads","issues_url":"https://api.github.com/repos/tjhei/aspect/issues{/number}","pulls_url":"https://api.github.com/repos/tjhei/aspect/pulls{/number}","milestones_url":"https://api.github.com/repos/tjhei/aspect/milestones{/number}","notifications_url":"https://api.github.com/repos/tjhei/aspect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tjhei/aspect/labels{/name}","releases_url":"https://api.github.com/repos/tjhei/aspect/releases{/id}","deployments_url":"https://api.github.com/repos/tjhei/aspect/deployments","created_at":"2014-05-06T17:29:57Z","updated_at":"2016-08-27T16:52:26Z","pushed_at":"2016-12-06T18:45:44Z","git_url":"git://github.com/tjhei/aspect.git","ssh_url":"git@github.com:tjhei/aspect.git","clone_url":"https://github.com/tjhei/aspect.git","svn_url":"https://github.com/tjhei/aspect","homepage":null,"size":139162,"stargazers_count":0,"watchers_count":0,"language":"Gnuplot","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"geodynamics:master","ref":"master","sha":"2b87b9b206c32faeea05f18a0d234dc4d9937db9","user":{"login":"geodynamics","id":4052461,"avatar_url":"https://avatars.githubusercontent.com/u/4052461?v=3","gravatar_id":"","url":"https://api.github.com/users/geodynamics","html_url":"https://github.com/geodynamics","followers_url":"https://api.github.com/users/geodynamics/followers","following_url":"https://api.github.com/users/geodynamics/following{/other_user}","gists_url":"https://api.github.com/users/geodynamics/gists{/gist_id}","starred_url":"https://api.github.com/users/geodynamics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geodynamics/subscriptions","organizations_url":"https://api.github.com/users/geodynamics/orgs","repos_url":"https://api.github.com/users/geodynamics/repos","events_url":"https://api.github.com/users/geodynamics/events{/privacy}","received_events_url":"https://api.github.com/users/geodynamics/received_events","type":"Organization","site_admin":false},"repo":{"id":19502452,"name":"aspect","full_name":"geodynamics/aspect","owner":{"login":"geodynamics","id":4052461,"avatar_url":"https://avatars.githubusercontent.com/u/4052461?v=3","gravatar_id":"","url":"https://api.github.com/users/geodynamics","html_url":"https://github.com/geodynamics","followers_url":"https://api.github.com/users/geodynamics/followers","following_url":"https://api.github.com/users/geodynamics/following{/other_user}","gists_url":"https://api.github.com/users/geodynamics/gists{/gist_id}","starred_url":"https://api.github.com/users/geodynamics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geodynamics/subscriptions","organizations_url":"https://api.github.com/users/geodynamics/orgs","repos_url":"https://api.github.com/users/geodynamics/repos","events_url":"https://api.github.com/users/geodynamics/events{/privacy}","received_events_url":"https://api.github.com/users/geodynamics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/geodynamics/aspect","description":"A parallel, extendible finite element code to simulate thermal convection in both 2D and 3D models.","fork":false,"url":"https://api.github.com/repos/geodynamics/aspect","forks_url":"https://api.github.com/repos/geodynamics/aspect/forks","keys_url":"https://api.github.com/repos/geodynamics/aspect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/geodynamics/aspect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/geodynamics/aspect/teams","hooks_url":"https://api.github.com/repos/geodynamics/aspect/hooks","issue_events_url":"https://api.github.com/repos/geodynamics/aspect/issues/events{/number}","events_url":"https://api.github.com/repos/geodynamics/aspect/events","assignees_url":"https://api.github.com/repos/geodynamics/aspect/assignees{/user}","branches_url":"https://api.github.com/repos/geodynamics/aspect/branches{/branch}","tags_url":"https://api.github.com/repos/geodynamics/aspect/tags","blobs_url":"https://api.github.com/repos/geodynamics/aspect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/geodynamics/aspect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/geodynamics/aspect/git/refs{/sha}","trees_url":"https://api.github.com/repos/geodynamics/aspect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/geodynamics/aspect/statuses/{sha}","languages_url":"https://api.github.com/repos/geodynamics/aspect/languages","stargazers_url":"https://api.github.com/repos/geodynamics/aspect/stargazers","contributors_url":"https://api.github.com/repos/geodynamics/aspect/contributors","subscribers_url":"https://api.github.com/repos/geodynamics/aspect/subscribers","subscription_url":"https://api.github.com/repos/geodynamics/aspect/subscription","commits_url":"https://api.github.com/repos/geodynamics/aspect/commits{/sha}","git_commits_url":"https://api.github.com/repos/geodynamics/aspect/git/commits{/sha}","comments_url":"https://api.github.com/repos/geodynamics/aspect/comments{/number}","issue_comment_url":"https://api.github.com/repos/geodynamics/aspect/issues/comments{/number}","contents_url":"https://api.github.com/repos/geodynamics/aspect/contents/{+path}","compare_url":"https://api.github.com/repos/geodynamics/aspect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/geodynamics/aspect/merges","archive_url":"https://api.github.com/repos/geodynamics/aspect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/geodynamics/aspect/downloads","issues_url":"https://api.github.com/repos/geodynamics/aspect/issues{/number}","pulls_url":"https://api.github.com/repos/geodynamics/aspect/pulls{/number}","milestones_url":"https://api.github.com/repos/geodynamics/aspect/milestones{/number}","notifications_url":"https://api.github.com/repos/geodynamics/aspect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/geodynamics/aspect/labels{/name}","releases_url":"https://api.github.com/repos/geodynamics/aspect/releases{/id}","deployments_url":"https://api.github.com/repos/geodynamics/aspect/deployments","created_at":"2014-05-06T16:47:18Z","updated_at":"2016-10-24T12:34:36Z","pushed_at":"2016-12-06T20:49:18Z","git_url":"git://github.com/geodynamics/aspect.git","ssh_url":"git@github.com:geodynamics/aspect.git","clone_url":"https://github.com/geodynamics/aspect.git","svn_url":"https://github.com/geodynamics/aspect","homepage":"http://aspect.dealii.org/","size":154190,"stargazers_count":29,"watchers_count":29,"language":"Gnuplot","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":63,"mirror_url":null,"open_issues_count":163,"forks":63,"open_issues":163,"watchers":29,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/1300"},"html":{"href":"https://github.com/geodynamics/aspect/pull/1300"},"issue":{"href":"https://api.github.com/repos/geodynamics/aspect/issues/1300"},"comments":{"href":"https://api.github.com/repos/geodynamics/aspect/issues/1300/comments"},"review_comments":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/1300/comments"},"review_comment":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/geodynamics/aspect/pulls/1300/commits"},"statuses":{"href":"https://api.github.com/repos/geodynamics/aspect/statuses/8f32a9293ce54b814419ec471b1949a8d7e957a6"}}}}
{"actor":{"display_login":"bangerth"}}