{"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/efficient-mapping-of-phase-diagrams-with","title":"Efficient mapping of phase diagrams with conditional Boltzmann Generators","arxiv_id":"2406.12378","date":"2024-06-18","proceeding":null,"authors":["Maximilian Schebek","Michele Invernizzi","Frank Noé","Jutta Rogal"],"abstract":"The accurate prediction of phase diagrams is of central importance for both the fundamental understanding of materials as well as for technological applications in material sciences. However, the computational prediction of the relative stability between phases based on their free energy is a daunting task, as traditional free energy estimators require a large amount of simulation data to obtain uncorrelated equilibrium samples over a grid of thermodynamic states. In this work, we develop deep generative machine learning models based on the Boltzmann Generator approach for entire phase diagrams, employing normalizing flows conditioned on the thermodynamic states, e.g., temperature and pressure, that they map to. By training a single normalizing flow to transform the equilibrium distribution sampled at only one reference thermodynamic state to a wide range of target temperatures and pressures, we can efficiently generate equilibrium samples across the entire phase diagram. Using a permutation-equivariant architecture allows us, thereby, to treat solid and liquid phases on the same footing. We demonstrate our approach by predicting the solid-liquid coexistence line for a Lennard-Jones system in excellent agreement with state-of-the-art free energy methods while significantly reducing the number of energy evaluations needed.","url_abs":"https://arxiv.org/abs/2406.12378v2","url_pdf":"https://arxiv.org/pdf/2406.12378v2.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":"efficient-mapping-of-phase-diagrams-with","repo_url":"https://github.com/maxschebek/flow_diagrams","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.12378","atlas_url":"https://app.syntology.ai/?focus=2406.12378","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.12378"}},"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/maxschebek/flow_diagrams","reach":{"status":"ok"}}],"summary":{"ran":13},"by_repo_kind":{"official":{"samples":13,"ran":13,"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":13,"samples":[{"code_sha256_prefix":"5ea6773fb74d1263","entry":"circular","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/lattice.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/lattice.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5ea6773fb74d1263"}},{"code_sha256_prefix":"beb7add5660e9098","entry":"convert_from_reduced_t","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/conditioning.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/conditioning.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"beb7add5660e9098"}},{"code_sha256_prefix":"f8836100275aaec1","entry":"grid_conditional_variables","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/conditioning.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/conditioning.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f8836100275aaec1"}},{"code_sha256_prefix":"9a4f700a41ee309a","entry":"normal_init","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/weights.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/weights.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9a4f700a41ee309a"}},{"code_sha256_prefix":"b683ce54519b23b0","entry":"numpy_collate","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/data.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/data.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b683ce54519b23b0"}},{"code_sha256_prefix":"31d4a247c4f35528","entry":"reflect_x","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/symmetry.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/symmetry.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"31d4a247c4f35528"}},{"code_sha256_prefix":"1a26d3b6e8ab62e1","entry":"reflect_y","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/symmetry.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/symmetry.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1a26d3b6e8ab62e1"}},{"code_sha256_prefix":"ccad4327e91e00f2","entry":"reflect_z","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/symmetry.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/symmetry.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ccad4327e91e00f2"}},{"code_sha256_prefix":"f1483e490d702cc6","entry":"split_data","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/data.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1483e490d702cc6"}},{"code_sha256_prefix":"1c2062eccf50a63f","entry":"uniform_init","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/weights.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/weights.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c2062eccf50a63f"}},{"code_sha256_prefix":"8e2aa801fad17eb0","entry":"wrap_to_box","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/lattice.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/lattice.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8e2aa801fad17eb0"}},{"code_sha256_prefix":"6c633c93cacd656f","entry":"wrap_to_unit_cube","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/lattice.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/lattice.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6c633c93cacd656f"}},{"code_sha256_prefix":"4fcb2833615ed0b5","entry":"zero_init","repo":"maxschebek/flow_diagrams","repo_kind":"official","path":"flow_diagrams/utils/weights.py","file_url":"https://github.com/maxschebek/flow_diagrams/blob/HEAD/flow_diagrams/utils/weights.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4fcb2833615ed0b5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}