Update Brusselators with Multiple Shooting#1228
Conversation
This update enhances the 2D Brusselator PDE Universal Differential Equation (UDE) example by implementing a multiple shooting training strategy.
CI Failure AnalysisThe documentation build is timing out (16+ hours) because the training example runs for 10,000 iterations during the docs build. Issues Found
Fixes RequiredApply this patch to fix the issues: diff --git a/docs/src/examples/pde/brusselator.md b/docs/src/examples/pde/brusselator.md
index 48503b8e..791822df 100644
--- a/docs/src/examples/pde/brusselator.md
+++ b/docs/src/examples/pde/brusselator.md
@@ -13,7 +13,7 @@ The Brusselator PDE is defined on a unit square periodic domain as follows:
\`\`\`
\`\`\`math
-\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2
+\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2 V
\`\`\`
where $A=3.4, B=1$ and the forcing term is:
@@ -58,7 +58,7 @@ V(x, y + 1, t) = V(x, y, t)
\`\`\`
## Numerical Discretization
-f
+
To numerically solve this PDE, we discretize the unit square domain using $N$ grid points along each spatial dimension. The variables $U[i,j]$ and $V[i,j]$ then denote the concentrations at the grid point $(i, j)$ at a given time $t$.
We represent the spatially discretized fields as:
@@ -301,7 +301,7 @@ end
Finally to run everything:
\`\`\`@example bruss
-res = solve(optprob, Optimisers.Adam(0.01), callback=callback, maxiters=10000)
+res = solve(optprob, Optimisers.Adam(0.01), callback=callback, maxiters=100)
\`\`\`
\`\`\`@example brussThe main fix is reducing |
Action Required@sharvmurgai The CI is failing because the documentation build times out. Please apply these three changes to Change 1 (Line 16): Fix incomplete equation -\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2
+\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2 VChange 2 (Line 61): Remove stray 'f' character ## Numerical Discretization
-f
+
To numerically solve this PDE, we discretize the unit square domain using...Change 3 (Line 304): Reduce training iterations for docs build -res = solve(optprob, Optimisers.Adam(0.01), callback=callback, maxiters=10000)
+res = solve(optprob, Optimisers.Adam(0.01), callback=callback, maxiters=100)After making these changes, commit and push to your branch. The CI should complete successfully. |
Documentation Errors FoundI've identified two documentation errors that are likely causing the CI build to fail: 1. Incomplete equation (line 16)The second PDE equation is missing Should be: 2. Stray character (line 61)There's a stray ## Numerical Discretization
f
To numerically solve this PDE...Should be: ## Numerical Discretization
To numerically solve this PDE...Suggested FixPlease update
These should resolve the CI failures. cc @ChrisRackauckas @sharvmurgai 🤖 Generated with Claude Code |
CI Failure AnalysisThe documentation build is failing due to two typos in Issues Found
Fixes NeededLine 16 - Change: To: Line 61 - Remove the standalone Diff-\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2
+\frac{\partial V}{\partial t} = AU - U^2V + \alpha \nabla^2 V
## Numerical Discretization
-f
+
To numerically solve this PDE, we discretize the unit square domain...These fixes should resolve the CI failures. Once applied, the documentation should build successfully. |
Documentation Build Timeout IssueThe CI is failing because the documentation build is timing out (ran for 16+ hours). I've identified three issues in Issues Found:
The 10000 iterations is causing the documentation build to run for many hours and timeout. The original brusselator example used 100 iterations, which is sufficient to demonstrate the methodology while allowing docs to build in a reasonable time. @ChrisRackauckas Could you please apply these fixes? They should resolve the CI timeout issue. 🤖 Generated with Claude Code |
Updated the PDE equations and adjusted the maximum iterations for the solver.
PR Status: Needs RebaseThis PR is currently 183 commits behind master and includes outdated source code changes that conflict with the current codebase. The branch was forked from an old version of SciMLSensitivity.jl. Key Issues:
What's Valuable:The Multiple Shooting documentation for the Brusselator example in Recommended Next Steps:
Alternatively, rebase this branch onto current master and resolve the conflicts, keeping only the brusselator documentation additions. 🤖 Generated with Claude Code |
Checklist
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
Additional context
Add any other context about the problem here.