@@ -14,18 +14,18 @@ MOLFiniteDifference(dxs, time; upwind_order = 1, centered_order = 2) =
1414function SciMLBase. symbolic_discretize (pdesys:: ModelingToolkit.PDESystem ,discretization:: DiffEqOperators.MOLFiniteDifference )
1515 pdeeqs = pdesys. eqs isa Vector ? pdesys. eqs : [pdesys. eqs]
1616 t = discretization. time
17- nottime = filter (x-> x. val != t. val,pdesys. indvars)
17+ nottime = filter (x-> ~ isequal ( x. val, t. val) ,pdesys. indvars)
1818 nspace = length (nottime)
1919
2020 # Discretize space
2121 space = map (nottime) do x
22- xdomain = pdesys. domain[findfirst (d-> x. val == d. variables,pdesys. domain)]
22+ xdomain = pdesys. domain[findfirst (d-> isequal ( x. val, d. variables) ,pdesys. domain)]
2323 @assert xdomain. domain isa IntervalDomain
24- dx = discretization. dxs[findfirst (dxs-> x. val == dxs[1 ]. val,discretization. dxs)][2 ]
24+ dx = discretization. dxs[findfirst (dxs-> isequal ( x. val, dxs[1 ]. val) ,discretization. dxs)][2 ]
2525 dx isa Number ? (xdomain. domain. lower: dx: xdomain. domain. upper) : dx
2626 end
2727 # Get tspan
28- tdomain = pdesys. domain[findfirst (d-> t. val == d. variables,pdesys. domain)]
28+ tdomain = pdesys. domain[findfirst (d-> isequal ( t. val, d. variables) ,pdesys. domain)]
2929 @assert tdomain. domain isa IntervalDomain
3030 tspan = (tdomain. domain. lower,tdomain. domain. upper)
3131
@@ -77,7 +77,7 @@ function SciMLBase.symbolic_discretize(pdesys::ModelingToolkit.PDESystem,discret
7777 u0 = []
7878 bceqs = []
7979 for bc in pdesys. bcs
80- if ModelingToolkit. operation (bc. lhs) isa Sym && t. val ∉ ModelingToolkit. arguments (bc. lhs)
80+ if ModelingToolkit. operation (bc. lhs) isa Sym && ~ any (x -> isequal (x, t. val), ModelingToolkit. arguments (bc. lhs) )
8181 # initial condition
8282 # Assume in the form `u(...) ~ ...` for now
8383 push! (u0,vec (depvars[findfirst (isequal (bc. lhs),initmaps)] .=> substitute .((bc. rhs,),spacevals)))
0 commit comments