SFUMATO#: A GPU-accelerated code for self-gravitational radiation hydrodynamics simulation with adaptive mesh refinement
Hajime Fukushima, Tomoaki Matsumoto

TL;DR
SFUMATO# is a GPU-accelerated adaptive mesh refinement code for self-gravitational radiation hydrodynamics, incorporating advanced solvers validated through extensive tests and optimized for multi-GPU performance.
Contribution
The paper introduces SFUMATO#, a novel GPU-accelerated code with new non-equilibrium chemistry and thermal solvers, optimized for efficient multi-GPU simulations of complex astrophysical phenomena.
Findings
Validated new chemistry and thermal solvers against Newton-Raphson solutions.
Demonstrated accelerated chemistry solver performance with increased dust heat capacity.
Confirmed code's scalability and performance on multi-GPU systems with AMR and uniform grids.
Abstract
We present a new implementation of the SFUMATO code, called SFUMATO#, for solving self-gravitational radiation hydrodynamics problems using adaptive mesh refinement (AMR) with the CUDA/HIP programming frameworks. The code incorporates a multigrid solver for self-gravity, radiation transfer with M1 closure and reduced speed of light approximation, non-equilibrium chemistry, thermal evolution, and sink particle schemes. We develop new non-equilibrium chemistry and thermal solvers based on a linearized implicit method, whose accuracy is validated through a series of test problems by comparison with solutions obtained using the Newton-Raphson method. By incorporating the heat capacity of dust grains, the dust temperature can be evolved without iterative energy-balance calculations. From the perspective of computational cost, we demonstrate that adopting an increased pseudo dust heat…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
