From 31afd3ce4a0f86b14ef1d8f2633d381ed1dfba6a Mon Sep 17 00:00:00 2001 From: sivasathyaseeelan Date: Sun, 12 Jan 2025 17:53:22 +0530 Subject: [PATCH 1/2] added tests for SDEFunctionExpr Signed-off-by: sivasathyaseeelan --- test/sdesystem.jl | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/test/sdesystem.jl b/test/sdesystem.jl index 8069581dcc..d25f9b3111 100644 --- a/test/sdesystem.jl +++ b/test/sdesystem.jl @@ -868,3 +868,55 @@ end @test length(ModelingToolkit.get_noiseeqs(sys)) == 1 @test length(observed(sys)) == 1 end + +@testset "SDEFunctionExpr" begin + @parameters σ ρ β + @variables x(tt) y(tt) z(tt) + + eqs = [D(x) ~ σ * (y - x), + D(y) ~ x * (ρ - z) - y, + D(z) ~ x * y - β * z] + + noiseeqs = [0.1 * x, + 0.1 * y, + 0.1 * z] + + @named sys = ODESystem(eqs, tt, [x, y, z], [σ, ρ, β]) + + @named de = SDESystem(eqs, noiseeqs, tt, [x, y, z], [σ, ρ, β], tspan = (0.0, 10.0)) + de = complete(de) + + f = SDEFunctionExpr(de) + @test f isa Expr + + @testset "Configuration Tests" begin + # Test with `tgrad` + f_tgrad = SDEFunctionExpr(de; tgrad = true) + @test f_tgrad isa Expr + + # Test with `jac` + f_jac = SDEFunctionExpr(de; jac = true) + @test f_jac isa Expr + + # Test with sparse Jacobian + f_sparse = SDEFunctionExpr(de; sparse = true) + @test f_sparse isa Expr + end + + @testset "Mass Matrix Handling" begin + # Test with default mass matrix + @test eval(SDEFunctionExpr(de).args[7]) == UniformScaling{Bool}(true) + + # Test with non-trivial mass matrix + u0 = [1.0, 2.0, 3.0] + f_mass = SDEFunctionExpr(de, u0 = u0) + @test f_mass isa Expr + end + + @testset "Ordering Tests" begin + dvs = [z, y, x] + ps = [β, ρ, σ] + f_order = SDEFunctionExpr(de, dvs, ps) + @test f_order isa Expr + end +end \ No newline at end of file From fe704edc86b39d5e72df3091140b22f6b5bca38d Mon Sep 17 00:00:00 2001 From: sivasathyaseeelan Date: Tue, 14 Jan 2025 03:24:34 +0530 Subject: [PATCH 2/2] modified test Signed-off-by: sivasathyaseeelan --- test/sdesystem.jl | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/test/sdesystem.jl b/test/sdesystem.jl index d25f9b3111..1593458b63 100644 --- a/test/sdesystem.jl +++ b/test/sdesystem.jl @@ -903,16 +903,6 @@ end @test f_sparse isa Expr end - @testset "Mass Matrix Handling" begin - # Test with default mass matrix - @test eval(SDEFunctionExpr(de).args[7]) == UniformScaling{Bool}(true) - - # Test with non-trivial mass matrix - u0 = [1.0, 2.0, 3.0] - f_mass = SDEFunctionExpr(de, u0 = u0) - @test f_mass isa Expr - end - @testset "Ordering Tests" begin dvs = [z, y, x] ps = [β, ρ, σ]