Skip to content

Commit d7e1e92

Browse files
Merge pull request #404 from SciML/sb/ps
refactor: pass in defaults in `transform_pde_system!`
2 parents afc1f7b + 13dfa1b commit d7e1e92

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

src/system_parsing/pde_system_transformation.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function PDEBase.transform_pde_system!(
3131
end
3232
end
3333

34-
sys = PDESystem(eqs, bcs, sys.domain, sys.ivs, Num.(v.ū), sys.ps, name = sys.name)
34+
sys = PDESystem(eqs, bcs, sys.domain, sys.ivs, Num.(v.ū), sys.ps, name = sys.name, defaults = sys.defaults)
3535
return sys
3636
end
3737

test/components/ODEFunction_test.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ bcs = [u(0, x) ~ x,
2626
domains = [t Interval(t_min, t_max),
2727
x Interval(x_min, x_max)]
2828

29-
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [a => 1.0],
30-
analytic_func = [u(t, x) => analytic_u])
29+
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [a],
30+
analytic_func = [u(t, x) => analytic_u], defaults = Dict(a => 1.0))
3131

3232
disc = MOLFiniteDifference([x => 30], t, advection_scheme = WENOScheme())
3333

test/pde_systems/MOL_1D_Linear_Diffusion.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ end
7878
x Interval(0.0, 1.0)]
7979

8080
# PDE system
81-
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [D => 10.0])
81+
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [D]; defaults = Dict(D => 10.0))
8282

8383
# Method of lines discretization
8484
dx = 1 / (5pi)
@@ -596,7 +596,7 @@ end
596596
x Interval(0.0, 1.0)]
597597

598598
@named pdesys = PDESystem(
599-
eqs, bcs, domains, [t, x], [u(t, x), v(t, x)], [Dn => 0.5, Dp => 2])
599+
eqs, bcs, domains, [t, x], [u(t, x), v(t, x)], [Dn, Dp]; defaults = Dict(Dn => 0.5, Dp => 2))
600600
discretization = MOLFiniteDifference([x => 0.1], t)
601601
prob = discretize(pdesys, discretization)
602602
# Make sure it can be solved

test/pde_systems/MOL_1D_Linear_Diffusion_NonUniform.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ end
8686
x Interval(0.0, 1.0)]
8787

8888
# PDE system
89-
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [D => 10.0])
89+
@named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [D]; defaults = Dict(D => 10.0))
9090

9191
# Method of lines discretization
9292
dx = 0.0:0.1:1.0
@@ -624,7 +624,7 @@ end
624624
rand(StableRNG(0), [0.001, -0.001], length(dx[2:(end - 1)]))
625625

626626
@named pdesys = PDESystem(
627-
eqs, bcs, domains, [t, x], [u(t, x), v(t, x)], [Dn => 0.5, Dp => 2])
627+
eqs, bcs, domains, [t, x], [u(t, x), v(t, x)], [Dn, Dp]; defaults = Dict(Dn => 0.5, Dp => 2))
628628
discretization = MOLFiniteDifference([x => dx], t)
629629
prob = discretize(pdesys, discretization)
630630
# Make sure it can be solved

test/pde_systems/MOLtest2.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ end
373373
Dt = Differential(t)
374374
Dx = Differential(x)
375375
Dxx = Differential(x)^2
376-
params = Symbolics.scalarize(reduce(vcat, [p .=> [1.5, 2.0], q .=> [1.2, 1.8]]))
376+
params = [p, q]
377377
# 1D PDE and boundary conditions
378378

379379
eqs = [Dt(u(t, x)[i]) ~ p[i] * Dxx(u(t, x)[i]) for i in 1:n_comp]
@@ -391,7 +391,7 @@ end
391391
# PDE system
392392

393393
@named pdesys = PDESystem(eqs, bcs_collected, domains, [t, x],
394-
[u(t, x)[i] for i in 1:n_comp], Symbolics.scalarize(params))
394+
[u(t, x)[i] for i in 1:n_comp], params; defaults = Dict(p => [1.5, 2.0], q => [1.2, 1.8]))
395395

396396
# Method of lines discretization
397397
dx = 0.1

0 commit comments

Comments
 (0)