From f0af7508fb147834e61596296683b65b17c5be16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jun 2026 01:54:36 +0000 Subject: [PATCH 1/5] Update DomainSets requirement from 0.6, 0.7 to 0.6, 0.7, 0.8 Updates the requirements on [DomainSets](https://github.com/JuliaApproximation/DomainSets.jl) to permit the latest version. Updates `DomainSets` to 0.8.0 - [Release notes](https://github.com/JuliaApproximation/DomainSets.jl/releases) - [Commits](https://github.com/JuliaApproximation/DomainSets.jl/commits/v0.8.0) --- updated-dependencies: - dependency-name: DomainSets dependency-version: 0.8.0 dependency-type: direct:production dependency-group: all-julia-packages ... Signed-off-by: dependabot[bot] --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index b7ba701..1908d09 100644 --- a/Project.toml +++ b/Project.toml @@ -14,7 +14,7 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] -DomainSets = "0.6, 0.7" +DomainSets = "0.6, 0.7, 0.8" Interpolations = "0.14, 0.15, 0.16" Lux = "1" Markdown = "1" From 6eec151c90de3197ee87440314164d4e051d3481 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Fri, 10 Jul 2026 05:04:34 -0400 Subject: [PATCH 2/5] Support DomainSets 0.8 with MethodOfLines 0.11.14 Co-Authored-By: Chris Rackauckas --- Project.toml | 6 ++-- lib/burgers.jl | 67 +++++++++++------------------------------ lib/linear_diffusion.jl | 6 ++-- src/PDESystemLibrary.jl | 2 +- test/mol_test.jl | 16 +++------- 5 files changed, 31 insertions(+), 66 deletions(-) diff --git a/Project.toml b/Project.toml index 1908d09..ed918c3 100644 --- a/Project.toml +++ b/Project.toml @@ -5,6 +5,7 @@ version = "0.1.4" [deps] DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" +FunctionMaps = "a85aefff-f8ca-4649-a888-c8e5398bc76c" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78" @@ -14,11 +15,12 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] -DomainSets = "0.6, 0.7, 0.8" +DomainSets = "0.7.17, 0.8" +FunctionMaps = "0.1" Interpolations = "0.14, 0.15, 0.16" Lux = "1" Markdown = "1" -MethodOfLines = "0.11.12, 0.12" +MethodOfLines = "0.11.14, 0.12" ModelingToolkit = "9.7.1, 10, 11.27" NonlinearSolve = "4.12" OptimizationOptimJL = "0.3, 0.4" diff --git a/lib/burgers.jl b/lib/burgers.jl index f7119c5..f20b1f6 100644 --- a/lib/burgers.jl +++ b/lib/burgers.jl @@ -70,71 +70,40 @@ function burgers_2d() u_exact(x, y, t) = 3 / 4 - 1 / (4 * (1 + exp(R * (-t - 4x + 4y) / 32))) v_exact(x, y, t) = 3 / 4 + 1 / (4 * (1 + exp(R * (-t - 4x + 4y) / 32))) analytic = [ - u(x, y, t) ~ u_exact(x, y, t), - v(x, y, t) ~ v_exact(x, y, t), + u(t, x, y) ~ u_exact(x, y, t), + v(t, x, y) ~ v_exact(x, y, t), ] eq = [ - Dt(u(x, y, t)) + u(x, y, t) * Dx(u(x, y, t)) + v(x, y, t) * Dy(u(x, y, t)) ~ - (1 / R) * - ( - Dxx( - u( - x, - y, - t - ) - ) + - Dyy( - u( - x, - y, - t - ) - ) - ), - Dt(v(x, y, t)) + u(x, y, t) * Dx(v(x, y, t)) + v(x, y, t) * Dy(v(x, y, t)) ~ - (1 / R) * - ( - Dxx( - v( - x, - y, - t - ) - ) + - Dyy( - v( - x, - y, - t - ) - ) - ), + Dt(u(t, x, y)) + u(t, x, y) * Dx(u(t, x, y)) + v(t, x, y) * Dy(u(t, x, y)) ~ + (1 / R) * (Dxx(u(t, x, y)) + Dyy(u(t, x, y))), + Dt(v(t, x, y)) + u(t, x, y) * Dx(v(t, x, y)) + v(t, x, y) * Dy(v(t, x, y)) ~ + (1 / R) * (Dxx(v(t, x, y)) + Dyy(v(t, x, y))), ] domains = [ + t ∈ Interval(t_min, t_max), x ∈ Interval(x_min, x_max), y ∈ Interval(y_min, y_max), - t ∈ Interval(t_min, t_max), ] bcs = [ - u(x, y, 0) ~ u_exact(x, y, 0), - u(0, y, t) ~ u_exact(0, y, t), - u(x, 0, t) ~ u_exact(x, 0, t), - u(1, y, t) ~ u_exact(1, y, t), - u(x, 1, t) ~ u_exact(x, 1, t), v(x, y, 0) ~ v_exact(x, y, 0), - v(0, y, t) ~ v_exact(0, y, t), - v(x, 0, t) ~ v_exact(x, 0, t), - v(1, y, t) ~ v_exact(1, y, t), - v(x, 1, t) ~ v_exact(x, 1, t), + u(0, x, y) ~ u_exact(x, y, 0), + u(t, 0, y) ~ u_exact(0, y, t), + u(t, x, 0) ~ u_exact(x, 0, t), + u(t, 1, y) ~ u_exact(1, y, t), + u(t, x, 1) ~ u_exact(x, 1, t), + v(0, x, y) ~ v_exact(x, y, 0), + v(t, 0, y) ~ v_exact(0, y, t), + v(t, x, 0) ~ v_exact(x, 0, t), + v(t, 1, y) ~ v_exact(1, y, t), + v(t, x, 1) ~ v_exact(x, 1, t), ] tags = ["2D", "Non-Monotonic", "Viscous", "Burgers", "Advection", "Dirichlet"] @named burgers_2d = PDESystem( - eq, bcs, domains, [t, x, y], [u(x, y, t), v(x, y, t)], + eq, bcs, domains, [t, x, y], [u(t, x, y), v(t, x, y)], analytic = analytic, metadata = tags ) diff --git a/lib/linear_diffusion.jl b/lib/linear_diffusion.jl index b97b6ee..630c48f 100644 --- a/lib/linear_diffusion.jl +++ b/lib/linear_diffusion.jl @@ -12,10 +12,10 @@ The equation is given by: ``` """ function heat_1d1() - @variables x t u(..) - @parameters D + @parameters x t D + @variables u(..) - Dxx = Differential(x) + Dxx = Differential(x)^2 Dt = Differential(t) eqs = [Dt(u(t, x)) ~ D * Dxx(u(t, x))] diff --git a/src/PDESystemLibrary.jl b/src/PDESystemLibrary.jl index fc413a9..2d1d3fa 100644 --- a/src/PDESystemLibrary.jl +++ b/src/PDESystemLibrary.jl @@ -1,5 +1,5 @@ module PDESystemLibrary -using ModelingToolkit, DomainSets +using ModelingToolkit, DomainSets, FunctionMaps using OrdinaryDiffEq using OrdinaryDiffEqSDIRK using Interpolations diff --git a/test/mol_test.jl b/test/mol_test.jl index f4aff06..8655014 100644 --- a/test/mol_test.jl +++ b/test/mol_test.jl @@ -14,16 +14,10 @@ N = 100 # them requires either an upwind/finite-volume discretization or an explicit # solver such as `Vern9()`. # -# `:advdiff3` is also unstable, but only on Julia >= 1.13: on earlier versions -# the integrator's adaptive step keeps it under control, while changes to -# floating-point tie-breaking / lowering on 1.13 push the solver over the -# stiffness threshold and FBDF aborts with `dt < eps`. Tracked conditionally -# so we keep regression coverage on lts/1.x and don't false-fail on 1.13+. -const BROKEN_EXAMPLES = if VERSION >= v"1.13-" - Set([:adv3, :advdiff3]) -else - Set([:adv3]) -end +const BROKEN_EXAMPLES = Set([:adv3]) +# `:advdiff3` has diffusion, but the third-order term still makes the default +# FBDF solve hit `dt < eps`; Rodas5P keeps this example covered. +const EXAMPLE_ALGORITHMS = Dict(:advdiff3 => Rodas5P()) for ex in PSL.all_systems @testset "Example: $(ex.name)" begin @@ -63,7 +57,7 @@ for ex in PSL.all_systems false end else - sol = solve(prob, FBDF()) + sol = solve(prob, get(EXAMPLE_ALGORITHMS, ex.name, FBDF())) @test sol.retcode == SciMLBase.ReturnCode.Success end end From aabbb2dff3ad4ad0c1fc5d2dd62fe0adead5c3b2 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Fri, 10 Jul 2026 06:10:09 -0400 Subject: [PATCH 3/5] Trigger CI after MethodOfLines registration Co-Authored-By: Chris Rackauckas From 7a8b0958e022061d60fe6a1e728840fe2e6bfcea Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Fri, 10 Jul 2026 07:34:57 -0400 Subject: [PATCH 4/5] Raise MTK floor for MethodOfLines 0.11.14 Co-Authored-By: Chris Rackauckas --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index ed918c3..bebeb8c 100644 --- a/Project.toml +++ b/Project.toml @@ -21,7 +21,7 @@ Interpolations = "0.14, 0.15, 0.16" Lux = "1" Markdown = "1" MethodOfLines = "0.11.14, 0.12" -ModelingToolkit = "9.7.1, 10, 11.27" +ModelingToolkit = "11.30.1" NonlinearSolve = "4.12" OptimizationOptimJL = "0.3, 0.4" OrdinaryDiffEq = "6.80.0, 7" From 996242453b8b0e267898be3a38d03928bd95f87f Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sat, 11 Jul 2026 01:45:15 -0400 Subject: [PATCH 5/5] Trigger CI after MethodOfLines package-server update Co-Authored-By: Chris Rackauckas