{"id":625,"date":"2021-08-15T17:50:02","date_gmt":"2021-08-15T17:50:02","guid":{"rendered":"http:\/\/summergeometry.org\/sgi2021\/?p=625"},"modified":"2021-08-15T17:50:04","modified_gmt":"2021-08-15T17:50:04","slug":"geometric-modelling-iga-and-cool-simulations","status":"publish","type":"post","link":"https:\/\/summergeometry.org\/sgi2021\/geometric-modelling-iga-and-cool-simulations\/","title":{"rendered":"Geometric Modelling, IGA and cool simulations"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Isogeometric analysis (IGA) is an analysis technique that combines computer aided design (CAD) with traditional finite element analysis (FEA). It uses the same spline basis functions to construct the geometry and the solution space, which is beneficial as traditional FEA requires geometric approximation that can lead to inaccuracies [1].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For our week 3 project, my group and I used IGA simulation software that has been developed for modelling material transport in neurons. The software solves Navier-Stokes equations to obtain the velocity field and models the transport process by reaction-diffusion-transport equations. For our purposes, we used the solver to simulate material transport in complex neurons and heat transfer processes in various geometries including a simple block model and a rod model [2].\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our project was split into two main parts: geometric modeling and analysis. For geometric modelling, we used two open source software packages (HexGen and Hex2Spline [3]) for the construction of geometries, and we then used the aforementioned IGA software for simulation purposes. I was in charge of using the IGA software to run the simulations and visualizing the results with Paraview (a visualization application).\u00a0\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, I\u2019ll demonstrate our results using the simple model the team created and also share some of the results I got using the IGA software on some additional models.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the example model we used:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-1024x894.png\" alt=\"\" class=\"wp-image-829\" width=\"437\" height=\"381\" srcset=\"https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-1024x894.png 1024w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-300x262.png 300w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-768x670.png 768w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-1536x1341.png 1536w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-2048x1787.png 2048w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-1200x1047.png 1200w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic_blog_3-1980x1728.png 1980w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">After the geometric modeling stage, I received 3 input files that contained the control mesh, an initial velocity field and the simulation parameters (particle concentrations, diffusion coefficient, velocities of material, etc.). These files were used as input for the IGA solver [2], which consists of four stages: spline construction, mesh partition for parallel computing, solving Navier-Stokes equations, and final transport simulation.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Due to the high computational needs of the last two stages, we set up the simulation environment at the <a href=\"https:\/\/www.psc.edu\/\">Pittsburgh Supercomputer Center<\/a> (PSC). We ran the simulation by connecting to the remote supercomputer\u00a0via an ssh client. Finally, after getting the results, I was able to visualize them using Paraview.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-1024x897.png\" alt=\"\" class=\"wp-image-628\" width=\"449\" height=\"393\" srcset=\"https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-1024x897.png 1024w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-300x263.png 300w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-768x673.png 768w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-1536x1345.png 1536w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-2048x1794.png 2048w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-1200x1051.png 1200w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/pic-blog-1-1980x1734.png 1980w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In the above example, the color bar shows the transport velocity magnitude. I also added streamlines that show the direction of flow.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an animation of our results that depicts the movement of the particles:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1156\" style=\"aspect-ratio: 1320 \/ 1156;\" width=\"1320\" controls src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/faith-model-animation_3FaMeSks_wwbG.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I also ran the solver on a rod model (that <a href=\"https:\/\/scholar.google.com\/citations?user=PukGbw8AAAAJ&amp;hl=en\">Angran Li<\/a>, our mentor, provided):<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Rod_Velocity-1024x891.png\" alt=\"\" class=\"wp-image-633\" width=\"460\" height=\"398\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The model shows the flow of heat through the rod as it is input from the right end of the model. Again, the colorbar represents the magnitude of the velocity of particles at that point.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, I also ran the IGA solver on a neuron model (found on <a href=\"http:\/\/neuromorpho.org\/\"><em>NeuroMorpho.org<\/em><\/a> and edited with the help of Angran).&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Screenshot-2021-08-14-at-2.07.08-AM.png\" alt=\"\" class=\"wp-image-830\" width=\"566\" height=\"377\" srcset=\"https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Screenshot-2021-08-14-at-2.07.08-AM.png 865w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Screenshot-2021-08-14-at-2.07.08-AM-300x200.png 300w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Screenshot-2021-08-14-at-2.07.08-AM-768x512.png 768w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><figcaption>The geometry of the neuron (visualised using Paraview)<\/figcaption><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-gallery aligncenter columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"954\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-1024x954.png\" alt=\"\" data-id=\"635\" data-full-url=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2.png\" data-link=\"http:\/\/summergeometry.org\/sgi2021\/?attachment_id=635\" class=\"wp-image-635\" srcset=\"https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-1024x954.png 1024w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-300x279.png 300w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-768x715.png 768w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-1536x1430.png 1536w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-2048x1907.png 2048w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-1200x1117.png 1200w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic2-1980x1844.png 1980w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"893\" src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-1024x893.png\" alt=\"\" data-id=\"636\" data-full-url=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1.png\" data-link=\"http:\/\/summergeometry.org\/sgi2021\/?attachment_id=636\" class=\"wp-image-636\" srcset=\"https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-1024x893.png 1024w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-300x262.png 300w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-768x670.png 768w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-1536x1339.png 1536w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-2048x1785.png 2048w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-1200x1046.png 1200w, https:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/Neuron_pic1-1-1980x1726.png 1980w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">&nbsp;Images show results we got by running the IGA solver on the neuron geometry<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"1156\" style=\"aspect-ratio: 1324 \/ 1156;\" width=\"1324\" controls src=\"http:\/\/summergeometry.org\/sgi2021\/wp-content\/uploads\/2021\/08\/neuron_animation.mp4\"><\/video><figcaption>The transport of material through the neuron over time<br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">From using the remote computer to editing the neurons for our analysis, I learned a ton of new techniques during the week. I enjoyed learning about the IGA solver and its applications ranging from neuroscience to engineering. I\u2019d like to end this post by thanking Angran his support and for bearing with me through my 1000 questions&#8212;it was a pleasure learning with you! \ud83d\ude42\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>References:<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[1] T. J. Hughes, J. A. Cottrell, Y. Bazilevs. <strong>Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement.<\/strong> <em>Computer Methods in Applied Mechanics and Engineering<\/em>, 194(39-41), 4135-4195, 2005.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] A. Li, X. Chai, G. Yang, Y. J. Zhang. <strong>An Isogeometric Analysis Computational Platform for Material Transport Simulations in Complex Neurite Networks.<\/strong> <em>Molecular &amp; Cellular Biomechanics<\/em>, 16(2):123-140, 2019. GitHub link: <a href=\"https:\/\/github.com\/CMU-CBML\/NeuronTransportIGA\">https:\/\/github.com\/CMU-CBML\/NeuronTransportIGA<\/a>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] Y. Yu, X. Wei, A. Li, J. G. Liu, J. He, Y. J. Zhang. <strong>HexGen and Hex2Spline: Polycube-Based Hexahedral Mesh Generation and Unstructured Spline Construction for Isogeometric Analysis Framework in LS-DYNA. <\/strong><em>Springer INdAM Serie: Proceedings of INdAM Workshop &#8220;Geometric Challenges in Isogeometric Analysis&#8221;<\/em>. Rome, Italy. Jan 27-31, 2020. GitHub link: <a href=\"https:\/\/github.com\/CMU-CBML\/HexGen_Hex2Spline\">https:\/\/github.com\/CMU-CBML\/HexGen_Hex2Spline<\/a>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Isogeometric analysis (IGA) is an analysis technique that combines computer aided design (CAD) with traditional finite element analysis (FEA). It uses the same spline basis functions to construct the geometry and the solution space, which is beneficial as traditional FEA requires geometric approximation that can lead to inaccuracies [1]. For our week 3 project, my [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[58],"class_list":["post-625","post","type-post","status-publish","format-standard","hentry","category-sgi-research-projects","tag-isogeometric-analysis"],"_links":{"self":[{"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/posts\/625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/comments?post=625"}],"version-history":[{"count":9,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/posts\/625\/revisions"}],"predecessor-version":[{"id":864,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/posts\/625\/revisions\/864"}],"wp:attachment":[{"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/media?parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/categories?post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/summergeometry.org\/sgi2021\/wp-json\/wp\/v2\/tags?post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}