diff --git a/Project.toml b/Project.toml index 747636b..41958e0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "FiniteVolumeMethod" uuid = "d4f04ab7-4f65-4d72-8a28-7087bc7f46f4" authors = ["Daniel VandenHeuvel "] -version = "0.4.5" +version = "0.4.6" [deps] ChunkSplitters = "ae650224-84b6-46f8-82ea-d812ca08434e" diff --git a/docs/src/example_list.md b/docs/src/example_list.md index 30bc371..e72f255 100644 --- a/docs/src/example_list.md +++ b/docs/src/example_list.md @@ -15,7 +15,6 @@ using SteadyStateDiffEq using LinearAlgebra using ElasticArrays using NonlinearSolve -using FastLapackInterface using Krylov ``` diff --git a/docs/src/mean_exit_time.md b/docs/src/mean_exit_time.md index 7adbf80..add897e 100644 --- a/docs/src/mean_exit_time.md +++ b/docs/src/mean_exit_time.md @@ -109,7 +109,6 @@ using OrdinaryDiffEq using SteadyStateDiffEq using LinearSolve using LinearAlgebra -using FastLapackInterface R = 1.0 θ = LinRange(0, 2π, 100) diff --git a/docs/src/reaction_diffusion.md b/docs/src/reaction_diffusion.md index 64a7bbe..f4dc756 100644 --- a/docs/src/reaction_diffusion.md +++ b/docs/src/reaction_diffusion.md @@ -56,7 +56,7 @@ prob = FVMProblem(mesh, BCs; diffusion_function=D, reaction_function=R, initial_ ## Step 4: Solve using OrdinaryDiffEq, LinearSolve -alg = FBDF(linsolve=UMFPACKFactorization()) +alg = FBDF(linsolve=UMFPACKFactorization(), autodiff=false) sol = solve(prob, alg; saveat=0.025) ## Step 5: Visualisation diff --git a/test/Project.toml b/test/Project.toml index 910b654..933eaef 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -6,7 +6,6 @@ DelaunayTriangulation = "927a84f5-c5f4-47a5-9785-b46e178433df" DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" ElasticArrays = "fdbdab4c-e67f-52f5-8c3f-e7b388dad3d4" FastGaussQuadrature = "442a2c76-b920-505d-bb47-c5924d526838" -FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/test/boundary_conditions.jl b/test/boundary_conditions.jl index df45222..a46ef6d 100644 --- a/test/boundary_conditions.jl +++ b/test/boundary_conditions.jl @@ -52,7 +52,7 @@ end # Test the type-stability for a vector of functions function vector_of_function_test(wrappers, parameters) nums = zeros(length(wrappers)) - @inline map(wrappers, eachindex(wrappers), parameters) do f, i, p + map(wrappers, eachindex(wrappers), parameters) do f, i, p x, y, t, u = rand(4) nums[i] = f(x, y, t, u, p) end diff --git a/test/geometry.jl b/test/geometry.jl index 08f0a01..05e806b 100644 --- a/test/geometry.jl +++ b/test/geometry.jl @@ -196,7 +196,7 @@ for coordinate_type in (Vector{Float64}, NTuple{2,Float64}, SVector{2,Float64}) ## Test the boundary information boundary_info = FVM.get_boundary_information(geo) boundary_elements = boundary_info.boundary_elements - + local boundary_nodes boundary_nodes = boundary_info.boundary_nodes true_boundary_nodes = collect(1:48) diff --git a/test/met_perturbed_circle.jl b/test/met_perturbed_circle.jl index 315987c..7fe2f6d 100644 --- a/test/met_perturbed_circle.jl +++ b/test/met_perturbed_circle.jl @@ -4,7 +4,6 @@ using CairoMakie using OrdinaryDiffEq using SteadyStateDiffEq using LinearSolve -using FastLapackInterface using LinearAlgebra using ReferenceTests using StableRNGs @@ -42,7 +41,7 @@ prob = FVMProblem(mesh, BCs; final_time=final_time, initial_condition=initial_guess, steady=true) -alg = DynamicSS(TRBDF2(linsolve=FastLUFactorization())) +alg = DynamicSS(TRBDF2(linsolve=KrylovJL_GMRES())) sol = solve(prob, alg, parallel=true) fig = Figure(fontsize=38) ax = Axis(fig[1, 1], xlabel=L"x", ylabel=L"y") diff --git a/test/parallel_reaction_example.jl b/test/parallel_reaction_example.jl index 308677e..3173c2b 100644 --- a/test/parallel_reaction_example.jl +++ b/test/parallel_reaction_example.jl @@ -31,13 +31,13 @@ R = (x, y, t, u, p) -> u * (1 - u) u₀ = [f(points[:, i]...) for i in axes(points, 2)] final_time = 0.5 prob = FVMProblem(mesh, BCs; iip_flux=false, diffusion_function=D, reaction_function=R, initial_condition=u₀, final_time) -alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false)) +alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false), autodiff = VERSION ≥ v"1.8.5") sol_par = solve(prob, alg; parallel=true, saveat=0.05) sol_ser = solve(prob, alg; parallel=false, saveat=0.05) @test sol_par.u ≈ sol_ser.u rtol=1e-7 prob = FVMProblem(mesh, BCs; iip_flux=true, diffusion_function=D, reaction_function=R, initial_condition=u₀, final_time) -alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false)) +alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false), autodiff = VERSION ≥ v"1.8.5") sol_par = solve(prob, alg; parallel=true, saveat=0.05) sol_ser = solve(prob, alg; parallel=false, saveat=0.05) @test sol_par.u ≈ sol_ser.u rtol=1e-7 \ No newline at end of file diff --git a/test/parallel_tissue_example.jl b/test/parallel_tissue_example.jl index 0cee997..7536c01 100644 --- a/test/parallel_tissue_example.jl +++ b/test/parallel_tissue_example.jl @@ -42,12 +42,12 @@ prob = FVMProblem(msh, BC; final_time=48.0, initial_condition=initial_condition) -alg = TRBDF2(linsolve=KLUFactorization()) +alg = TRBDF2(linsolve=KLUFactorization(), autodiff = VERSION ≥ v"1.8.5") sol_par = solve(prob, alg; parallel=true, saveat=0.05) sol_ser = solve(prob, alg; parallel=false, saveat=0.05) @test sol_par.u ≈ sol_ser.u -alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false)) +alg = TRBDF2(linsolve=KLUFactorization(; reuse_symbolic=false), autodiff = VERSION ≥ v"1.8.5") sol_par = solve(prob, alg; parallel=true, saveat=0.05) sol_ser = solve(prob, alg; parallel=false, saveat=0.05) @test sol_par.u ≈ sol_ser.u diff --git a/test/reaction_example.jl b/test/reaction_example.jl index 161c870..cbecfde 100644 --- a/test/reaction_example.jl +++ b/test/reaction_example.jl @@ -40,7 +40,7 @@ final_time = 0.10 prob = FVMProblem(mesh, BCs; diffusion_function=D, reaction_function=R, initial_condition=u₀, final_time) ## Step 4: Solve -alg = FBDF(linsolve=UMFPACKFactorization()) +alg = FBDF(linsolve=UMFPACKFactorization(), autodiff = false) sol = solve(prob, alg; saveat=0.025) ## Step 5: Visualisation