{"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/physics-aware-recurrent-convolutional-parc","title":"PARC: Physics-Aware Recurrent Convolutional Neural Networks to Assimilate Meso-scale Reactive Mechanics of Energetic Materials","arxiv_id":"2204.07234","date":"2022-04-04","proceeding":null,"authors":["Phong C. H. Nguyen","Yen-Thi Nguyen","Joseph B. Choi","Pradeep K. Seshadri","H. S. Udaykumar","Stephen Baek"],"abstract":"The thermo-mechanical response of shock-initiated energetic materials (EM) is highly influenced by their microstructures, presenting an opportunity to engineer EM microstructure in a \"materials-by-design\" framework. However, the current design practice is limited, as a large ensemble of simulations is required to construct the complex EM structure-property-performance linkages. We present the Physics-Aware Recurrent Convolutional (PARC) Neural Network, a deep-learning algorithm capable of learning the mesoscale thermo-mechanics of EM from a modest number of high-resolution direct numerical simulations (DNS). Validation results demonstrated that PARC could predict the themo-mechanical response of shocked EM with a comparable accuracy to DNS but with notably less computation time. The physics awareness of PARC enhances its modeling capabilities and generalizability, especially when challenged in unseen prediction scenarios. We also demonstrate that visualizing the artificial neurons at PARC can shed light on important aspects of EM thermos-mechanics and provide an additional lens for conceptualizing EM.","url_abs":"https://arxiv.org/abs/2204.07234v3","url_pdf":"https://arxiv.org/pdf/2204.07234v3.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":"physics-aware-recurrent-convolutional-parc","repo_url":"https://github.com/stephenbaek/parc","is_official":1,"mentioned_in_paper":1,"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=2204.07234","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.07234"}},"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/stephenbaek/parc","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"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":"3c86215eb1a53b7a","entry":"animation_graph","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/graphs.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/graphs.py","link_basis":"harvester_set","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":"3c86215eb1a53b7a"}},{"code_sha256_prefix":"506f0763495a653b","entry":"calculate_hotspot_tempNarea","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/visualization.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/visualization.py","link_basis":"harvester_set","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":"506f0763495a653b"}},{"code_sha256_prefix":"8ef49ede4dca00c7","entry":"calculate_hotspot_tempNarea_rateOfChange","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/visualization.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/visualization.py","link_basis":"harvester_set","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":"8ef49ede4dca00c7"}},{"code_sha256_prefix":"e7ed94c9b5d8be0c","entry":"compute_KLD","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/metrics.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/metrics.py","link_basis":"harvester_set","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":"e7ed94c9b5d8be0c"}},{"code_sha256_prefix":"b8e7c2fa70e3ef61","entry":"compute_quantitative_evaluation_sensitivity","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/metrics.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/metrics.py","link_basis":"harvester_set","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":"b8e7c2fa70e3ef61"}},{"code_sha256_prefix":"3d0a64d377f3c142","entry":"plot_field_evolution","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/visualization.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/visualization.py","link_basis":"harvester_set","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":"3d0a64d377f3c142"}},{"code_sha256_prefix":"b6f78266a0720d6a","entry":"r2","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/losses.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/losses.py","link_basis":"harvester_set","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":"b6f78266a0720d6a"}},{"code_sha256_prefix":"c334a16f1a049ae4","entry":"rmse","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/losses.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/losses.py","link_basis":"harvester_set","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":"c334a16f1a049ae4"}},{"code_sha256_prefix":"a85ed6099a6a5d47","entry":"scale_temperature","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/misc.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/misc.py","link_basis":"harvester_set","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":"a85ed6099a6a5d47"}},{"code_sha256_prefix":"5c0ea854a4fbdf7e","entry":"split_data","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/IO.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/IO.py","link_basis":"harvester_set","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":"5c0ea854a4fbdf7e"}},{"code_sha256_prefix":"25dc29ac81b78e48","entry":"step_weighted_loss","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/losses.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/losses.py","link_basis":"harvester_set","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":"25dc29ac81b78e48"}},{"code_sha256_prefix":"fed5674b8ebdb3bc","entry":"wave_map","repo":"stephenbaek/parc","repo_kind":"official","path":"parc/IO.py","file_url":"https://github.com/stephenbaek/parc/blob/HEAD/parc/IO.py","link_basis":"harvester_set","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":"fed5674b8ebdb3bc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}