diff --git a/.gitignore b/.gitignore index 29126e4..eb8b210 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ docs/site/ # committed for packages, but should be committed for applications that require a static # environment. Manifest.toml + +# Mac +.DS_Store \ No newline at end of file diff --git a/Project.toml b/Project.toml index 6e4aa22..cccc680 100644 --- a/Project.toml +++ b/Project.toml @@ -11,6 +11,7 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78" OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +RuntimeGeneratedFunctions = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] @@ -26,6 +27,7 @@ julia = "1.6" [extras] Lux = "b2108857-7c20-44ae-9111-449ecde12c47" MethodOfLines = "94925ecb-adb7-4558-8ed8-f975c56a0bf4" +NeuralPDE = "315f7962-48a3-4962-8226-d0f33b1235f0" NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e" SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" diff --git a/lib/brusselator.jl b/lib/brusselator.jl index 919b5a0..6af55ae 100644 --- a/lib/brusselator.jl +++ b/lib/brusselator.jl @@ -138,7 +138,7 @@ function brusselator_2d() tags = ["2D", "Brusselator", "Periodic", "Nonlinear", "Reaction", "Diffusion"] @named bruss = PDESystem(eq, bcs, domains, [x, y, t], [u(x, y, t), v(x, y, t)], - analytic_func = analytic_func, metadata = tags) + analytic_func = analytic_func, metadata = tags, eval_module = @__MODULE__) bruss end diff --git a/lib/burgers.jl b/lib/burgers.jl index 24f4933..3e02e86 100644 --- a/lib/burgers.jl +++ b/lib/burgers.jl @@ -33,7 +33,7 @@ function inviscid_burgers_monotonic() tags = ["1D", "Monotonic", "Inviscid", "Burgers", "Advection", "Dirichlet"] @named inviscid_burgers_monotonic = PDESystem(eq, bcs, domains, [t, x], [u(t, x)]; - analytic = analytic, metadata = tags) + analytic = analytic, metadata = tags, eval_module = @__MODULE__) inviscid_burgers_monotonic end @@ -100,7 +100,7 @@ function burgers_2d() 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)], - analytic = analytic, metadata = tags) + analytic = analytic, metadata = tags, eval_module = @__MODULE__) burgers_2d end diff --git a/lib/general_linear_system.jl b/lib/general_linear_system.jl index 9804fd0..b6c250d 100644 --- a/lib/general_linear_system.jl +++ b/lib/general_linear_system.jl @@ -24,7 +24,7 @@ end function build_with_tags(sys, tags) eq, ic_bc, domain, indvars, depvars, analytic, name = sys sys = PDESystem(eq, ic_bc, domain, indvars, depvars, name = name, - analytic = analytic, metadata = tags) + analytic = analytic, metadata = tags, eval_module = @__MODULE__) return sys end diff --git a/lib/linear_convection.jl b/lib/linear_convection.jl index 9051a9e..e9ecd6a 100644 --- a/lib/linear_convection.jl +++ b/lib/linear_convection.jl @@ -179,7 +179,7 @@ function linear_convection_dirichlet2(f, ps, name = :linear_convection) # PDE system lin_conv = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [v => ps[1]], - analytic = u_exact, metadata = tags, name = name) + analytic = u_exact, metadata = tags, name = name, eval_module = @__MODULE__) lin_conv end @@ -254,7 +254,7 @@ function linear_convection_dirichlet3(f, h, ps, name = :linear_convection) # PDE system lin_conv = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], [v => ps[1]], - analytic = u_exact, metadata = tags, name = name) + analytic = u_exact, metadata = tags, name = name, eval_module = @__MODULE__) lin_conv end @@ -397,7 +397,7 @@ function convection_diffusion(L, ps, name = :convection_diffusion) # PDE system convdiff = PDESystem(eq, bcs, domains, [t, z], [f(t, z)], [k => ps[1], v => ps[2]], analytic_func = ref, metadata = tags, - name = name) + name = name, eval_module = @__MODULE__) convdiff end @@ -459,7 +459,7 @@ function trans_sin() # PDESystem @named trans_sin = PDESystem(eqs, bcs, domains, [t, z], [u(t, z)], analytic = ref, - metadata = tags) + metadata = tags, eval_module = @__MODULE__) trans_sin end diff --git a/lib/linear_diffusion.jl b/lib/linear_diffusion.jl index 5197c40..3a19cdf 100644 --- a/lib/linear_diffusion.jl +++ b/lib/linear_diffusion.jl @@ -30,7 +30,7 @@ function heat_1d1() tags = ["1D", "Dirichlet", "Linear", "Diffusion", "Heat"] @named heat_1d1 = PDESystem(eqs, bcs, domains, [t, x], [u(t, x)], [D => 1.0], - analytic = analytic, metadata = tags) + analytic = analytic, metadata = tags, eval_module = @__MODULE__) heat_1d1 end @@ -74,6 +74,6 @@ function heat_1d_neumann() tags = ["1D", "Neumann", "Linear", "Diffusion", "Heat"] # PDE system @named pdesys = PDESystem(eq, bcs, domains, [t, x], [u(t, x)], analytic = analytic, - metadata = tags) + metadata = tags, eval_module = @__MODULE__) end push!(all_systems, heat_1d_neumann()) diff --git a/lib/nonlinear_diffusion.jl b/lib/nonlinear_diffusion.jl index 9d0ae14..51f98f2 100644 --- a/lib/nonlinear_diffusion.jl +++ b/lib/nonlinear_diffusion.jl @@ -33,7 +33,7 @@ function spherical_laplacian() # PDE system @named sph = PDESystem(eq, bcs, domains, [t, r], [u(t, r)], analytic = u_exact, - metadata = tags) + metadata = tags, eval_module = @__MODULE__) sph end diff --git a/src/PDESystemLibrary.jl b/src/PDESystemLibrary.jl index a0b49ce..205ac91 100644 --- a/src/PDESystemLibrary.jl +++ b/src/PDESystemLibrary.jl @@ -2,6 +2,7 @@ module PDESystemLibrary using ModelingToolkit, DomainSets using OrdinaryDiffEq using Interpolations +using RuntimeGeneratedFunctions import SciMLBase @@ -11,6 +12,7 @@ using Markdown using Random Random.seed!(100) +RuntimeGeneratedFunctions.init(@__MODULE__) all_systems = []