{"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/geometry-aware-inference-of-steady-state-pdes","title":"Geometry aware inference of steady state PDEs using Equivariant Neural Fields representations","arxiv_id":"2504.18591","date":"2025-04-24","proceeding":null,"authors":["Giovanni Catalani","Michael Bauerheim","Frédéric Tost","Xavier Bertrand","Joseph Morlier"],"abstract":"Recent advances in Neural Fields have enabled powerful, discretization-invariant methods for learning neural operators that approximate solutions of Partial Differential Equations (PDEs) on general geometries. Building on these developments, we introduce enf2enf, an encoder--decoder methodology for predicting steady-state Partial Differential Equations with non-parameterized geometric variability, based on recently proposed Equivariant Neural Field architectures. In enf2enf, input geometries are encoded into latent point cloud embeddings that inherently preserve geometric grounding and capture local phenomena. The resulting representations are then combined with global parameters and directly decoded into continuous output fields, thus efficiently modeling the coupling between geometry and physics. By leveraging the inductive biases of locality and translation invariance, our approach is able to capture fine-scale physical features as well as complex shape variations, thereby enhancing generalization and physical compliance. Extensive experiments on a high-fidelity aerodynamic dataset, a hyper-elastic material benchmark, and multi-element airfoil geometries, demonstrate that the proposed model achieves superior or competitive performance compared to state-of-the-art graph based, operator learning, and neural field methods. Notably, our method supports real time inference and zero-shot super-resolution, enabling efficient training on low-resolution meshes while maintaining high accuracy on full-scale discretizations.","url_abs":"https://arxiv.org/abs/2504.18591v1","url_pdf":"https://arxiv.org/pdf/2504.18591v1.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":"geometry-aware-inference-of-steady-state-pdes","repo_url":"https://github.com/giovannicatalani/enf2enf","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"geometry-aware-inference-of-steady-state-pdes","repo_url":"https://github.com/giovannicatalani/enf2enf_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"operator-learning","task_name":"Operator learning"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2504.18591","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2504.18591"}},"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/giovannicatalani/enf2enf_pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/giovannicatalani/enf2enf","reach":null}],"summary":{"ran":8,"ran_draft_wrong":1,"unverified":12},"by_repo_kind":{"official":{"samples":12,"ran":2,"repositories":1},"listed":{"samples":9,"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":21,"samples":[{"code_sha256_prefix":"01950c2286b8c5bd","entry":"EquivariantCrossAttentionBlock","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"01950c2286b8c5bd"}},{"code_sha256_prefix":"f96f997d6e2abd35","entry":"LightweightSelfAttention","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"f96f997d6e2abd35"}},{"code_sha256_prefix":"c4a8ce23fb021454","entry":"LightweightSelfAttentionBlock","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"c4a8ce23fb021454"}},{"code_sha256_prefix":"b047df5eb16e8df5","entry":"PointwiseFFN","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"b047df5eb16e8df5"}},{"code_sha256_prefix":"8819f70da5667e44","entry":"PolynomialFeatures","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8819f70da5667e44"}},{"code_sha256_prefix":"a5a7d626f722f100","entry":"RFFEmbedding","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"a5a7d626f722f100"}},{"code_sha256_prefix":"4a3aaeee05369da5","entry":"RFFNet","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"4a3aaeee05369da5"}},{"code_sha256_prefix":"f0074510b2f061bf","entry":"RelativePositionND","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.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":"f0074510b2f061bf"}},{"code_sha256_prefix":"f054958d6b9aefa4","entry":"get_embedding","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f054958d6b9aefa4"}},{"code_sha256_prefix":"f92c3aae39d5010b","entry":"BaseInvariant","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f92c3aae39d5010b"}},{"code_sha256_prefix":"f91a737d30243cab","entry":"EquivariantCrossAttention","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f91a737d30243cab"}},{"code_sha256_prefix":"616dbc508f19d734","entry":"EquivariantCrossAttention","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"616dbc508f19d734"}},{"code_sha256_prefix":"f8a2c75f277025d7","entry":"EquivariantCrossAttentionBlock","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f8a2c75f277025d7"}},{"code_sha256_prefix":"6b33d3c75d8bcb22","entry":"EquivariantCrossAttentionNeF","repo":"giovannicatalani/enf2enf_pytorch","repo_kind":"listed","path":"enf/steerable_attention/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf_pytorch/blob/HEAD/enf/steerable_attention/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b33d3c75d8bcb22"}},{"code_sha256_prefix":"1e764c41bd4d2fd9","entry":"EquivariantCrossAttentionNeF","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1e764c41bd4d2fd9"}},{"code_sha256_prefix":"b8d22bef1b05f093","entry":"FFNEmbedding","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b8d22bef1b05f093"}},{"code_sha256_prefix":"3ac0ff2b5cc925f8","entry":"Layer","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3ac0ff2b5cc925f8"}},{"code_sha256_prefix":"f432b0e4f365f6b4","entry":"PointwiseFFN","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f432b0e4f365f6b4"}},{"code_sha256_prefix":"225e8b23a6a66265","entry":"PolynomialEmbedding","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"225e8b23a6a66265"}},{"code_sha256_prefix":"231ac8ad5302d972","entry":"RFFEmbedding","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"231ac8ad5302d972"}},{"code_sha256_prefix":"79b478fb4b69b193","entry":"RFFNet","repo":"giovannicatalani/enf2enf","repo_kind":"official","path":"enf/models/equivariant_cross_attention_nef.py","file_url":"https://github.com/giovannicatalani/enf2enf/blob/HEAD/enf/models/equivariant_cross_attention_nef.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"79b478fb4b69b193"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}