{"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-molecular-simulations-for","title":"Differentiable Molecular Simulations for Control and Learning","arxiv_id":"2003.00868","date":"2020-02-27","proceeding":"ICLR Workshop DeepDiffEq 2019 12","authors":["Wujie Wang","Simon Axelrod","Rafael Gómez-Bombarelli"],"abstract":"Molecular dynamics simulations use statistical mechanics at the atomistic scale to enable both the elucidation of fundamental mechanisms and the engineering of matter for desired tasks. The behavior of molecular systems at the microscale is typically simulated with differential equations parameterized by a Hamiltonian, or energy function. The Hamiltonian describes the state of the system and its interactions with the environment. In order to derive predictive microscopic models, one wishes to infer a molecular Hamiltonian that agrees with observed macroscopic quantities. From the perspective of engineering, one wishes to control the Hamiltonian to achieve desired simulation outcomes and structures, as in self-assembly and optical control, to then realize systems with the desired Hamiltonian in the lab. In both cases, the goal is to modify the Hamiltonian such that emergent properties of the simulated system match a given target. We demonstrate how this can be achieved using differentiable simulations where bulk target observables and simulation outcomes can be analytically differentiated with respect to Hamiltonians, opening up new routes for parameterizing Hamiltonians to infer macroscopic models and develop control protocols.","url_abs":"https://arxiv.org/abs/2003.00868v2","url_pdf":"https://arxiv.org/pdf/2003.00868v2.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":"differentiable-molecular-simulations-for","repo_url":"https://github.com/wwang2/torchmd","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"differentiable-molecular-simulations-for","repo_url":"https://github.com/torchmd/mdgrad","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.00868","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.00868"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wwang2/torchmd","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/torchmd/mdgrad","reach":null}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":10,"ran":0,"repositories":1},"listed":{"samples":1,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"4ef118b99c1874d1","entry":"JS_rdf","repo":"torchmd/mdgrad","repo_kind":"listed","path":"demo/fit_rdf_gnn.py","file_url":"https://github.com/torchmd/mdgrad/blob/HEAD/demo/fit_rdf_gnn.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":"4ef118b99c1874d1"}},{"code_sha256_prefix":"b9cdc21dc11ac13b","entry":"NHverlet_update","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/sovlers.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/sovlers.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":"b9cdc21dc11ac13b"}},{"code_sha256_prefix":"5cf6994a9a6425de","entry":"compute_angle","repo":"wwang2/torchmd","repo_kind":"official","path":"demo/fold.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/demo/fold.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":"5cf6994a9a6425de"}},{"code_sha256_prefix":"b86ff523a2f0e810","entry":"compute_dihe","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/observable.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/observable.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":"b86ff523a2f0e810"}},{"code_sha256_prefix":"0eeb2f0f43eaf83f","entry":"compute_dis","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/topology.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/topology.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":"0eeb2f0f43eaf83f"}},{"code_sha256_prefix":"669849ecf9b0d34b","entry":"gen_helix","repo":"wwang2/torchmd","repo_kind":"official","path":"demo/fold.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/demo/fold.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":"669849ecf9b0d34b"}},{"code_sha256_prefix":"474cbec5cfcaae60","entry":"generate_nbr_list","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/topology.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/topology.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":"474cbec5cfcaae60"}},{"code_sha256_prefix":"778f96b725724f3d","entry":"generate_pair_index","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/topology.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/topology.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":"778f96b725724f3d"}},{"code_sha256_prefix":"2e2e7b806a567fc8","entry":"generate_vol_bins","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/observable.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/observable.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":"2e2e7b806a567fc8"}},{"code_sha256_prefix":"915f7ec0ef60ec9a","entry":"rk4_alt_step_func","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/tinydiffeq.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/tinydiffeq.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":"915f7ec0ef60ec9a"}},{"code_sha256_prefix":"ef6cc877c3ceba79","entry":"verlet_update","repo":"wwang2/torchmd","repo_kind":"official","path":"torchmd/sovlers.py","file_url":"https://github.com/wwang2/torchmd/blob/HEAD/torchmd/sovlers.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":"ef6cc877c3ceba79"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}