{"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/hard-constraint-guided-flow-matching-for","title":"Hard Constraint Guided Flow Matching for Gradient-Free Generation of PDE Solutions","arxiv_id":"2412.01786","date":"2024-12-02","proceeding":null,"authors":["Chaoran Cheng","Boran Han","Danielle C. Maddix","Abdul Fatir Ansari","Andrew Stuart","Michael W. Mahoney","Yuyang Wang"],"abstract":"Generative models that satisfy hard constraints are crucial in many scientific and engineering applications where physical laws or system requirements must be strictly respected. However, many existing constrained generative models, especially those developed for computer vision, rely heavily on gradient information, often sparse or computationally expensive in fields like partial differential equations (PDEs). In this work, we introduce a novel framework for adapting pre-trained, unconstrained flow-matching models to satisfy constraints exactly in a zero-shot manner without requiring expensive gradient computations or fine-tuning. Our framework, ECI sampling, alternates between extrapolation (E), correction (C), and interpolation (I) stages during each iterative sampling step of flow matching sampling to ensure accurate integration of constraint information while preserving the validity of the generation. We demonstrate the effectiveness of our approach across various PDE systems, showing that ECI-guided generation strictly adheres to physical constraints and accurately captures complex distribution shifts induced by these constraints. Empirical results demonstrate that our framework consistently outperforms baseline approaches in various zero-shot constrained generation tasks and also achieves competitive results in the regression tasks without additional fine-tuning.","url_abs":"https://arxiv.org/abs/2412.01786v1","url_pdf":"https://arxiv.org/pdf/2412.01786v1.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":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.01786","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.01786"}},"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/amazon-science/ECI-sampling","reach":null}],"summary":{"ran":1,"unverified":4},"by_repo_kind":{"found_in_text":{"samples":5,"ran":1,"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":"38c2ce607fe79137","entry":"make_grid","repo":"amazon-science/ECI-sampling","repo_kind":"found_in_text","path":"models/functional.py","file_url":"https://github.com/amazon-science/ECI-sampling/blob/HEAD/models/functional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"38c2ce607fe79137"}},{"code_sha256_prefix":"3b6a375ea1871184","entry":"Constraint","repo":"amazon-science/ECI-sampling","repo_kind":"found_in_text","path":"models/functional.py","file_url":"https://github.com/amazon-science/ECI-sampling/blob/HEAD/models/functional.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b6a375ea1871184"}},{"code_sha256_prefix":"17cbe0a1e49aaf65","entry":"FFM","repo":"amazon-science/ECI-sampling","repo_kind":"found_in_text","path":"models/functional.py","file_url":"https://github.com/amazon-science/ECI-sampling/blob/HEAD/models/functional.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"17cbe0a1e49aaf65"}},{"code_sha256_prefix":"c3d45ea49d6bdab9","entry":"GPPrior","repo":"amazon-science/ECI-sampling","repo_kind":"found_in_text","path":"models/functional.py","file_url":"https://github.com/amazon-science/ECI-sampling/blob/HEAD/models/functional.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c3d45ea49d6bdab9"}},{"code_sha256_prefix":"0a1b0408f31215c2","entry":"NoneConstraint","repo":"amazon-science/ECI-sampling","repo_kind":"found_in_text","path":"models/functional.py","file_url":"https://github.com/amazon-science/ECI-sampling/blob/HEAD/models/functional.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0a1b0408f31215c2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}