{"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/deep-learning-the-spanwise-averaged-navier","title":"Deep learning the spanwise-averaged Navier--Stokes equations","arxiv_id":"2008.07528","date":"2020-08-17","proceeding":null,"authors":["Bernat Font","Gabriel D. Weymouth","Vinh-Tan Nguyen","Owen R. Tutty"],"abstract":"Simulations of turbulent fluid flow around long cylindrical structures are computationally expensive because of the vast range of length scales, requiring simplifications such as dimensional reduction. Current dimensionality reduction techniques such as strip-theory and depth-averaged methods do not take into account the natural flow dissipation mechanism inherent in the small-scale three-dimensional (3-D) vortical structures. We propose a novel flow decomposition based on a local spanwise average of the flow, yielding the spanwise-averaged Navier-Stokes (SANS) equations. The SANS equations include closure terms accounting for the 3-D effects otherwise not considered in 2-D formulations. A supervised machine-learning (ML) model based on a deep convolutional neural network provides closure to the SANS system. A-priori results show up to 92% correlation between target and predicted closure terms; more than an order of magnitude better than the eddy viscosity model correlation. The trained ML model is also assessed for different Reynolds regimes and body shapes to the training case where, despite some discrepancies in the shear-layer region, high correlation values are still observed. The new SANS equations and ML closure model are also used for a-posteriori prediction. While we find evidence of known stability issues with long time ML predictions for dynamical systems, the closed SANS simulations are still capable of predicting wake metrics and induced forces with errors from 1-10%. This results in approximately an order of magnitude improvement over standard 2-D simulations while reducing the computational cost of 3-D simulations by 99.5%.","url_abs":"http://arxiv.org/abs/2008.07528v1","url_pdf":"http://arxiv.org/pdf/2008.07528v1.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":"deep-learning-the-spanwise-averaged-navier","repo_url":"https://github.com/b-fg/SANSpy","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.07528","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.07528"}},"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/b-fg/SANSpy","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"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":"905a288577623794","entry":"absolute_file_paths","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/utils.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/utils.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":"905a288577623794"}},{"code_sha256_prefix":"9559d1d9e75d9e27","entry":"cc","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/metrics.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/metrics.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":"9559d1d9e75d9e27"}},{"code_sha256_prefix":"11e5967688fd2117","entry":"ccp","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/metrics.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/metrics.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":"11e5967688fd2117"}},{"code_sha256_prefix":"4f5b653fe64de32d","entry":"get_df","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/utils.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/utils.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":"4f5b653fe64de32d"}},{"code_sha256_prefix":"9ba5975605c85b37","entry":"mae","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/losses.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/losses.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":"9ba5975605c85b37"}},{"code_sha256_prefix":"0c2cbee40d8dbd0b","entry":"mem_usage","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/utils.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/utils.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":"0c2cbee40d8dbd0b"}},{"code_sha256_prefix":"a2f9dcde8c8a8ae5","entry":"mse","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/losses.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/losses.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":"a2f9dcde8c8a8ae5"}},{"code_sha256_prefix":"778dfa6f89ec9ccb","entry":"sse","repo":"b-fg/SANSpy","repo_kind":"official","path":"sanspy/losses.py","file_url":"https://github.com/b-fg/SANSpy/blob/HEAD/sanspy/losses.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":"778dfa6f89ec9ccb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}