{"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/towards-physics-informed-deep-learning-for-1","title":"Towards Physics-informed Deep Learning for Turbulent Flow Prediction","arxiv_id":"1911.08655","date":"2019-11-20","proceeding":null,"authors":["Rui Wang","Karthik Kashinath","Mustafa Mustafa","Adrian Albert","Rose Yu"],"abstract":"While deep learning has shown tremendous success in a wide range of domains, it remains a grand challenge to incorporate physical principles in a systematic manner to the design, training, and inference of such models. In this paper, we aim to predict turbulent flow by learning its highly nonlinear dynamics from spatiotemporal velocity fields of large-scale fluid flow simulations of relevance to turbulence modeling and climate modeling. We adopt a hybrid approach by marrying two well-established turbulent flow simulation techniques with deep learning. Specifically, we introduce trainable spectral filters in a coupled model of Reynolds-averaged Navier-Stokes (RANS) and Large Eddy Simulation (LES), followed by a specialized U-net for prediction. Our approach, which we call turbulent-Flow Net (TF-Net), is grounded in a principled physics model, yet offers the flexibility of learned representations. We compare our model, TF-Net, with state-of-the-art baselines and observe significant reductions in error for predictions 60 frames ahead. Most importantly, our method predicts physical fields that obey desirable physical characteristics, such as conservation of mass, whilst faithfully emulating the turbulent kinetic energy field and spectrum, which are critical for accurate prediction of turbulent flows.","url_abs":"https://arxiv.org/abs/1911.08655v4","url_pdf":"https://arxiv.org/pdf/1911.08655v4.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":"towards-physics-informed-deep-learning-for-1","repo_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"prediction","task_name":"Prediction"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.08655","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.08655"}},"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/Rose-STL-Lab/Turbulent-Flow-Net","reach":null}],"summary":{"ran_draft_wrong":2,"ran_honours":1,"unverified":2},"by_repo_kind":{"listed":{"samples":5,"ran":3,"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":5,"samples":[{"code_sha256_prefix":"4581b355ccda7130","entry":"conv","repo":"Rose-STL-Lab/Turbulent-Flow-Net","repo_kind":"listed","path":"models/model.py","file_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net/blob/HEAD/models/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4581b355ccda7130"}},{"code_sha256_prefix":"7532429cea03119b","entry":"deconv","repo":"Rose-STL-Lab/Turbulent-Flow-Net","repo_kind":"listed","path":"models/model.py","file_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net/blob/HEAD/models/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7532429cea03119b"}},{"code_sha256_prefix":"ae6be1520090c7b6","entry":"train_epoch","repo":"Rose-STL-Lab/Turbulent-Flow-Net","repo_kind":"listed","path":"utils/train_utils.py","file_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net/blob/HEAD/utils/train_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ae6be1520090c7b6"}},{"code_sha256_prefix":"669c40a8f674ab74","entry":"eval_epoch","repo":"Rose-STL-Lab/Turbulent-Flow-Net","repo_kind":"listed","path":"utils/train_utils.py","file_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net/blob/HEAD/utils/train_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":"669c40a8f674ab74"}},{"code_sha256_prefix":"c22c10dcc86b0cfa","entry":"test_epoch","repo":"Rose-STL-Lab/Turbulent-Flow-Net","repo_kind":"listed","path":"utils/train_utils.py","file_url":"https://github.com/Rose-STL-Lab/Turbulent-Flow-Net/blob/HEAD/utils/train_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":"c22c10dcc86b0cfa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}