{"id":6175,"date":"2023-12-01T09:03:52","date_gmt":"2023-12-01T08:03:52","guid":{"rendered":"https:\/\/www.mi.uni-koeln.de\/NumSim\/?p=6175"},"modified":"2023-12-01T09:20:33","modified_gmt":"2023-12-01T08:20:33","slug":"snapshot-discontinuous-galerkin-simulation-on-a-spherical-shell","status":"publish","type":"post","link":"https:\/\/www.mi.uni-koeln.de\/NumSim\/2023\/12\/01\/snapshot-discontinuous-galerkin-simulation-on-a-spherical-shell\/","title":{"rendered":"Snapshot: Discontinuous Galerkin simulation on a spherical shell"},"content":{"rendered":"<p>Utilizing a mapping $(\\xi, \\eta) \\in \\mathbb{R}^2 \\rightarrow (x, y, z) \\in \\mathbb{R}^3$ and specifically tailored tensor-product Legendre&#8211;Gauss&#8211;Lobatto basis functions [1,2], discontinuous Galerkin (DG) simulations can be performed on a curved surface. In particular, we are interested in running DG simulations on a spherical shell.<\/p>\n<p>To achieve this, we create a two-dimensional cubed-sphere mesh for tessellating the sphere&#8217;s surface. This mesh proves advantageous as it avoids singularities at the poles present in latitude-longitude grids, while still facilitating a highly regular tessellation of the simulation domain through the use of quadrilaterals.<\/p>\n<p>Within this mesh, we address the linear advection equations incorporating position-dependent advection velocity:<br \/>\n\\[ \\frac{\\partial \\rho}{\\partial t} + \\nabla \\cdot \\left( \\vec{v} (x, y, z) \\rho \\right) = 0. \\]<br \/>\nAdditionally, a solid-body rotation velocity tangential to the spherical surface is imposed.<\/p>\n<p>The presented video showcases the advection of a Gaussian pulse across the globe using Trixi.jl (<a href=\"https:\/\/github.com\/trixi-framework\/Trixi.jl\">https:\/\/github.com\/trixi-framework\/Trixi.jl<\/a>) with the two-dimensional p4est solver. The simulation also incorporates a custom implementation of the three-dimensional linear advection equations.<\/p>\n<div style=\"width: 584px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-6175-1\" width=\"584\" height=\"359\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-content\/uploads\/2023\/12\/earth.mp4?_=1\" \/><a href=\"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-content\/uploads\/2023\/12\/earth.mp4\">https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-content\/uploads\/2023\/12\/earth.mp4<\/a><\/video><\/div>\n<p><strong><br \/>\nReferences<\/strong><\/p>\n<p>[1] Song, C. &#038; Wolf, J. P. (1999). The scaled boundary finite element method\u2014alias consistent infinitesimal finite element cell method\u2014for diffusion. International Journal for Numerical Methods in Engineering, 45(10), 1403-1431.<br \/>\n[2] Giraldo, F. X. (2001). A spectral element shallow water model on spherical geodesic grids. International Journal for Numerical Methods in Fluids, 35(8), 869-901.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Utilizing a mapping $(\\xi, \\eta) \\in \\mathbb{R}^2 \\rightarrow (x, y, z) \\in \\mathbb{R}^3$ and specifically tailored tensor-product Legendre&#8211;Gauss&#8211;Lobatto basis functions [1,2], discontinuous Galerkin (DG) simulations can be performed on a curved surface. In particular, we are interested in running DG &hellip; <a href=\"https:\/\/www.mi.uni-koeln.de\/NumSim\/2023\/12\/01\/snapshot-discontinuous-galerkin-simulation-on-a-spherical-shell\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/posts\/6175"}],"collection":[{"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/comments?post=6175"}],"version-history":[{"count":8,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/posts\/6175\/revisions"}],"predecessor-version":[{"id":6308,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/posts\/6175\/revisions\/6308"}],"wp:attachment":[{"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/media?parent=6175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/categories?post=6175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mi.uni-koeln.de\/NumSim\/wp-json\/wp\/v2\/tags?post=6175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}