Skip to content

Add Burgers 1D FD playground for temporal order-of-convergence study with IMEX-SDC#639

Merged
pancetta merged 3 commits intomasterfrom
copilot/test-temporal-order-convergence-burgers-1d
Mar 25, 2026
Merged

Add Burgers 1D FD playground for temporal order-of-convergence study with IMEX-SDC#639
pancetta merged 3 commits intomasterfrom
copilot/test-temporal-order-convergence-burgers-1d

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 25, 2026

Tests temporal convergence order of IMEX-SDC on the 1D viscous Burgers equation using manufactured solutions (MMS), demonstrating full collocation order for homogeneous BCs, order reduction for inhomogeneous time-dependent BCs, and order restoration via boundary lifting.

New playground: pySDC/playgrounds/Burgers_1D_FD/

Problem classes (Burgers_1D_FD.py)

Three MMS classes sharing a base with a 4th-order FD Laplacian and 4th-order FD first-derivative operator (to keep spatial error floor ~1e-12):

  • burgers_1d_homu_h = 0.1·sin(πx)·cos(t), homogeneous BCs. Autonomous f_impl = ν·A·u, no b_bc correction.
  • burgers_1d_inhomu_inh = 0.5 + 0.1·sin(πx)·cos(t) + 0.1x·sin(t), time-dependent right BC u(1,t) = 0.5 + 0.1·sin(t). f_impl = ν·A·u + ν·b_bc(t) with explicit time dependence.
  • burgers_1d_inhom_lift — same exact solution as burgers_1d_inhom, reformulated with boundary lifting E(x,t) = 0.5 + 0.1x·sin(t). Lifted variable v = u − E satisfies homogeneous BCs with v_ex = 0.1·sin(πx)·cos(t). Autonomous f_impl = ν·A·v, no b_bc correction.

IMEX split: diffusion implicit (ν·A·u or ν·A·v), nonlinear advection + manufactured forcing explicit (-u·u_x + g, adjusted for lifting where applicable).

Convergence study (run_convergence.py)

M=3 RADAU-RIGHT, restol=1e-13, nvars=1023, ν=0.1, T_end=0.5:

Case Observed orders Expected
Homogeneous 4.96 → 5.03 → floor 5 (= 2M−1)
Inhomogeneous (b_bc) 3.55 → 3.74 → 3.92 → floor ~4 (= 2M−2)
Inhomogeneous (lift) 4.93 → 4.96 → floor 5 (= 2M−1)

The time-dependent right BC enters f_impl via b_bc(t), breaking the autonomous structure and reducing collocation order by 1. Boundary lifting removes b_bc from f_impl, restoring the full collocation order — consistent with the Allen-Cahn playground findings in #637.


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI and others added 2 commits March 25, 2026 15:12
@pancetta
Copy link
Copy Markdown
Member

@copilot Now add boundary lifting as #637 and check if this helps here, too.

@pancetta pancetta marked this pull request as ready for review March 25, 2026 15:43
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 25, 2026

@copilot Now add boundary lifting as #637 and check if this helps here, too.

Added burgers_1d_inhom_lift in commit 6fab8ee. The lift is E(x,t) = 0.5 + 0.1x·sin(t), which makes v = u − E satisfy homogeneous BCs with v_ex = 0.1·sin(πx)·cos(t). The implicit operator is now the autonomous ν·A·v (no b_bc), and run_convergence.py now runs all three cases. Confirmed results:

  • Homogeneous: order 4.96 → 5.03 (full order 5)
  • Inhomogeneous (b_bc): order 3.55 → 3.74 → 3.92 (reduction to ~4)
  • Inhomogeneous (lift): order 4.93 → 4.96 (full order 5 restored)

Copilot AI requested a review from pancetta March 25, 2026 15:45
@pancetta pancetta merged commit e9e6b0c into master Mar 25, 2026
3 checks passed
@brownbaerchen brownbaerchen deleted the copilot/test-temporal-order-convergence-burgers-1d branch April 9, 2026 11:57
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