{"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/mace-a-machine-learning-approach-to-chemistry","title":"MACE: A Machine learning Approach to Chemistry Emulation","arxiv_id":"2405.03274","date":"2024-05-06","proceeding":null,"authors":["S. Maes","F. De Ceuster","M. Van de Sande","L. Decin"],"abstract":"The chemistry of an astrophysical environment is closely coupled to its dynamics, the latter often found to be complex. Hence, to properly model these environments a 3D context is necessary. However, solving chemical kinetics within a 3D hydro simulation is computationally infeasible for a even a modest parameter study. In order to develop a feasible 3D hydro-chemical simulation, the classical chemical approach needs to be replaced by a faster alternative. We present mace, a Machine learning Approach to Chemistry Emulation, as a proof-of-concept work on emulating chemistry in a dynamical environment. Using the context of AGB outflows, we have developed an architecture that combines the use of an autoencoder (to reduce the dimensionality of the chemical network) and a set of latent ordinary differential equations (that are solved to perform the temporal evolution of the reduced features). Training this architecture with an integrated scheme makes it possible to successfully reproduce a full chemical pathway in a dynamical environment. mace outperforms its classical analogue on average by a factor 26. Furthermore, its efficient implementation in PyTorch results in a sub-linear scaling with respect to the number of hydrodynamical simulation particles.","url_abs":"https://arxiv.org/abs/2405.03274v1","url_pdf":"https://arxiv.org/pdf/2405.03274v1.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":"mace-a-machine-learning-approach-to-chemistry","repo_url":"https://github.com/silkemaes/mace","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.03274","atlas_url":"https://app.syntology.ai/?focus=2405.03274","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.03274"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/silkemaes/mace","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":7,"unverified":3},"by_repo_kind":{"official":{"samples":10,"ran":7,"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":10,"samples":[{"code_sha256_prefix":"7dd64041a8310470","entry":"abs_loss","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/loss.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7dd64041a8310470"}},{"code_sha256_prefix":"249b18110f2e4f01","entry":"get_overview","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/autoencoder.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/autoencoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"249b18110f2e4f01"}},{"code_sha256_prefix":"a25ff12396cc2234","entry":"grd_loss","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/loss.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a25ff12396cc2234"}},{"code_sha256_prefix":"634d4238b12769d7","entry":"idn_loss","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/loss.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"634d4238b12769d7"}},{"code_sha256_prefix":"19882eabc66d9306","entry":"makeOutputDir","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/utils.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"19882eabc66d9306"}},{"code_sha256_prefix":"3f3c971a64f96ec8","entry":"relative_error","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/utils.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3f3c971a64f96ec8"}},{"code_sha256_prefix":"cc30158bd0aa98c5","entry":"temp","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/utils.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"cc30158bd0aa98c5"}},{"code_sha256_prefix":"7151d9f9b77d6ff0","entry":"evaluate","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/integrated.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/integrated.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7151d9f9b77d6ff0"}},{"code_sha256_prefix":"285f1ac98285b98b","entry":"run_epoch","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/integrated.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/integrated.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"285f1ac98285b98b"}},{"code_sha256_prefix":"597c215894f54d25","entry":"run_epoch","repo":"silkemaes/mace","repo_kind":"official","path":"src/mace/local.py","file_url":"https://github.com/silkemaes/mace/blob/HEAD/src/mace/local.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"597c215894f54d25"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}