{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/differentiable-conservative-radially","title":"Differentiable Conservative Radially Symmetric Fluid Simulations and Stellar Winds -- jf1uids","arxiv_id":"2410.23093","date":"2024-10-30","proceeding":null,"authors":["Leonard Storcks","Tobias Buck"],"abstract":"We present jf1uids, a one-dimensional fluid solver that can, by virtue of a geometric formulation of the Euler equations, model radially symmetric fluid problems in a conservative manner, i.e., without losing mass or energy. For spherical problems, such as ideal supernova explosions or stellar wind-blown bubble expansions, simulating only along a radial dimension drastically reduces compute and memory demands compared to a full three-dimensional method. This simplification also alleviates constraints on backpropagation through the solver. Written in JAX, jf1uids is a GPU-compatible and fully differentiable simulator. We demonstrate the advantages of this differentiable physics simulator by retrieving the wind's parameters for an adiabatic stellar wind expansion from the final fluid state using gradient descent. As part of a larger \"stellar winds, cosmic rays and machine learning\" research track, jf1uids serves as a solid foundation to be extended with additional physics modules, foremost cosmic rays and a neural-net powered gas-cooling surrogate and improved by higher order and more accurate numerical schemes. All code is available under https://github.com/leo1200/jf1uids/.","url_abs":"https://arxiv.org/abs/2410.23093v2","url_pdf":"https://arxiv.org/pdf/2410.23093v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"differentiable-conservative-radially","repo_url":"https://github.com/leo1200/jf1uids","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.23093","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.23093"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/leo1200/jf1uids","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":2,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1},"community":{"samples":3,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":3,"samples":[{"code_sha256_prefix":"1c50a28654b11848","entry":"internal_energy_from_energy","repo":"leo1200/jamr","repo_kind":"community","path":"fluid.py","file_url":"https://github.com/leo1200/jamr/blob/HEAD/fluid.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c50a28654b11848"}},{"code_sha256_prefix":"fd88dfaac9f20216","entry":"pressure_from_internal_energy","repo":"leo1200/jamr","repo_kind":"community","path":"fluid.py","file_url":"https://github.com/leo1200/jamr/blob/HEAD/fluid.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fd88dfaac9f20216"}},{"code_sha256_prefix":"ef3ed318f268991d","entry":"total_energy_from_primitives","repo":"leo1200/jamr","repo_kind":"community","path":"fluid.py","file_url":"https://github.com/leo1200/jamr/blob/HEAD/fluid.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ef3ed318f268991d"}},{"code_sha256_prefix":"5da10d5ab649d755","entry":"diffable_pallas_call","repo":"leo1200/jf1uids","repo_kind":"official","path":"astronomix/_pallas_helpers.py","file_url":"https://github.com/leo1200/jf1uids/blob/HEAD/astronomix/_pallas_helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5da10d5ab649d755"}},{"code_sha256_prefix":"a876b96891c9bbfb","entry":"diffable_pallas_call_n","repo":"leo1200/jf1uids","repo_kind":"official","path":"astronomix/_pallas_helpers.py","file_url":"https://github.com/leo1200/jf1uids/blob/HEAD/astronomix/_pallas_helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a876b96891c9bbfb"}},{"code_sha256_prefix":"17caa2f259722486","entry":"pallas_vjp_call","repo":"leo1200/jf1uids","repo_kind":"official","path":"astronomix/_pallas_helpers.py","file_url":"https://github.com/leo1200/jf1uids/blob/HEAD/astronomix/_pallas_helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"17caa2f259722486"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}