{"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-gaussian-process-based-multi-fidelity","title":"Deep Gaussian Process-based Multi-fidelity Bayesian Optimization for Simulated Chemical Reactors","arxiv_id":"2210.17213","date":"2022-10-31","proceeding":null,"authors":["Tom Savage","Nausheen Basha","Omar Matar Ehecatl","Antonio Del-Rio Chanona"],"abstract":"New manufacturing techniques such as 3D printing have recently enabled the creation of previously infeasible chemical reactor designs. Optimizing the geometry of the next generation of chemical reactors is important to understand the underlying physics and to ensure reactor feasibility in the real world. This optimization problem is computationally expensive, nonlinear, and derivative-free making it challenging to solve. In this work, we apply deep Gaussian processes (DGPs) to model multi-fidelity coiled-tube reactor simulations in a Bayesian optimization setting. By applying a multi-fidelity Bayesian optimization method, the search space of reactor geometries is explored through an amalgam of different fidelity simulations which are chosen based on prediction uncertainty and simulation cost, maximizing the use of computational budget. The use of DGPs provides an end-to-end model for five discrete mesh fidelities, enabling less computational effort to gain good solutions during optimization. The accuracy of simulations for these five fidelities is determined against experimental data obtained from a 3D printed reactor configuration, providing insights into appropriate hyper-parameters. We hope this work provides interesting insight into the practical use of DGP-based multi-fidelity Bayesian optimization for engineering discovery.","url_abs":"https://arxiv.org/abs/2210.17213v1","url_pdf":"https://arxiv.org/pdf/2210.17213v1.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":"deep-gaussian-process-based-multi-fidelity","repo_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"},{"task_slug":"gaussian-processes","task_name":"Gaussian Processes"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2210.17213","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.17213"}},"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/optimal-pse-lab/pulsed-reactor-optimisation","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"listed":{"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":"8c19f888b7d8287f","entry":"angular_distance","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_both.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_both.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":"8c19f888b7d8287f"}},{"code_sha256_prefix":"ad1dbf3214875771","entry":"compute_mutual_info","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils_gp.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils_gp.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":"ad1dbf3214875771"}},{"code_sha256_prefix":"2d80a930a7909e37","entry":"exp_design_function","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils_gp.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils_gp.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":"2d80a930a7909e37"}},{"code_sha256_prefix":"f914bb034fbe46c4","entry":"exp_design_hf","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils_gp.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils_gp.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":"f914bb034fbe46c4"}},{"code_sha256_prefix":"42c4b8839b4ec7a2","entry":"format_data","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils.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":"42c4b8839b4ec7a2"}},{"code_sha256_prefix":"721211fed75787ee","entry":"mean_std","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils.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":"721211fed75787ee"}},{"code_sha256_prefix":"0987413217de1d2f","entry":"normalise","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/utils.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":"0987413217de1d2f"}},{"code_sha256_prefix":"2c8388bebe784bb1","entry":"rotate_x","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_basic.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_basic.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":"2c8388bebe784bb1"}},{"code_sha256_prefix":"f4ea90a0269cb71d","entry":"rotate_x_simple","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_experimental.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_experimental.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":"f4ea90a0269cb71d"}},{"code_sha256_prefix":"a693e601e8768688","entry":"rotate_y","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_basic.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_basic.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":"a693e601e8768688"}},{"code_sha256_prefix":"1640622ed1bb755a","entry":"rotate_z","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_basic.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_basic.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":"1640622ed1bb755a"}},{"code_sha256_prefix":"ea6852881d861795","entry":"rotate_z","repo":"optimal-pse-lab/pulsed-reactor-optimisation","repo_kind":"listed","path":"mesh_generation/coil_both.py","file_url":"https://github.com/optimal-pse-lab/pulsed-reactor-optimisation/blob/HEAD/mesh_generation/coil_both.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":"ea6852881d861795"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}