Skip to content

Comments

Add TI-DeepONet DPC heat notebook example#268

Open
Parv621 wants to merge 11 commits intopnnl:developfrom
SOLARIS-JHU:feature/TI_DON_DPC
Open

Add TI-DeepONet DPC heat notebook example#268
Parv621 wants to merge 11 commits intopnnl:developfrom
SOLARIS-JHU:feature/TI_DON_DPC

Conversation

@Parv621
Copy link

@Parv621 Parv621 commented Feb 10, 2026

Notebook: Add TI-DeepONet DPC heat notebook example

Summary

  • Add a differentiable predictive control (DPC) notebook for the heat equation using a trained TI-DeepONet model within Neuromancer. Demonstrates end-to-end policy learning via long-horizon rollouts with differentiable physics.

Changes

  • examples/control/Part_7_TIDON_DPC_HEAT.ipynb adds a DPC example for PDE control based on TI-DeepONet, including problem setup, policy parameterization, rollout-based loss construction, and training using Neuromancer.

Context

  • Recreates the DPC framework for PDE control using TI-DeepONet (time-integrated Deep Operator Network), following the methodology in prior DPC literature and the reference implementation in PDEControl_DPC.
  • Uses a pretrained TI-DeepONet model from examples/neural_operators/Part_8_TIDON_HEAT.ipynb as a differentiable surrogate of the heat-equation dynamics.
  • The neural operator enables backpropagation through long rollouts, allowing gradients of the control objective with respect to policy parameters.
  • The objective is to learn a feedback control policy for a distributed parameter system using differentiable predictive control implemented in Neuromancer.

References

  • Sarkar, D. R., Drgoňa, J., & Goswami, S. (2025). Learning to Control PDEs with Differentiable Predictive Control and Time-Integrated Neural Operators. arXiv:2511.08992.

Testing

  • Not run (not needed).

@Parv621 Parv621 marked this pull request as ready for review February 10, 2026 02:04
@drgona
Copy link
Collaborator

drgona commented Feb 11, 2026

@Parv621 both the file and notebook have import that is not included in the toml file

import gpytorch

Do we need this?

@Parv621
Copy link
Author

Parv621 commented Feb 11, 2026

@Parv621 both the file and notebook have import that is not included in the toml file

import gpytorch

Do we need this?

Added dependency as discussed

@drgona
Copy link
Collaborator

drgona commented Feb 14, 2026

@Parv621 the examples also contain custom file paths:
data_path = "/home/pk222/projects/PDEControl_DPC/datasets/heat_smooth_f_dataset.npz"

Please remove all unnecessary data loads, the notebooks should be self-contained.
If really necessary to load any sort of file, do it in a similar fashin we handle it in this notebook:
neural DAEs

code example:

# Raw URL of area.dat
url = "https://raw.githubusercontent.com/pnnl/NeuralDAEs/master/training/area.dat"

# Download and save the file locally
response = requests.get(url)
with open("area.dat", "wb") as f:
    f.write(response.content)
area_data = np.loadtxt('area.dat')

@Parv621
Copy link
Author

Parv621 commented Feb 20, 2026

@Parv621 the examples also contain custom file paths: data_path = "/home/pk222/projects/PDEControl_DPC/datasets/heat_smooth_f_dataset.npz"

Please remove all unnecessary data loads, the notebooks should be self-contained. If really necessary to load any sort of file, do it in a similar fashin we handle it in this notebook: neural DAEs

code example:

# Raw URL of area.dat
url = "https://raw.githubusercontent.com/pnnl/NeuralDAEs/master/training/area.dat"

# Download and save the file locally
response = requests.get(url)
with open("area.dat", "wb") as f:
    f.write(response.content)
area_data = np.loadtxt('area.dat')

Added open OneDrive links for the best model

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants