{"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/afbench-a-large-scale-benchmark-for-airfoil","title":"AFBench: A Large-scale Benchmark for Airfoil Design","arxiv_id":"2406.18846","date":"2024-06-27","proceeding":null,"authors":["Jian Liu","Jianyu Wu","Hairun Xie","Guoqing Zhang","Jing Wang","Wei Liu","Wanli Ouyang","Junjun Jiang","Xianming Liu","Shixiang Tang","Miao Zhang"],"abstract":"Data-driven generative models have emerged as promising approaches towards achieving efficient mechanical inverse design. However, due to prohibitively high cost in time and money, there is still lack of open-source and large-scale benchmarks in this field. It is mainly the case for airfoil inverse design, which requires to generate and edit diverse geometric-qualified and aerodynamic-qualified airfoils following the multimodal instructions, \\emph{i.e.,} dragging points and physical parameters. This paper presents the open-source endeavors in airfoil inverse design, \\emph{AFBench}, including a large-scale dataset with 200 thousand airfoils and high-quality aerodynamic and geometric labels, two novel and practical airfoil inverse design tasks, \\emph{i.e.,} conditional generation on multimodal physical parameters, controllable editing, and comprehensive metrics to evaluate various existing airfoil inverse design methods. Our aim is to establish \\emph{AFBench} as an ecosystem for training and evaluating airfoil inverse design methods, with a specific focus on data-driven controllable inverse design models by multimodal instructions capable of bridging the gap between ideas and execution, the academic research and industrial applications. We have provided baseline models, comprehensive experimental observations, and analysis to accelerate future research. Our baseline model is trained on an RTX 3090 GPU within 16 hours. The codebase, datasets and benchmarks will be available at \\url{https://hitcslj.github.io/afbench/}.","url_abs":"https://arxiv.org/abs/2406.18846v2","url_pdf":"https://arxiv.org/pdf/2406.18846v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"afbench-a-large-scale-benchmark-for-airfoil","repo_url":"https://github.com/hitcslj/afbench","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.18846","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.18846"}},"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/hitcslj/Xfoil-cal","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/hitcslj/AFBench","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hitcslj/afbench","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"found_in_text":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"c30567687574b713","entry":"find_cl_cd","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"check_valid_aero.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/check_valid_aero.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":"c30567687574b713"}},{"code_sha256_prefix":"6f2e5b47c4f94a34","entry":"getOutputFileName","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"_utils.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/_utils.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":"6f2e5b47c4f94a34"}},{"code_sha256_prefix":"0cecc649cd728624","entry":"get_1d_sincos_pos_embed_from_grid","repo":"hitcslj/AFBench","repo_kind":"official","path":"models/dit.py","file_url":"https://github.com/hitcslj/AFBench/blob/HEAD/models/dit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0cecc649cd728624"}},{"code_sha256_prefix":"56866a97799eb986","entry":"is_numeric_string","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"check_valid_aero.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/check_valid_aero.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":"56866a97799eb986"}},{"code_sha256_prefix":"06cbe0f855b210fd","entry":"load_config","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"sequence_calc.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/sequence_calc.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":"06cbe0f855b210fd"}},{"code_sha256_prefix":"03310bba324ae4fb","entry":"modulate","repo":"hitcslj/AFBench","repo_kind":"official","path":"models/dit.py","file_url":"https://github.com/hitcslj/AFBench/blob/HEAD/models/dit.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"03310bba324ae4fb"}},{"code_sha256_prefix":"bf1b390abffb23a7","entry":"process_file","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"check_valid.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/check_valid.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":"bf1b390abffb23a7"}},{"code_sha256_prefix":"54b2c1ba109bdef5","entry":"read_file","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"check_valid_geo.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/check_valid_geo.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":"54b2c1ba109bdef5"}},{"code_sha256_prefix":"0e727f0c60eb459b","entry":"restricted_float","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"_utils.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/_utils.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":"0e727f0c60eb459b"}},{"code_sha256_prefix":"111d2e64e145c96d","entry":"process_file","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"check_valid_aero.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/check_valid_aero.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":"111d2e64e145c96d"}},{"code_sha256_prefix":"0f1c90c9a1a189ce","entry":"smooth_plot","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"_utils.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/_utils.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":"0f1c90c9a1a189ce"}},{"code_sha256_prefix":"b182009eabe3ff24","entry":"write_xfoil_input","repo":"hitcslj/Xfoil-cal","repo_kind":"found_in_text","path":"sequence_calc.py","file_url":"https://github.com/hitcslj/Xfoil-cal/blob/HEAD/sequence_calc.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":"b182009eabe3ff24"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}