JpGU-AGU Joint Meeting 2020

Presentation information

[E] Poster

S (Solid Earth Sciences ) » S-TT Technology & Techniques

[S-TT54] Creating future of solid Earth science with high performance computing (HPC)

convener:Takane Hori(R&D Center for Earthquake and Tsunami, Japan Agency for Marine-Earth Science and Technology), Yuji Yagi(Graduate School of Life and Environmental Sciences, University of Tsukuba, Tsukuba), Katsuhiko Shiomi(National Research Institute for Earth Science and Disaster Resilience)

[STT54-P01] Python based finite element code development for fluid geodynamics using JIT compiler and benchmark test

*Sangjin Park1 (1.Kangwon National University)

Keywords:Python, Finite element method, Numerical geodynamics

Python has very high productivity by supporting intuitive grammar and various libraries, but as an interpreted language, it is relatively slower than compiled languages such as c. Many attempts have been made to overcome working process of Python code which executes source code written by high-level language and translates to machine language simultaneously, including development of JIT (Just In Time) Compiler. Jit caches functions defined within the Python script by translating them into machine language. Since it omits the translation process to the machine language when reusing the cached function, Python using JIT compiler may show computational speed equal to the compiled language. We developed a Python-based finite element code for geodynamics equipped with JIT compiler, improving computational speed and keeping its good maintainability. Our code simulates the thermal convection within the coupled system between the time-dependent heat equation and the steady-state Stokes equation. It affords various simulations such as the boundaries between multiphase-fluid and large deformation of materials in Eulerian mesh with particle-in-cell method. In this study, we benchmarked various tests to assess the reliability of the code. Not only we successfully made simple mantle convection model but also we added a lot of geometries and sticky-air approach into test models using PIC (particle-in-cell) method.