{"action":"created","comment":{"url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/comments/244326140","pull_request_review_id":188293069,"id":244326140,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDMyNjE0MA==","diff_hunk":"@@ -0,0 +1,136 @@\n+from KratosMultiphysics import *\n+from KratosMultiphysics.FluidDynamicsApplication import *\n+from fluid_dynamics_analysis import FluidDynamicsAnalysis\n+from fluid_solver_no_replace import FluidSolverNoReplace\n+\n+class PeriodicFluidAnalysis(FluidDynamicsAnalysis):\n+\n+    def __init__(self,model,parameters):\n+        super(PeriodicFluidAnalysis,self).__init__(model,parameters)\n+\n+    def _CreateSolver(self):\n+        if self.project_parameters[\"problem_data\"][\"parallel_type\"].GetString() == \"OpenMP\":\n+            return FluidSolverNoReplace(self.model,self.project_parameters[\"solver_settings\"])\n+        else:\n+            from trilinos_fluid_solver_no_replace import TrilinosFluidSolverNoReplace\n+            return TrilinosFluidSolverNoReplace(self.model,self.project_parameters[\"solver_settings\"])\n+\n+    def ModifyInitialGeometry(self):\n+        print(\"Setting up periodic conditions\")\n+\n+        both_sides_periodic = False\n+\n+        self._ApplyKelvinHelmholtzInitialCondition(both_sides_periodic)\n+\n+        if not both_sides_periodic:\n+            self._ApplyNoSlip()\n+\n+\n+    def _ApplyKelvinHelmholtzInitialCondition(self, both_sides_periodic):\n+        from math import tanh,sin,exp,pi\n+        import random\n+        random.seed(20181024)\n+\n+        y0 = 0.5  # vertical coordinate of the centerline\n+        L = 1.0   # height of the domain in real units\n+        N = 4     # desired number of vortices\n+        U = 1.0   # One half of the velocity difference (U1-U2 = 2U)\n+        di = L / (7.*N) # initial vorticitiy thickness\n+\n+        #nu = U*di**3/1e4 # Target viscosity (Re = 1e4) Note: the paper uses a weird subgrid viscosity model with a viscosity in L^4/T units\n+        nu = U*di/1e4 # Target viscosity (Re = 1e4)\n+        #print(di/U) #this is the turnover time\n+        lambda_a = 7*di\n+\n+        def _VelocityUnperturbed(node, yref):\n+            u = Array3()\n+            u[0] = U * tanh(2.*(node.Y - yref)/di)\n+            return u\n+\n+        def _Noise(node, yref):\n+            noise_factor = 1e-3\n+            amplification = noise_factor*U*exp(-(node.Y-yref)**2/di**2)\n+            u = Array3()\n+            u[0] = amplification * sin(8*pi*node.X)\n+            u[1] = (random.random()-0.5)*amplification\n+            return u\n+\n+\n+        def _SingleLayerVelocity(node):\n+            # cancel noise on periodic sides to avoid introducing differences between them\n+            perturb = not (node.X in [0.0, 1.0] or node.Y in [0.0, 1.0])\n+            u = _VelocityUnperturbed(node,y0)\n+            if perturb:\n+                u = u + _Noise(node,y0)\n+            return u\n+\n+        def _DoubleLayerVelocity(node):\n+            # cancel noise on periodic sides to avoid introducing differences between them\n+            perturb = not (node.X in [0.0, 1.0] or node.Y in [0.0, 1.0])\n+\n+            if node.Y > 0.75:\n+                y_ref = 1.0\n+                factor = -1.0\n+            elif node.Y > 0.25:\n+                y_ref = 0.5\n+                factor = 1.0\n+            else:\n+                y_ref = 0.0\n+                factor = -1.0\n+\n+            u = _VelocityUnperturbed(node,y_ref)\n+            if perturb:\n+                u = u + _Noise(node,y_ref)\n+            return u * factor\n+\n+        if both_sides_periodic:\n+            VelocityFunction = _DoubleLayerVelocity\n+        else:\n+            VelocityFunction = _SingleLayerVelocity\n+\n+        model_part = self.model.GetModelPart(self.project_parameters[\"solver_settings\"][\"model_part_name\"].GetString())\n+\n+        rho = model_part.GetProperties()[1].GetValue(DENSITY)\n+        model_part.GetProperties()[1].SetValue(DYNAMIC_VISCOSITY,rho*nu)\n+\n+        for node in model_part.Nodes:\n+            node.SetSolutionStepValue(VELOCITY,0,VelocityFunction(node))\n+            node.SetSolutionStepValue(VISCOSITY,0,nu)\n+\n+\n+    def _ApplyNoSlip(self):\n+        top_side    = self.model.GetModelPart(\"NoSlip2D_top\")\n+        for node in top_side.Nodes:\n+            node.Fix(VELOCITY_X)\n+            node.Fix(VELOCITY_Y)\n+\n+        bottom_side = self.model.GetModelPart(\"NoSlip2D_bottom\")\n+        for node in bottom_side.Nodes:\n+            node.Fix(VELOCITY_X)\n+            node.Fix(VELOCITY_Y)","path":"fluid_dynamics/use_cases/kelvin_helmholtz_instability/source/MainKratos.py","position":110,"original_position":110,"commit_id":"cbda168bd5d93e84568878853bcd1b1f8bb0b3b8","original_commit_id":"cbda168bd5d93e84568878853bcd1b1f8bb0b3b8","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":"there is a function in `VariableUtils()` for this","created_at":"2018-12-28T13:54:10Z","updated_at":"2018-12-28T13:56:46Z","html_url":"https://github.com/KratosMultiphysics/Examples/pull/34#discussion_r244326140","pull_request_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/comments/244326140"},"html":{"href":"https://github.com/KratosMultiphysics/Examples/pull/34#discussion_r244326140"},"pull_request":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34"}}},"pull_request":{"url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34","id":241320358,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxMzIwMzU4","html_url":"https://github.com/KratosMultiphysics/Examples/pull/34","diff_url":"https://github.com/KratosMultiphysics/Examples/pull/34.diff","patch_url":"https://github.com/KratosMultiphysics/Examples/pull/34.patch","issue_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/34","number":34,"state":"open","locked":false,"title":"Periodic Boundary conditions use_cases","user":{"login":"adityaghantasala","id":2531316,"node_id":"MDQ6VXNlcjI1MzEzMTY=","avatar_url":"https://avatars1.githubusercontent.com/u/2531316?v=4","gravatar_id":"","url":"https://api.github.com/users/adityaghantasala","html_url":"https://github.com/adityaghantasala","followers_url":"https://api.github.com/users/adityaghantasala/followers","following_url":"https://api.github.com/users/adityaghantasala/following{/other_user}","gists_url":"https://api.github.com/users/adityaghantasala/gists{/gist_id}","starred_url":"https://api.github.com/users/adityaghantasala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adityaghantasala/subscriptions","organizations_url":"https://api.github.com/users/adityaghantasala/orgs","repos_url":"https://api.github.com/users/adityaghantasala/repos","events_url":"https://api.github.com/users/adityaghantasala/events{/privacy}","received_events_url":"https://api.github.com/users/adityaghantasala/received_events","type":"User","site_admin":false},"body":"This PR adds use cases for periodic boundary conditions.\r\nOne example for StructuralMechanicsApplication and one for FluidDynamicsApplication.\r\n\r\nThis is to be merged once the periodic bc PR in Kratos is merged.","created_at":"2018-12-28T11:54:10Z","updated_at":"2018-12-28T13:56:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"130ea53537485b7bd06c28b91e72b675e1d5fd4b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34/commits","review_comments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34/comments","review_comment_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/34/comments","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Examples/statuses/cbda168bd5d93e84568878853bcd1b1f8bb0b3b8","head":{"label":"KratosMultiphysics:periodic_bc_examples","ref":"periodic_bc_examples","sha":"cbda168bd5d93e84568878853bcd1b1f8bb0b3b8","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":109027689,"node_id":"MDEwOlJlcG9zaXRvcnkxMDkwMjc2ODk=","name":"Examples","full_name":"KratosMultiphysics/Examples","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/Examples","description":"All benchmarks, examples and applications cases to be run by Kratos. Note that unit tests are in Kratos repository and NOT here","fork":false,"url":"https://api.github.com/repos/KratosMultiphysics/Examples","forks_url":"https://api.github.com/repos/KratosMultiphysics/Examples/forks","keys_url":"https://api.github.com/repos/KratosMultiphysics/Examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KratosMultiphysics/Examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KratosMultiphysics/Examples/teams","hooks_url":"https://api.github.com/repos/KratosMultiphysics/Examples/hooks","issue_events_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/events{/number}","events_url":"https://api.github.com/repos/KratosMultiphysics/Examples/events","assignees_url":"https://api.github.com/repos/KratosMultiphysics/Examples/assignees{/user}","branches_url":"https://api.github.com/repos/KratosMultiphysics/Examples/branches{/branch}","tags_url":"https://api.github.com/repos/KratosMultiphysics/Examples/tags","blobs_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Examples/statuses/{sha}","languages_url":"https://api.github.com/repos/KratosMultiphysics/Examples/languages","stargazers_url":"https://api.github.com/repos/KratosMultiphysics/Examples/stargazers","contributors_url":"https://api.github.com/repos/KratosMultiphysics/Examples/contributors","subscribers_url":"https://api.github.com/repos/KratosMultiphysics/Examples/subscribers","subscription_url":"https://api.github.com/repos/KratosMultiphysics/Examples/subscription","commits_url":"https://api.github.com/repos/KratosMultiphysics/Examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/KratosMultiphysics/Examples/contents/{+path}","compare_url":"https://api.github.com/repos/KratosMultiphysics/Examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KratosMultiphysics/Examples/merges","archive_url":"https://api.github.com/repos/KratosMultiphysics/Examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KratosMultiphysics/Examples/downloads","issues_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues{/number}","pulls_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls{/number}","milestones_url":"https://api.github.com/repos/KratosMultiphysics/Examples/milestones{/number}","notifications_url":"https://api.github.com/repos/KratosMultiphysics/Examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KratosMultiphysics/Examples/labels{/name}","releases_url":"https://api.github.com/repos/KratosMultiphysics/Examples/releases{/id}","deployments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/deployments","created_at":"2017-10-31T17:07:27Z","updated_at":"2018-12-22T12:03:12Z","pushed_at":"2018-12-28T12:00:39Z","git_url":"git://github.com/KratosMultiphysics/Examples.git","ssh_url":"git@github.com:KratosMultiphysics/Examples.git","clone_url":"https://github.com/KratosMultiphysics/Examples.git","svn_url":"https://github.com/KratosMultiphysics/Examples","homepage":"https://kratosmultiphysics.github.io/Examples/","size":430571,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":4,"open_issues":1,"watchers":4,"default_branch":"master"}},"base":{"label":"KratosMultiphysics:master","ref":"master","sha":"e010e38c76a83aa0a468702a812a109996374009","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":109027689,"node_id":"MDEwOlJlcG9zaXRvcnkxMDkwMjc2ODk=","name":"Examples","full_name":"KratosMultiphysics/Examples","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/Examples","description":"All benchmarks, examples and applications cases to be run by Kratos. Note that unit tests are in Kratos repository and NOT here","fork":false,"url":"https://api.github.com/repos/KratosMultiphysics/Examples","forks_url":"https://api.github.com/repos/KratosMultiphysics/Examples/forks","keys_url":"https://api.github.com/repos/KratosMultiphysics/Examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KratosMultiphysics/Examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KratosMultiphysics/Examples/teams","hooks_url":"https://api.github.com/repos/KratosMultiphysics/Examples/hooks","issue_events_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/events{/number}","events_url":"https://api.github.com/repos/KratosMultiphysics/Examples/events","assignees_url":"https://api.github.com/repos/KratosMultiphysics/Examples/assignees{/user}","branches_url":"https://api.github.com/repos/KratosMultiphysics/Examples/branches{/branch}","tags_url":"https://api.github.com/repos/KratosMultiphysics/Examples/tags","blobs_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KratosMultiphysics/Examples/statuses/{sha}","languages_url":"https://api.github.com/repos/KratosMultiphysics/Examples/languages","stargazers_url":"https://api.github.com/repos/KratosMultiphysics/Examples/stargazers","contributors_url":"https://api.github.com/repos/KratosMultiphysics/Examples/contributors","subscribers_url":"https://api.github.com/repos/KratosMultiphysics/Examples/subscribers","subscription_url":"https://api.github.com/repos/KratosMultiphysics/Examples/subscription","commits_url":"https://api.github.com/repos/KratosMultiphysics/Examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/KratosMultiphysics/Examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/KratosMultiphysics/Examples/contents/{+path}","compare_url":"https://api.github.com/repos/KratosMultiphysics/Examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KratosMultiphysics/Examples/merges","archive_url":"https://api.github.com/repos/KratosMultiphysics/Examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KratosMultiphysics/Examples/downloads","issues_url":"https://api.github.com/repos/KratosMultiphysics/Examples/issues{/number}","pulls_url":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls{/number}","milestones_url":"https://api.github.com/repos/KratosMultiphysics/Examples/milestones{/number}","notifications_url":"https://api.github.com/repos/KratosMultiphysics/Examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KratosMultiphysics/Examples/labels{/name}","releases_url":"https://api.github.com/repos/KratosMultiphysics/Examples/releases{/id}","deployments_url":"https://api.github.com/repos/KratosMultiphysics/Examples/deployments","created_at":"2017-10-31T17:07:27Z","updated_at":"2018-12-22T12:03:12Z","pushed_at":"2018-12-28T12:00:39Z","git_url":"git://github.com/KratosMultiphysics/Examples.git","ssh_url":"git@github.com:KratosMultiphysics/Examples.git","clone_url":"https://github.com/KratosMultiphysics/Examples.git","svn_url":"https://github.com/KratosMultiphysics/Examples","homepage":"https://kratosmultiphysics.github.io/Examples/","size":430571,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":4,"open_issues":1,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34"},"html":{"href":"https://github.com/KratosMultiphysics/Examples/pull/34"},"issue":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/34"},"comments":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/issues/34/comments"},"review_comments":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34/comments"},"review_comment":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/pulls/34/commits"},"statuses":{"href":"https://api.github.com/repos/KratosMultiphysics/Examples/statuses/cbda168bd5d93e84568878853bcd1b1f8bb0b3b8"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"philbucher"}}