{"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/learning-mesh-based-simulation-with-graph-1","title":"Learning Mesh-Based Simulation with Graph Networks","arxiv_id":"2010.03409","date":"2020-10-07","proceeding":"ICLR 2021 1","authors":["Tobias Pfaff","Meire Fortunato","Alvaro Sanchez-Gonzalez","Peter W. Battaglia"],"abstract":"Mesh-based simulations are central to modeling complex physical systems in many disciplines across science and engineering. Mesh representations support powerful numerical integration methods and their resolution can be adapted to strike favorable trade-offs between accuracy and efficiency. However, high-dimensional scientific simulations are very expensive to run, and solvers and parameters must often be tuned individually to each system studied. Here we introduce MeshGraphNets, a framework for learning mesh-based simulations using graph neural networks. Our model can be trained to pass messages on a mesh graph and to adapt the mesh discretization during forward simulation. Our results show it can accurately predict the dynamics of a wide range of physical systems, including aerodynamics, structural mechanics, and cloth. The model's adaptivity supports learning resolution-independent dynamics and can scale to more complex state spaces at test time. Our method is also highly efficient, running 1-2 orders of magnitude faster than the simulation on which it is trained. Our approach broadens the range of problems on which neural network simulators can operate and promises to improve the efficiency of complex, scientific modeling tasks.","url_abs":"https://arxiv.org/abs/2010.03409v4","url_pdf":"https://arxiv.org/pdf/2010.03409v4.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":"abstracts"},"code_links":[{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/deepmind/deepmind-research","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/CCSI-Toolset/MGN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/DonsetPG/graph-physics","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok"}},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/amaleki2/graph_networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/echowve/meshGraphNets_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/geoelements/gns","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/idoby/paper-summaries","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/jlinki/ggns","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/wwMark/meshgraphnets","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/MGN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"learning-mesh-based-simulation-with-graph-1","repo_url":"https://github.com/Litianyu141/FVGN-sub-Meshgraphnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"numerical-integration","task_name":"Numerical Integration"}],"methods":[{"method_slug":"meshgraphnet","method_name":"MeshGraphNet"}],"datasets_introduced":[],"methods_introduced":[{"slug":"meshgraphnet","name":"MeshGraphNet","full_name":"MeshGraphNet"}],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2010.03409","atlas_url":"https://app.syntology.ai/?focus=2010.03409","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.03409"}},"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/deepmind/deepmind-research","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CCSI-Toolset/MGN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/geoelements/gns","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jlinki/ggns","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/amaleki2/graph_networks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/MGN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wwMark/meshgraphnets","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/echowve/meshGraphNets_pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/idoby/paper-summaries","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Litianyu141/FVGN-sub-Meshgraphnet","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DonsetPG/graph-physics","reach":{"status":"ok"}}],"summary":{"ran_honours":2,"ran_draft_wrong":2},"by_repo_kind":{"listed":{"samples":4,"ran":4,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"e7e2742326c28429","entry":"fig2data","repo":"echowve/meshGraphNets_pytorch","repo_kind":"listed","path":"render_results.py","file_url":"https://github.com/echowve/meshGraphNets_pytorch/blob/HEAD/render_results.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e7e2742326c28429"}},{"code_sha256_prefix":"1238daf814ff116d","entry":"render","repo":"echowve/meshGraphNets_pytorch","repo_kind":"listed","path":"render_results.py","file_url":"https://github.com/echowve/meshGraphNets_pytorch/blob/HEAD/render_results.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1238daf814ff116d"}},{"code_sha256_prefix":"6ec74c26926c8475","entry":"rollout_error","repo":"echowve/meshGraphNets_pytorch","repo_kind":"listed","path":"rollout.py","file_url":"https://github.com/echowve/meshGraphNets_pytorch/blob/HEAD/rollout.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6ec74c26926c8475"}},{"code_sha256_prefix":"34453417d3c1864e","entry":"tableau_builder","repo":"CCSI-Toolset/MGN","repo_kind":"listed","path":"GNN/MeshGraphNets.py","file_url":"https://github.com/CCSI-Toolset/MGN/blob/HEAD/GNN/MeshGraphNets.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"34453417d3c1864e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}