Chemistry in Athena++
Munan Gong
Max Planck Institute for Extraterrestrial Physics (MPE) Athena++ workshop, UNLV, March 2019
H C O H H C+
Chemistry in Athena++ Munan Gong Max Planck Institute for - - PowerPoint PPT Presentation
H O C C + H H Chemistry in Athena++ Munan Gong Max Planck Institute for Extraterrestrial Physics (MPE) Athena++ workshop, UNLV, March 2019 An application of chemistry chemistry simulation mock observation mock observation real
Munan Gong
Max Planck Institute for Extraterrestrial Physics (MPE) Athena++ workshop, UNLV, March 2019
H C O H H C+
Gong, Ostriker and Kim (2018), The XCO Conversion Factor from Galactic Multiphase ISM Simulations
chemistry
simulation mock observation mock observation real observation of Orion
Concentration for species i: ∂ ∂t ✓1 2ρv2 + P γ 1 ◆ + r · ✓1 2ρv2 + γ γ 1P ◆ v
∂si ∂t = 1 ρv · r(ρsi) + Ki
<latexit sha1_base64="Fg5ak5U5lg5Kiy5g3Q161Ywb/A=">ACanicbVHLSgMxFM2M7/qFRTpJlgFRSwzKtiNILgR3ChYLXRKuZNmbDCTDElGKMs/EV3foEbP8JMW9C2XgczrnPkzDhTBvP+3TcufmFxaXldLq2vrGZnmr8qRlqghtEsmlaoWgKWeCNg0znLYSRSEOX0OX28K/fmNKs2keDSDhHZieBEsYgSMpbrl9yBSQLIgAWUYcJwFw5ZyFOa6y7L81/N5PgKn4KfMurvsyDGEw/jLK3PCA9aXAgIORwVGizvY7xySR5Z8luebVvWHgWeCPQ2N475b/gh6kqQxFYZw0Lrte4npZMWShNO8FKSaJkBe4YW2LRQU93JhlNzfGiZHo6ksk8YPGT/VmQaz2IQ5tZXKantYL8T2unJmp0MiaS1FBRoOi1JomceE7jFieEDC4AoZnfFpA/WSmN/p2RN8KdPngVPZ3X/vO49XNSuG2M7lEV7aMj5KNLdI1u0T1qIoK+nHVnx9l1vt2Ku+dWR6muM67ZRhPhHvwA6Ku9SQ=</latexit>si = ρi ρ
<latexit sha1_base64="J6/u03y8tvdVwy2iPko8WNs+U=">ACAnicbVDLSsNAFJ3UV62vqCtxM1gEVyVRwW6EghuXFewDmhAm0k7dDITZiZCcGNv+LGhSJu/Qp3/o3TNAtPXC5h3PuZeaeMGFUacf5tiorq2vrG9XN2tb2zu6evX/QVSKVmHSwYEL2Q6QIo5x0NWM9BNJUBwy0gsnNzO/90CkoLf62lC/BiNOI0oRtpIgX2kAgqvoRdJhDNPjkVA86LngV13Gk4BuEzcktRBiXZgf3lDgdOYcI0ZUmrgOon2MyQ1xYzkNS9VJEF4gkZkYChHMVF+VpyQw1OjDGEkpCmuYaH+3shQrNQ0Ds1kjPRYLXoz8T9vkOqo6WeUJ6kmHM8filIGtYCzPOCQSoI1mxqCsKTmrxCPkUlDm9RqJgR38eRl0j1vuBcN5+6y3mqWcVTBMTgBZ8AFV6AFbkEbdAGj+AZvI368l6sd6tj/loxSp3DsEfWJ8/PYiXTw=</latexit>P = R µ ρT
<latexit sha1_base64="P2NMekx+UdxK3QNaG4290ER6Idk=">ACDXicbVDLSsNAFJ3UV62vqEs3g1VwVRIV7EYouHFZpS9oQplMJ+3QySTMQyghP+DGX3HjQhG37t35N07TLT1wIXDOfOnXuChFGpHOfbKq2srq1vlDcrW9s7u3v2/kFHxlpg0sYxi0UvQJIwyklbUcVILxERQEj3WByM/O7D0RIGvOWmibEj9CI05BipIw0sE+a14oE7vszT18vfSgGmSQS/SWeaJcQxbA7vq1JwcJm4BamCAs2B/eUNY6wjwhVmSMq+6yTKT5FQFDOSVTwtSYLwBI1I31COIiL9N+ewVOjDGEYC1NcwVz9PZGiSMpFJjOCKmxXPRm4n9eX6uw7qeUJ1oRjueLQs2giuEsGjikgmDFpoYgLKj5K8RjZMJRJsCKCcFdPHmZdM5r7kXNubusNupFHGVwBI7BGXDBFWiAW9AEbYDBI3gGr+DNerJerHfrY95asoqZQ/AH1ucPaAecXA=</latexit>chemical reaction rates G: radiation field Ki(s, ρ, T, G, ...)
<latexit sha1_base64="nJXi0RvdAjt/2CqQwc0xEZK/1j0=">ACXicdVDLSsNAFJ34rPUVdelmsAgVQki0oMuCwU3FfqCJoTJdNIOnUzCzEQoVs3/obF4q49Q/c+TdO2go+DwxzOde7r0nTBmVynHejYXFpeWV1dJaeX1jc2vb3NltyQTmLRwhLRDZEkjHLSUlQx0k0FQXHISCcnRd+54YISRPeVOU+DEacBpRjJSWAhNeBbTqxUgNwyiXEwt6YphYsGnBCwvatn0UmBXHrjkF4G/i2tPfqYA5GoH5vUTnMWEK8yQlD3XSZWfI6EoZmRS9jJUoRHaEB6mnIUE+n0sm8FArfRglQj+u4FT92pGjWMpxHOrKYmf50yvEv7xepqIzP6c8zRTheDYoyhUCSxigX0qCFZsrAnCgupdIR4igbDS4ZV1CJ+Xwv9J+9h2T2znulap1+ZxlMA+OABV4IJTUAeXoAFaAINbcA8ewZNxZzwYz8bLrHTBmPfsgW8wXj8AZ3mXg=</latexit>heating and cooling Γ, Λ(s, ρ, T, G)
<latexit sha1_base64="1MrGdmj7nyYugsRuwA1tXOYVh+Q=">ACEHicdVDLSgMxFM34rPVdekmWMQKpcxoQZcF3XhokJf0CnlTpQ5OZIckIZegnuPFX3LhQxK1Ld/6NmbaCzwsh3Pu4d57vIgzpW373VpYXFpeWc2sZdc3Nre2czu7TRXGktAGCXko2x4oylAG5pTtuRpCA8Tlve6CLVWzdUKhYGdT2OaFfAIGA+I6AN1csduVUQAorYvTKmPhRcAXro+YmaGE4OwyKuF3H1uJfL26WynRb+DZzS9LfzaF61Xu7N7YckFjTQhINSHceOdDcBqRnhdJ1Y0UjICMY0I6BAQiqusn0oAk+NEwf+6E0L9B4yn51JCUGgvPdKbrqp9aSv6ldWLtn3cTFkSxpgGZDfJjnWI03Rwn0lKNB8bAEQysysmQ5BAtMkwa0L4vBT/D5onJe0ZF+X85XyPI4M2kcHqIAcdIYq6BLVUAMRdIvu0SN6su6sB+vZepm1Llhzx76VtbrB687mwc=</latexit>µ(s)
<latexit sha1_base64="zJOhwNMbhosIOq3k3S9zE2vKLO0=">AB+HicdVBLSwMxGMzWV62Prnr0EixCvSy7WtBjwYvHCvYB3aVk02wbmSXPIS69Jd48aCIV3+KN/+N2baCz4GQYeb7yGTijFGlf/dKa2srq1vlDcrW9s7u1V3b7+jUiMxaeOUpbIXI0UYFaStqWakl0mCeMxIN5cFn73lkhFU3GjpxmJOBoJmlCMtJUGbjXkph5ypMdxkqvZycCt+V7DLwB/k8Cb34NLNEauG/hMWGE6ExQ0r1Az/TUY6kpiRWSU0imQIT9CI9C0ViBMV5fPgM3hslSFMUmP0HCuft3IEVdqymM7WURUP71C/MvrG51cRDkVmdFE4MVDiWFQp7BoAQ6pJFizqSUIS2qzQjxGEmFtu6rYEj5/Cv8nVMvOP860at2VjWUQaH4AjUQDOQRNcgRZoAwMuAeP4Mm5cx6cZ+dlMVpyljsH4Buc1w+nHZMJ</latexit>mean molecular weight
MHD
energy and EOS
chemistry passive scaler radiation
ODE solver
Concentration for species i: ∂ ∂t ✓1 2ρv2 + P γ 1 ◆ + r · ✓1 2ρv2 + γ γ 1P ◆ v
∂si ∂t = 1 ρv · r(ρsi) + Ki
<latexit sha1_base64="Fg5ak5U5lg5Kiy5g3Q161Ywb/A=">ACanicbVHLSgMxFM2M7/qFRTpJlgFRSwzKtiNILgR3ChYLXRKuZNmbDCTDElGKMs/EV3foEbP8JMW9C2XgczrnPkzDhTBvP+3TcufmFxaXldLq2vrGZnmr8qRlqghtEsmlaoWgKWeCNg0znLYSRSEOX0OX28K/fmNKs2keDSDhHZieBEsYgSMpbrl9yBSQLIgAWUYcJwFw5ZyFOa6y7L81/N5PgKn4KfMurvsyDGEw/jLK3PCA9aXAgIORwVGizvY7xySR5Z8luebVvWHgWeCPQ2N475b/gh6kqQxFYZw0Lrte4npZMWShNO8FKSaJkBe4YW2LRQU93JhlNzfGiZHo6ksk8YPGT/VmQaz2IQ5tZXKantYL8T2unJmp0MiaS1FBRoOi1JomceE7jFieEDC4AoZnfFpA/WSmN/p2RN8KdPngVPZ3X/vO49XNSuG2M7lEV7aMj5KNLdI1u0T1qIoK+nHVnx9l1vt2Ku+dWR6muM67ZRhPhHvwA6Ku9SQ=</latexit>si = ρi ρ
<latexit sha1_base64="J6/u03y8tvdVwy2iPko8WNs+U=">ACAnicbVDLSsNAFJ3UV62vqCtxM1gEVyVRwW6EghuXFewDmhAm0k7dDITZiZCcGNv+LGhSJu/Qp3/o3TNAtPXC5h3PuZeaeMGFUacf5tiorq2vrG9XN2tb2zu6evX/QVSKVmHSwYEL2Q6QIo5x0NWM9BNJUBwy0gsnNzO/90CkoLf62lC/BiNOI0oRtpIgX2kAgqvoRdJhDNPjkVA86LngV13Gk4BuEzcktRBiXZgf3lDgdOYcI0ZUmrgOon2MyQ1xYzkNS9VJEF4gkZkYChHMVF+VpyQw1OjDGEkpCmuYaH+3shQrNQ0Ds1kjPRYLXoz8T9vkOqo6WeUJ6kmHM8filIGtYCzPOCQSoI1mxqCsKTmrxCPkUlDm9RqJgR38eRl0j1vuBcN5+6y3mqWcVTBMTgBZ8AFV6AFbkEbdAGj+AZvI368l6sd6tj/loxSp3DsEfWJ8/PYiXTw=</latexit>P = R µ ρT
<latexit sha1_base64="P2NMekx+UdxK3QNaG4290ER6Idk=">ACDXicbVDLSsNAFJ3UV62vqEs3g1VwVRIV7EYouHFZpS9oQplMJ+3QySTMQyghP+DGX3HjQhG37t35N07TLT1wIXDOfOnXuChFGpHOfbKq2srq1vlDcrW9s7u3v2/kFHxlpg0sYxi0UvQJIwyklbUcVILxERQEj3WByM/O7D0RIGvOWmibEj9CI05BipIw0sE+a14oE7vszT18vfSgGmSQS/SWeaJcQxbA7vq1JwcJm4BamCAs2B/eUNY6wjwhVmSMq+6yTKT5FQFDOSVTwtSYLwBI1I31COIiL9N+ewVOjDGEYC1NcwVz9PZGiSMpFJjOCKmxXPRm4n9eX6uw7qeUJ1oRjueLQs2giuEsGjikgmDFpoYgLKj5K8RjZMJRJsCKCcFdPHmZdM5r7kXNubusNupFHGVwBI7BGXDBFWiAW9AEbYDBI3gGr+DNerJerHfrY95asoqZQ/AH1ucPaAecXA=</latexit>chemical reaction rates G: radiation field heating and cooling Ki(s, ρ, T, G, ...)
<latexit sha1_base64="nJXi0RvdAjt/2CqQwc0xEZK/1j0=">ACXicdVDLSsNAFJ34rPUVdelmsAgVQki0oMuCwU3FfqCJoTJdNIOnUzCzEQoVs3/obF4q49Q/c+TdO2go+DwxzOde7r0nTBmVynHejYXFpeWV1dJaeX1jc2vb3NltyQTmLRwhLRDZEkjHLSUlQx0k0FQXHISCcnRd+54YISRPeVOU+DEacBpRjJSWAhNeBbTqxUgNwyiXEwt6YphYsGnBCwvatn0UmBXHrjkF4G/i2tPfqYA5GoH5vUTnMWEK8yQlD3XSZWfI6EoZmRS9jJUoRHaEB6mnIUE+n0sm8FArfRglQj+u4FT92pGjWMpxHOrKYmf50yvEv7xepqIzP6c8zRTheDYoyhUCSxigX0qCFZsrAnCgupdIR4igbDS4ZV1CJ+Xwv9J+9h2T2znulap1+ZxlMA+OABV4IJTUAeXoAFaAINbcA8ewZNxZzwYz8bLrHTBmPfsgW8wXj8AZ3mXg=</latexit>Γ, Λ(s, ρ, T, G)
<latexit sha1_base64="1MrGdmj7nyYugsRuwA1tXOYVh+Q=">ACEHicdVDLSgMxFM34rPVdekmWMQKpcxoQZcF3XhokJf0CnlTpQ5OZIckIZegnuPFX3LhQxK1Ld/6NmbaCzwsh3Pu4d57vIgzpW373VpYXFpeWc2sZdc3Nre2czu7TRXGktAGCXko2x4oylAG5pTtuRpCA8Tlve6CLVWzdUKhYGdT2OaFfAIGA+I6AN1csduVUQAorYvTKmPhRcAXro+YmaGE4OwyKuF3H1uJfL26WynRb+DZzS9LfzaF61Xu7N7YckFjTQhINSHceOdDcBqRnhdJ1Y0UjICMY0I6BAQiqusn0oAk+NEwf+6E0L9B4yn51JCUGgvPdKbrqp9aSv6ldWLtn3cTFkSxpgGZDfJjnWI03Rwn0lKNB8bAEQysysmQ5BAtMkwa0L4vBT/D5onJe0ZF+X85XyPI4M2kcHqIAcdIYq6BLVUAMRdIvu0SN6su6sB+vZepm1Llhzx76VtbrB687mwc=</latexit>µ(s)
<latexit sha1_base64="zJOhwNMbhosIOq3k3S9zE2vKLO0=">AB+HicdVBLSwMxGMzWV62Prnr0EixCvSy7WtBjwYvHCvYB3aVk02wbmSXPIS69Jd48aCIV3+KN/+N2baCz4GQYeb7yGTijFGlf/dKa2srq1vlDcrW9s7u1V3b7+jUiMxaeOUpbIXI0UYFaStqWakl0mCeMxIN5cFn73lkhFU3GjpxmJOBoJmlCMtJUGbjXkph5ypMdxkqvZycCt+V7DLwB/k8Cb34NLNEauG/hMWGE6ExQ0r1Az/TUY6kpiRWSU0imQIT9CI9C0ViBMV5fPgM3hslSFMUmP0HCuft3IEVdqymM7WURUP71C/MvrG51cRDkVmdFE4MVDiWFQp7BoAQ6pJFizqSUIS2qzQjxGEmFtu6rYEj5/Cv8nVMvOP860at2VjWUQaH4AjUQDOQRNcgRZoAwMuAeP4Mm5cx6cZ+dlMVpyljsH4Buc1w+nHZMJ</latexit>mean molecular weight
MHD
energy and EOS
chemistry passive scaler radiation
ODE solver
dT dt = Γ − Λ cv
<latexit sha1_base64="QbtRrh6hyFygjEadedQG6ArOeo=">ACJ3icbVDLSsNAFJ3Ud31VXboZLIbS6KC3SgF7pwoWBVaEK4mUzaoTNJmJkUSsjfuPFX3Agqokv/xGnNQlsvDJw59w7c0+Qcqa0bX9alZnZufmFxaXq8srq2nptY/NWJZktE0Snsj7ABTlLKZtzTSn96mkIAJO74L+2Ui/G1CpWBLf6GFKPQHdmEWMgDaUXzt1IwkdwXonhR5WOCb4vdNF/gEl5zEAL23UszPYQiJ/6g8Gt1u2GPC08DpwR1VNaVX3txw4RkgsacFCq49ip9nKQmhFOi6qbKZoC6UOXdgyMQVDl5eM9C7xrmBHiTQn1njM/u7IQSg1FIFxjZQk9qI/E/rZDpqejmL0zTmPw8FGUc6wSPQsMhk5RoPjQAiGTmr5j0wISiTbRVE4IzufI0uD1oOIcN+/qo3mqWcSyibSD9pCDjlELXaAr1EYEPaAn9IrerEfr2Xq3Pn6sFavs2UJ/yvr6BvDopyc=</latexit>dsi dt = Ki
<latexit sha1_base64="/D9MeLavBvGTiOuSBc8fY+vQDrc=">ACEnicbVDLSsNAFJ3UV62vqEs3g0XQTUlUsBuh4EZwU8E+oAlhMpm0QyeTMDMRSsg3uPFX3LhQxK0rd/6NkzaL2npg4Mw593LvPX7CqFSW9WNUVlbX1jeqm7Wt7Z3dPXP/oCvjVGDSwTGLRd9HkjDKSUdRxUg/EQRFPiM9f3xT+L1HIiSN+YOaJMSN0JDTkGKktOSZ04oEM6cCKmRiLIgh9Kj+fxf5fAa3nUM+tWw5oCLhO7JHVQou2Z304Q4zQiXGpBzYVqLcDAlFMSN5zUklSRAeoyEZaMpRKSbTU/K4YlWAhjGQj+u4FSd78hQJOUk8nVlsapc9ArxP2+QqrDpZpQnqSIczwaFKYMqhkU+MKCYMUmiAsqN4V4hHSGSmdYk2HYC+evEy65w37omHdX9ZbzTKOKjgCx+AU2OAKtMAtaIMOwOAJvIA38G48G6/Gh/E5K60YZc8h+APj6xfdr54m</latexit>G = G(s, ρ)
<latexit sha1_base64="gDhS1vcTitZxayr+8jUuy72X760=">AB/nicbVDLSgMxFM3UV62vUXHlJliEClJmVLAboeCiLivYB3SGkzbWgmGZKMUIaCv+LGhSJu/Q53/o2ZdhbaeiBwOde7skJYkaVdpxvq7Cyura+UdwsbW3v7O7Z+wdtJRKJSQsLJmQ3QIowyklLU81IN5YERQEjnWB8m/mdRyIVFfxBT2LiR2jIaUgx0kbq20eNm0bFi5AeBWGqpufQkyNx1rfLTtWZAS4TNydlkKPZt7+8gcBJRLjGDCnVc51Y+ymSmJGpiUvUSRGeIyGpGcoRxFRfjqLP4WnRhnAUEjzuIYz9fdGiKlJlFgJrOgatHLxP+8XqLDmp9SHieacDw/FCYMagGzLuCASoI1mxiCsKQmK8QjJBHWprGSKcFd/PIyaV9U3cuqc39VrtfyOorgGJyACnDBNaiDO9AELYBCp7BK3iznqwX6936mI8WrHznEPyB9fkD18mUuw=</latexit>https://computation.llnl.gov/projects/sundials/cvode
$./configure.py -pp --chemistry=gow16 --radiation=six_ray --cvode_path=/usr/local -mpi …
$./run_tests.py chemistry (problem generator that reads Athena4.2 VTK output)
post-processing flag (skip the MHD task-list) chemical network Radiation solver (six_ray, loc_jeans, const) CVODE library path Radiation and chemistry are parallelized
Dense matrix solver: computational cost ~ Ns3
Fast compared to chemistry, pretty good approximation for the turbulent ISM.
x y z
G = 1 6 X Gi Gi = G0 exp(−σNi)
<latexit sha1_base64="0RrlF64gp5YHsdY756l/3z0teI=">ACHicbVDLSgMxFM3UV62vqks3wWKpC8uMFeumUHBRV1LBPqAzDJk04YmM0OSEcvQD3Hjr7hxoYgbF4J/Y9rOQqsHLvdwzr0k93gRo1KZ5peRWVpeWV3Lruc2Nre2d/K7e20ZxgKTFg5ZKLoekoTRgLQUVYx0I0EQ9xjpeKPLqd+5I0LSMLhV4g4HA0C6lOMlJbcfKXYqNm+QDixJsn5xJYxhw2X2nauqFut4ZrQJvdR6cSWdMARvHbpsZsvmGVzBviXWCkpgBRN/9h90McxIozJCUPcuMlJMgoShmZJKzY0kihEdoQHqaBogT6Sz4ybwSCt96IdCV6DgTP25kSAu5Zh7epIjNZSL3lT8z+vFyr9wEhpEsSIBnj/kxwyqE6Tgn0qCFZsrAnCguq/QjxEOiql8zpEKzFk/+S9mnZqpTNm7NCvZrGkQUH4BCUgAWqoA6uQBO0AYP4Am8gFfj0Xg23oz3+WjGSHf2wS8Yn98MLJ9t</latexit>src/chemistry
ODE solver chemistry network heating and cooling molecular shielding
src/radiation
Radiation variables Radiation solver
src/species
Species variables
Chemistry
Solve ODE for Δt MPI boundaries
Six-ray
Calculate column densities in each meshblock * 6 MPI boundaries * 6
MHD
energy and EOS
chemistry passive scaler radiation
ODE solver Walch+ 2014, FLASH Grassi+ 2012, KROME Wang+ 2018, Athena++
need to iterate between chemistry and radiation (for H2 self-shielding)?
MHD variables at time t
MHD time-step Δt Advance chemistry + temperature by Δt Same as current post-processing implementation (Grassi+ 2012, Wang+ 2017)
MHD variables at time t
Solve chemistry and temperature separately, sub- cycling: might be faster (Glover+ 2010, Walch+2014) Δt chemistry temperature chemistry temperature Shall we limit Δt according to heating and cooling rates?
https://xkcd.com/2034/