diff --git a/Project.toml b/Project.toml index 407169208..a8c125058 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "VoronoiFVM" uuid = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" authors = ["Jürgen Fuhrmann ", "Dilara Abdel", "Jan Weidner", "Alexander Seiler", "Patricio Farrell", "Matthias Liero"] -version = "1.13.3" +version = "1.13.4" [deps] BandedMatrices = "aae01518-5342-5314-be14-df237901396f" diff --git a/docs/Project.toml b/docs/Project.toml index 567ab3d22..880152b79 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,18 +1,30 @@ [deps] +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +ExampleJuggler = "3bbe58f8-ed81-4c4e-a134-03e85fcf4a1a" ExtendableGrids = "cfc395e8-590f-11e8-1f13-43a2532b2fa8" +ExtendableSparse = "95c220a8-a1cf-11e9-0c77-dbfce5f500b3" +ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GridVisualize = "5eed8a63-0fb0-45eb-886d-8d5a387d12b8" -Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306" +HypertextLiteral = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" +ILUZero = "88f59080-6952-5380-9ea5-54057fb9a43f" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781" -PlutoSliderServer = "2fc8631c-6f24-4c5b-bca7-cbb509c42db4" +PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" +Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" SimplexGridFactory = "57bfcd06-606e-45d6-baf4-4ba06da0efd5" +SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +StrideArraysCore = "7792a7ef-975c-4747-a70f-980b88e8d1da" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Triangulate = "f7e6ffb2-c36d-4f8f-a77e-16e897189344" +UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" VoronoiFVM = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" [compat] -Literate = ">=0.2.7" -Pluto = ">=0.17.4" Documenter = "1" +ExampleJuggler = "0.3.2" diff --git a/docs/make.jl b/docs/make.jl index f4ef405b0..86c5bf8da 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,175 +1,66 @@ -using Documenter, - VoronoiFVM, Literate, PlutoSliderServer, ExtendableGrids, GridVisualize, Pkg -using LinearAlgebra - -# -# Replace SOURCE_URL marker with github url of source -# -function replace_source_url(input, source_url) - lines_in = collect(eachline(IOBuffer(input))) - lines_out = IOBuffer() - for line in lines_in - println(lines_out, replace(line, "SOURCE_URL" => source_url)) - end - return String(take!(lines_out)) -end - - - - -function make_all(; with_examples = true, run_notebooks = true, example = nothing) - - generated_examples = [] - notebooks = [] - notebooks = [] - example_jl_dir = joinpath(@__DIR__, "..", "examples") - example_md_dir = joinpath(@__DIR__, "src", "examples") - notebook_html_dir = joinpath(@__DIR__, "src", "nbhtml") - - with_examples && rm(example_md_dir, recursive = true, force = true) - run_notebooks && rm(notebook_html_dir, recursive = true, force = true) - - if run_notebooks - notebookenv = joinpath(@__DIR__, "..", "pluto-examples") - Pkg.activate(notebookenv) - Pkg.develop(path = joinpath(@__DIR__, "..")) - Pkg.instantiate() - - ENV["PLUTO_PROJECT"] = notebookenv - notebooks = [ - "Outflow boundary conditions" => "outflow.jl", - "Obtaining vector fields" => "flux-reconstruction.jl", - "Internal interfaces (1D)" => "interfaces1d.jl", - "A case for caution" => "problemcase.jl", - "Nonlinear solver control" => "nonlinear-solvers.jl", - "API Updates" => "api-update.jl", - ] - - notebookjl = last.(notebooks) - notebookmd = [] - - # function rendernotebook(name) - # base=split(name,".")[1] - # input=joinpath(@__DIR__,"..","pluto-examples",base*".jl") - # output=joinpath(@__DIR__,"src","nbhtml",base*".html") - # session = Pluto.ServerSession(); - # html_contents=PlutoStaticHTML.notebook2html(input;session) - # write(output, html_contents) - # end - - - # for notebook in notebookjl - # @info "Converting $(notebook)" - # rendernotebook(notebook) - # end - - - - export_directory( - joinpath(@__DIR__, "..", "pluto-examples"), - notebook_paths = notebookjl, - Export_output_dir = joinpath(notebook_html_dir), - Export_offer_binder = false, - ) - - # generate frame markdown for each notebook - for notebook in notebookjl - base = split(notebook, ".")[1] - mdstring = """ -##### [$(base).jl](@id $(base)) - -[Download](https://github.com/j-fu/VoronoiFVM.jl/blob/master/pluto-examples/$(notebook)) - this [Pluto.jl](https://plutojl.org) this notebook. - -```@raw html - -``` -""" - # - mdname = base * ".md" - push!(notebookmd, joinpath("nbhtml", mdname)) - io = open(joinpath(notebook_html_dir, mdname), "w") - write(io, mdstring) - close(io) - end - - notebooks = first.(notebooks) .=> notebookmd - pushfirst!(notebooks, "About the notebooks" => "notebooks.md") - end - - - if with_examples - # - # Generate Markdown pages from examples - # - if example == nothing - example_sources = readdir(example_jl_dir) - else - example_sources = [example] - end - for example_source in example_sources - base, ext = splitext(example_source) - if ext == ".jl" - source_url = - "https://github.com/j-fu/VoronoiFVM.jl/raw/master/examples/" * - example_source - preprocess(buffer) = replace_source_url(buffer, source_url) - Literate.markdown( - joinpath(@__DIR__, "..", "examples", example_source), - example_md_dir, - documenter = false, - info = false, - preprocess = preprocess, - ) - end - end - - - generated_examples = - vcat(["runexamples.md"], joinpath.("examples", readdir(example_md_dir))) - end - - makedocs( - sitename = "VoronoiFVM.jl", - modules = [VoronoiFVM, VoronoiFVM.SolverStrategies], - checkdocs = :all, - clean = false, - doctest = true, - warnonly = true, - authors = "J. Fuhrmann", - repo = "https://github.com/j-fu/VoronoiFVM.jl", - pages = [ - "Home" => "index.md", - "changes.md", - "method.md", - "API Documentation" => [ - "system.md", - "physics.md", - "solutions.md", - "solver.md", - "post.md", - "quantities.md", - "misc.md", - "internal.md", - "allindex.md", - "devel.md", - ], - "Tutorial Notebooks" => notebooks, - "Examples" => generated_examples, - ], - ) - - with_examples && rm(example_md_dir, recursive = true, force = true) - run_notebooks && rm(notebook_html_dir, recursive = true, force = true) +using Documenter, ExampleJuggler, VoronoiFVM, ExtendableGrids + +function make_all(; with_examples = true, with_notebooks = true, example = nothing) + ExampleJuggler.verbose!(true) + + cleanexamples() + notebookdir = joinpath(@__DIR__, "..", "pluto-examples") + exampledir = joinpath(@__DIR__, "..", "examples") + + notebooks = [ + "Outflow boundary conditions" => "outflow.jl", + "Obtaining vector fields" => "flux-reconstruction.jl", + "Internal interfaces (1D)" => "interfaces1d.jl", + "A case for caution" => "problemcase.jl", + "Nonlinear solver control" => "nonlinear-solvers.jl", + "API Updates" => "api-update.jl", + ] + notebook_examples = @docplutonotebooks(notebookdir, notebooks, iframe=false) + notebook_examples = vcat(["About the notebooks" => "notebooks.md"], notebook_examples) + + modules = filter(ex -> splitext(ex)[2] == ".jl", basename.(readdir(exampledir))) + module_examples = @docmodules(exampledir, modules) + module_examples = vcat(["About the examples" => "runexamples.md"], module_examples) + + makedocs(; sitename = "VoronoiFVM.jl", + modules = [VoronoiFVM, VoronoiFVM.SolverStrategies], + checkdocs = :all, + clean = false, + doctest = false, + warnonly = true, + authors = "J. Fuhrmann", + repo = "https://github.com/j-fu/VoronoiFVM.jl", + format = Documenter.HTML(; size_threshold_ignore = last.(notebook_examples), + mathengine = MathJax3()), + pages = [ + "Home" => "index.md", + "changes.md", + "method.md", + "API Documentation" => [ + "system.md", + "physics.md", + "solutions.md", + "solver.md", + "post.md", + "quantities.md", + "misc.md", + "internal.md", + "allindex.md", + "devel.md", + ], + "Tutorial Notebooks" => notebook_examples, + "Examples" => module_examples, + ]) + + cleanexamples() if !isinteractive() - deploydocs(repo = "github.com/j-fu/VoronoiFVM.jl.git") + deploydocs(; repo = "github.com/j-fu/VoronoiFVM.jl.git") end end if isinteractive() - make_all(with_examples = false, run_notebooks = false) + make_all(; with_examples = false, with_notebooks = false) else - make_all(with_examples = true, run_notebooks = true) + make_all(; with_examples = true, with_notebooks = true) end - diff --git a/examples/Example001_Solvers.jl b/examples/Example001_Solvers.jl index b052a2c68..71d35fbbb 100644 --- a/examples/Example001_Solvers.jl +++ b/examples/Example001_Solvers.jl @@ -1,11 +1,11 @@ #= # 001: New linear solver API -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# module Example001_Solvers -# under development +## under development using Printf using VoronoiFVM @@ -15,14 +15,14 @@ using LinearSolve using ExtendableSparse using LinearAlgebra -function main(; n = 10, Plotter = nothing, assembly=:edgwwise, kwargs...) +function main(; n = 10, Plotter = nothing, assembly = :edgwwise, kwargs...) h = 1.0 / convert(Float64, n) X = collect(0.0:h:1.0) Y = collect(0.0:h:1.0) grid = VoronoiFVM.Grid(X, Y) - nn=num_nodes(grid) - + nn = num_nodes(grid) + eps = 1.0e-2 function reaction(f, u, node) @@ -78,20 +78,22 @@ function main(; n = 10, Plotter = nothing, assembly=:edgwwise, kwargs...) precon_linear = ILUZeroPreconditioner(), kwargs...) - @show [1:nn÷2, (nn÷2+1):nn] + @show [1:(nn ÷ 2), (nn ÷ 2 + 1):nn] @info "Krylov-block1" kryb1_sol = solve(sys; - inival = 0.5, - method_linear = KrylovJL_BICGSTAB(), - precon_linear = BlockPreconditioner(partitioning=[1:nn÷2, (nn÷2+1):nn],factorization=ILU0Preconditioner()), - kwargs...) + inival = 0.5, + method_linear = KrylovJL_BICGSTAB(), + precon_linear = BlockPreconditioner(; partitioning = [1:(nn ÷ 2), (nn ÷ 2 + 1):nn], + factorization = ILU0Preconditioner()), + kwargs...) @info "Krylov-block2" kryb2_sol = solve(sys; - inival = 0.5, - method_linear = KrylovJL_BICGSTAB(), - precon_linear = BlockPreconditioner(partitioning=[1:2:nn, 2:2:nn],factorization=UMFPACKFactorization()), - kwargs...) + inival = 0.5, + method_linear = KrylovJL_BICGSTAB(), + precon_linear = BlockPreconditioner(; partitioning = [1:2:nn, 2:2:nn], + factorization = UMFPACKFactorization()), + kwargs...) @info "Krylov - delayed factorization:" krydel_sol = solve(sys; @@ -117,7 +119,8 @@ function main(; n = 10, Plotter = nothing, assembly=:edgwwise, kwargs...) norm(kryjac_sol - umf_sol, Inf) < 1.0e-7 end -function test() - main(assembly=:edgewise) && main(assembly=:cellwise) +using Test +function runtests() + @test main(; assembly = :edgewise) && main(; assembly = :cellwise) end end diff --git a/examples/Example002_EdgeReaction.jl b/examples/Example002_EdgeReaction.jl index 9aa0b7eb7..dd015ffd5 100644 --- a/examples/Example002_EdgeReaction.jl +++ b/examples/Example002_EdgeReaction.jl @@ -1,5 +1,6 @@ -# # 002: check edge reaction -# ([source code](SOURCE_URL)) +#= + # 002: check edge reaction +=# module Example002_EdgeReaction @@ -12,7 +13,7 @@ using LinearAlgebra using SimplexGridFactory using Triangulate -function main(; nref = 0, dim = 2, Plotter = nothing, verbose = "and", case = :compare_max, assembly=:edgewise) +function main(; nref = 0, dim = 2, Plotter = nothing, verbose = "and", case = :compare_max, assembly = :edgewise) X = 0:(0.25 * 2.0^-nref):1 i0::Int = 0 i1::Int = 0 @@ -173,30 +174,31 @@ function main(; nref = 0, dim = 2, Plotter = nothing, verbose = "and", case = :c end end -function test() +using Test +function runtests() res = fill(false, 3) for dim = 1:3 - result_max = main(; case = :compare_max, assembly=:cellwise) - result_flux = main(; case = :compare_flux, assembly=:cellwise) + result_max = main(; case = :compare_max, assembly = :cellwise) + result_flux = main(; case = :compare_flux, assembly = :cellwise) res[dim] = isapprox(result_max[1], result_max[2]; atol = 1.0e-6) && isapprox(result_max[1], result_max[3]; atol = 1.0e-3) && isapprox(result_flux[1], result_flux[2]; atol = 1.0e-10) && isapprox(result_flux[1], result_flux[3]; atol = 1.0e-10) end - res1=all(a -> a, res) + res1 = all(a -> a, res) res = fill(false, 3) for dim = 1:3 - result_max = main(; case = :compare_max, assembly=:edgwise) - result_flux = main(; case = :compare_flux, assembly=:edgwise) + result_max = main(; case = :compare_max, assembly = :edgwise) + result_flux = main(; case = :compare_flux, assembly = :edgwise) res[dim] = isapprox(result_max[1], result_max[2]; atol = 1.0e-6) && isapprox(result_max[1], result_max[3]; atol = 1.0e-3) && isapprox(result_flux[1], result_flux[2]; atol = 1.0e-10) && isapprox(result_flux[1], result_flux[3]; atol = 1.0e-10) end - res2=all(a -> a, res) + res2 = all(a -> a, res) - res1&&res2 + @test res1 && res2 end end diff --git a/examples/Example101_Laplace1D.jl b/examples/Example101_Laplace1D.jl index 22703e530..ba6dfdcb1 100644 --- a/examples/Example101_Laplace1D.jl +++ b/examples/Example101_Laplace1D.jl @@ -1,7 +1,7 @@ #= # 101: 1D Laplace equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Let $\Omega=(\gamma_1,\gamma_2)$ with $\gamma_1=0$, $\gamma_2=1$. This is the simplest second order boundary value problem (BVP) @@ -120,10 +120,9 @@ function main() return sum(solution) end -## Called by unit test - -function test() - main() ≈ 3.0 +using Test +function runtests() + @test main() ≈ 3.0 end end diff --git a/examples/Example102_StationaryConvectionDiffusion1D.jl b/examples/Example102_StationaryConvectionDiffusion1D.jl index d313c7f06..ddd214266 100644 --- a/examples/Example102_StationaryConvectionDiffusion1D.jl +++ b/examples/Example102_StationaryConvectionDiffusion1D.jl @@ -1,7 +1,7 @@ #= # 102: 1D Stationary convection-diffusion equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Solve the equation @@ -124,9 +124,10 @@ function main(; n = 10, Plotter = nothing, verbose = false, D = 0.01, v = 1.0) return sum(solution_exponential) + sum(solution_upwind) + sum(solution_central) end -function test() +using Test +function runtests() testval = 2.523569744561089 - main() ≈ testval + @test main() ≈ testval end end diff --git a/examples/Example103_ConvectionDiffusion1D.jl b/examples/Example103_ConvectionDiffusion1D.jl index f08db2a3f..ae31d8c3d 100644 --- a/examples/Example103_ConvectionDiffusion1D.jl +++ b/examples/Example103_ConvectionDiffusion1D.jl @@ -1,7 +1,7 @@ #= # 103: 1D Convection-diffusion equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Solve the equation @@ -77,9 +77,10 @@ function main(; n = 10, Plotter = nothing, D = 0.01, v = 1.0, tend = 100) tsol end -function test() +using Test +function runtests() tsol = main() - maximum(tsol) <= 1.0 && maximum(tsol[end]) < 1.0e-20 + @test maximum(tsol) <= 1.0 && maximum(tsol[end]) < 1.0e-20 end end diff --git a/examples/Example105_NonlinearPoisson1D.jl b/examples/Example105_NonlinearPoisson1D.jl index 1f6b0a7e5..ebd4e3bba 100644 --- a/examples/Example105_NonlinearPoisson1D.jl +++ b/examples/Example105_NonlinearPoisson1D.jl @@ -1,6 +1,6 @@ #= # 105: 1D Nonlinear Poisson equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Solve the nonlinear Poisson equation @@ -27,7 +27,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise) +function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise) ## Create a one-dimensional discretization h = 1.0 / convert(Float64, n) @@ -66,7 +66,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s ## The difference is in the way the solution object ## is stored - as dense or as sparse matrix - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) ## Add species 1 to region 1 enable_species!(sys, 1, [1]) @@ -86,12 +86,13 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return sum(solution) end -function test() +using Test +function runtests() testval = 1.5247901344230088 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example106_NonlinearDiffusion1D.jl b/examples/Example106_NonlinearDiffusion1D.jl index 6aa0e0b90..2223858c5 100644 --- a/examples/Example106_NonlinearDiffusion1D.jl +++ b/examples/Example106_NonlinearDiffusion1D.jl @@ -1,7 +1,7 @@ #= # 106: 1D Nonlinear Diffusion equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Solve the nonlinear diffusion equation @@ -35,7 +35,7 @@ function barenblatt(x, t, m) end function main(; n = 20, m = 2, Plotter = nothing, verbose = false, - unknown_storage = :sparse, tend = 0.01, tstep = 0.0001, assembly=:edgewise) + unknown_storage = :sparse, tend = 0.01, tstep = 0.0001, assembly = :edgewise) ## Create a one-dimensional discretization h = 1.0 / convert(Float64, n / 2) @@ -61,7 +61,7 @@ function main(; n = 20, m = 2, Plotter = nothing, verbose = false, ## in the dense or the sparse version. ## The difference is in the way the solution object ## is stored - as dense or as sparse matrix - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) ## Add species 1 to region 1 enable_species!(sys, 1, [1]) @@ -98,12 +98,13 @@ function main(; n = 20, m = 2, Plotter = nothing, verbose = false, return sum(tsol[end]) end -function test() +using Test +function runtests() testval = 46.66666666647518 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example107_NonlinearStorage1D.jl b/examples/Example107_NonlinearStorage1D.jl index 43e2531f3..8d9ffe77a 100644 --- a/examples/Example107_NonlinearStorage1D.jl +++ b/examples/Example107_NonlinearStorage1D.jl @@ -1,7 +1,7 @@ #= # 107: 1D Nonlinear Storage -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) This equation comes from the transformation of the nonlinear diffuision equation. ```math @@ -31,7 +31,7 @@ function barenblatt(x, t, m) end function main(; n = 20, m = 2.0, Plotter = nothing, verbose = false, - unknown_storage = :sparse, tend = 0.01, tstep = 0.0001, assembly=:edgewise) + unknown_storage = :sparse, tend = 0.01, tstep = 0.0001, assembly = :edgewise) ## Create a one-dimensional discretization h = 1.0 / convert(Float64, n / 2) @@ -61,7 +61,7 @@ function main(; n = 20, m = 2.0, Plotter = nothing, verbose = false, ## in the dense or the sparse version. ## The difference is in the way the solution object ## is stored - as dense or as sparse matrix - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) ## Add species 1 to region 1 enable_species!(sys, 1, [1]) @@ -95,12 +95,13 @@ function main(; n = 20, m = 2.0, Plotter = nothing, verbose = false, return sum(tsol[end]) end -function test() +using Test +function runtests() testval = 175.20261258406686 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example110_ReactionDiffusion1D_TwoSpecies.jl b/examples/Example110_ReactionDiffusion1D_TwoSpecies.jl index 523dc57f2..322b89d44 100644 --- a/examples/Example110_ReactionDiffusion1D_TwoSpecies.jl +++ b/examples/Example110_ReactionDiffusion1D_TwoSpecies.jl @@ -1,5 +1,5 @@ # # 110: 1D Reaction Diffusion equation with two species -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) # # Solve the nonlinear coupled reaction diffusion problem # @@ -22,7 +22,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise) +function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise) h = 1 / n grid = VoronoiFVM.Grid(collect(0:h:1)) @@ -78,12 +78,13 @@ function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = : return u5 end -function test() +using Test +function runtests() testval = 0.7117546972922056 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example115_HeterogeneousCatalysis1D.jl b/examples/Example115_HeterogeneousCatalysis1D.jl index db1b1e44e..293083317 100644 --- a/examples/Example115_HeterogeneousCatalysis1D.jl +++ b/examples/Example115_HeterogeneousCatalysis1D.jl @@ -1,7 +1,7 @@ #= # 115: 1D heterogeneous catalysis - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Let $\Omega=(0,1)$, $\Gamma_1=\{0\}$, $\Gamma_2=\{1\}$ Regard a system of three species: $A,B,C$ and let @@ -61,7 +61,7 @@ using GridVisualize using LinearAlgebra function main(; n = 10, Plotter = nothing, verbose = false, tend = 1, - unknown_storage = :sparse, assembly=:edgewise) + unknown_storage = :sparse, assembly = :edgewise) h = 1.0 / convert(Float64, n) X = collect(0.0:h:1.0) N = length(X) @@ -172,11 +172,12 @@ function main(; n = 10, Plotter = nothing, verbose = false, tend = 1, return tsol[iC, 1, end] end -function test() +using Test +function runtests() testval = 0.87544440641274 - isapprox(main(; unknown_storage = :sparse, assembly=:edgewise), testval; rtol = 1.0e-12) && - isapprox(main(; unknown_storage = :dense, assembly=:edgewise), testval; rtol = 1.0e-12) && - isapprox(main(; unknown_storage = :sparse, assembly=:cellwise), testval; rtol = 1.0e-12) && - isapprox(main(; unknown_storage = :dense, assembly=:cellwise), testval; rtol = 1.0e-12) + @test isapprox(main(; unknown_storage = :sparse, assembly = :edgewise), testval; rtol = 1.0e-12) && + isapprox(main(; unknown_storage = :dense, assembly = :edgewise), testval; rtol = 1.0e-12) && + isapprox(main(; unknown_storage = :sparse, assembly = :cellwise), testval; rtol = 1.0e-12) && + isapprox(main(; unknown_storage = :dense, assembly = :cellwise), testval; rtol = 1.0e-12) end end diff --git a/examples/Example120_ThreeRegions1D.jl b/examples/Example120_ThreeRegions1D.jl index a43d06d96..c0fabcd94 100644 --- a/examples/Example120_ThreeRegions1D.jl +++ b/examples/Example120_ThreeRegions1D.jl @@ -1,5 +1,5 @@ # # 120: Differing species sets in regions, 1D -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) module Example120_ThreeRegions1D @@ -10,7 +10,7 @@ using GridVisualize using LinearSolve function main(; n = 30, Plotter = nothing, plot_grid = false, verbose = false, - unknown_storage = :sparse, tend = 10, rely_on_corrections = false, assembly=:edgewise) + unknown_storage = :sparse, tend = 10, rely_on_corrections = false, assembly = :edgewise) h = 3.0 / (n - 1) X = collect(0:h:3.0) grid = VoronoiFVM.Grid(X) @@ -92,7 +92,7 @@ function main(; n = 30, Plotter = nothing, plot_grid = false, verbose = false, end sys = VoronoiFVM.System(grid; flux, reaction, storage, source, - unknown_storage = unknown_storage, assembly=assembly) + unknown_storage = unknown_storage, assembly = assembly) enable_species!(sys, 1, [1]) enable_species!(sys, 2, [1, 2, 3]) @@ -139,16 +139,17 @@ function main(; n = 30, Plotter = nothing, plot_grid = false, verbose = false, return testval end -function test() +using Test +function runtests() testval = 0.0005967243505359461 - main(; unknown_storage = :sparse, rely_on_corrections = false, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, rely_on_corrections = false, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, rely_on_corrections = true, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, rely_on_corrections = true, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, rely_on_corrections = false, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, rely_on_corrections = false, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :sparse, rely_on_corrections = true, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, rely_on_corrections = true, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, rely_on_corrections = false, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, rely_on_corrections = false, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, rely_on_corrections = true, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, rely_on_corrections = true, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, rely_on_corrections = false, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, rely_on_corrections = false, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :sparse, rely_on_corrections = true, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, rely_on_corrections = true, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example121_PoissonPointCharge1D.jl b/examples/Example121_PoissonPointCharge1D.jl index 24f10b80c..8586200bc 100644 --- a/examples/Example121_PoissonPointCharge1D.jl +++ b/examples/Example121_PoissonPointCharge1D.jl @@ -1,6 +1,6 @@ #= # 121: 1D Poisson with point charge - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Solve a Poisson equation ```math @@ -20,7 +20,7 @@ using ExtendableGrids using GridVisualize function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = :sparse, - brea = false, assembly=:edgewise) + brea = false, assembly = :edgewise) ## Create grid in (-1,1) refined around 0 hmax = 0.2 / 2.0^nref @@ -61,7 +61,7 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = breaction = breaction!) ## Create system - sys = VoronoiFVM.System(grid, physics; unknown_storage = :dense, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = :dense, assembly = assembly) ## put potential into both regions enable_species!(sys, 1, [1, 2]) @@ -99,9 +99,10 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = return sum(U) end -function test() - testval=20.254591679579015 - main(assembly=:edgewise) ≈ testval && - main(assembly=:cellwise) ≈ testval +using Test +function runtests() + testval = 20.254591679579015 + @test main(; assembly = :edgewise) ≈ testval && + main(; assembly = :cellwise) ≈ testval end end diff --git a/examples/Example125_TestFunctions1D.jl b/examples/Example125_TestFunctions1D.jl index f2a2db8da..24af5b84c 100644 --- a/examples/Example125_TestFunctions1D.jl +++ b/examples/Example125_TestFunctions1D.jl @@ -1,6 +1,6 @@ #= # 125: Terminal flux calculation via test functions -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) For a rather comprehensive explanation see [225: Terminal flux calculation via test functions, nD](@ref) @@ -12,7 +12,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise) +function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise) h = 1 / n grid = VoronoiFVM.Grid(collect(0:h:1)) @@ -29,7 +29,7 @@ function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = : f[1] = u[1] f[2] = u[2] end) - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) enable_species!(sys, 1, [1]) enable_species!(sys, 2, [1]) @@ -64,11 +64,12 @@ function main(; n = 100, Plotter = nothing, verbose = false, unknown_storage = : return I1[1] end -function test() - testval=0.01 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval +using Test +function runtests() + testval = 0.01 + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example150_Impedance1D.jl b/examples/Example150_Impedance1D.jl index 39c5cb472..4cdaf4cd2 100644 --- a/examples/Example150_Impedance1D.jl +++ b/examples/Example150_Impedance1D.jl @@ -1,5 +1,5 @@ # # 150: Impedance calculation -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) # # Impedance calculation for # @@ -31,7 +31,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise, +function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise, L = 1.0, R = 1.0, D = 1.0, C = 1.0, ω0 = 1.0e-3, ω1 = 5.0e1) @@ -71,7 +71,7 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = storage = storage, reaction = reaction) # Create discrete system and enable species - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) enable_species!(sys, excited_spec, [1]) @@ -152,12 +152,13 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = sum(allIL) end -function test() +using Test +function runtests() testval = 57.92710286186797 + 23.163945443946027im - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example151_Impedance1D.jl b/examples/Example151_Impedance1D.jl index 486979c53..56b349f51 100644 --- a/examples/Example151_Impedance1D.jl +++ b/examples/Example151_Impedance1D.jl @@ -1,5 +1,5 @@ # # 151: Impedance calculation -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) # Same as Example150, but with new and more generic way of # passing the parameter. @@ -35,7 +35,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise, +function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise, L = 1.0, R = 1.0, D = 1.0, C = 1.0, ω0 = 1.0e-3, ω1 = 5.0e1) @@ -83,7 +83,7 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = reaction = reaction, bcondition = bc, nparams = 1, - species = 1,assembly=assembly) + species = 1, assembly = assembly) # Create test functions for current measurement @@ -159,12 +159,13 @@ function main(; nref = 0, Plotter = nothing, verbose = false, unknown_storage = sum(allIL) end -function test() +using Test +function runtests() testval = 57.92710286186797 + 23.163945443946027im - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example160_UnipolarDriftDiffusion1D.jl b/examples/Example160_UnipolarDriftDiffusion1D.jl index 0f3029dfe..1fedd10f9 100644 --- a/examples/Example160_UnipolarDriftDiffusion1D.jl +++ b/examples/Example160_UnipolarDriftDiffusion1D.jl @@ -1,7 +1,7 @@ #= # 160: Unipolar degenerate drift-diffusion -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) See: C. Cancès, C. Chainais-Hillairet, J. Fuhrmann, and B. Gaudeul, "A numerical-analysis-focused comparison of several finite volume schemes for a unipolar degenerate drift-diffusion model" IMA Journal of Numerical Analysis, vol. 41, no. 1, pp. 271–314, 2021. @@ -80,13 +80,12 @@ function bcondition!(f, u, bnode, data) end function main(; - n = 20, - Plotter = nothing, - dlcap = false, - verbose = false, - unknown_storage = :sparse, - assembly = :edgewise, -) + n = 20, + Plotter = nothing, + dlcap = false, + verbose = false, + unknown_storage = :sparse, + assembly = :edgewise,) h = 1.0 / convert(Float64, n) grid = VoronoiFVM.Grid(collect(0:h:1)) @@ -100,20 +99,17 @@ function main(; iphi = data.iphi physics = VoronoiFVM.Physics(; - data = data, - flux = sedanflux!, - reaction = reaction!, - breaction = bcondition!, - storage = storage!, - ) - - sys = VoronoiFVM.System( - grid, - physics; - unknown_storage = unknown_storage, - species = [1, 2], - assembly = assembly, - ) + data = data, + flux = sedanflux!, + reaction = reaction!, + breaction = bcondition!, + storage = storage!,) + + sys = VoronoiFVM.System(grid, + physics; + unknown_storage = unknown_storage, + species = [1, 2], + assembly = assembly,) inival = unknowns(sys) @views inival[iphi, :] .= 0 @@ -131,36 +127,30 @@ function main(; control.Δu_opt = 0.1 control.damp_initial = 0.5 - tsol = solve( - sys; - method_linear = UMFPACKFactorization(), - inival, - times = [0.0, 10], - control = control, - ) + tsol = solve(sys; + method_linear = UMFPACKFactorization(), + inival, + times = [0.0, 10], + control = control,) vis = GridVisualizer(; Plotter = Plotter, layout = (1, 1), fast = true) for log10t = -4:0.025:0 time = 10^(log10t) sol = tsol(time) - scalarplot!( - vis[1, 1], - grid, - sol[iphi, :]; - label = "ϕ", - title = @sprintf("time=%.3g", time), - flimits = (0, 5), - color = :green, - ) - scalarplot!( - vis[1, 1], - grid, - sol[ic, :]; - label = "c", - flimits = (0, 5), - clear = false, - color = :red, - ) + scalarplot!(vis[1, 1], + grid, + sol[iphi, :]; + label = "ϕ", + title = @sprintf("time=%.3g", time), + flimits = (0, 5), + color = :green,) + scalarplot!(vis[1, 1], + grid, + sol[ic, :]; + label = "c", + flimits = (0, 5), + clear = false, + color = :red,) reveal(vis) end return sum(tsol[end]) @@ -192,25 +182,21 @@ function main(; data.V = dir * phi + delta U = solve(sys; inival = U, control, time = 1.0) - scalarplot!( - vis[1, 1], - grid, - U[iphi, :]; - label = "ϕ", - title = @sprintf("Δϕ=%.3g", phi), - flimits = (-5, 5), - clear = true, - color = :green, - ) - scalarplot!( - vis[1, 1], - grid, - U[ic, :]; - label = "c", - flimits = (0, 5), - clear = false, - color = :red, - ) + scalarplot!(vis[1, 1], + grid, + U[iphi, :]; + label = "ϕ", + title = @sprintf("Δϕ=%.3g", phi), + flimits = (-5, 5), + clear = true, + color = :green,) + scalarplot!(vis[1, 1], + grid, + U[ic, :]; + label = "c", + flimits = (0, 5), + clear = false, + color = :red,) Qdelta = integrate(sys, physics.reaction, U) cdl = (Qdelta[iphi] - Q[iphi]) / delta @@ -226,14 +212,12 @@ function main(; v = vcat(reverse(vminus), vplus) c = vcat(reverse(cdlminus), cdlplus) if length(v) >= 2 - scalarplot!( - vis[2, 1], - v, - c; - color = :green, - clear = false, - title = "C_dl", - ) + scalarplot!(vis[2, 1], + v, + c; + color = :green, + clear = false, + title = "C_dl",) end phi += dphi @@ -245,53 +229,38 @@ function main(; end end -function test() - return true +using Test +function runtests() + return true if Sys.isapple() # skip this test - FP seems to behave differently @info "test skipped" return true else - isapprox( - main(; unknown_storage = :sparse, dlcap = false, assembly = :edgewise), - 18.721369939561963; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :sparse, dlcap = true, assembly = :edgewise), - 0.010759276468375045; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :dense, dlcap = false, assembly = :edgewise), - 18.721369939561963; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :dense, dlcap = true, assembly = :edgewise), - 0.010759276468375045; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :sparse, dlcap = false, assembly = :cellwise), - 18.721369939561963; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :sparse, dlcap = true, assembly = :cellwise), - 0.010759276468375045; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :dense, dlcap = false, assembly = :cellwise), - 18.721369939561963; - rtol = 1.0e-5, - ) && - isapprox( - main(; unknown_storage = :dense, dlcap = true, assembly = :cellwise), - 0.010759276468375045; - rtol = 1.0e-5, - ) + @test isapprox(main(; unknown_storage = :sparse, dlcap = false, assembly = :edgewise), + 18.721369939561963; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :sparse, dlcap = true, assembly = :edgewise), + 0.010759276468375045; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :dense, dlcap = false, assembly = :edgewise), + 18.721369939561963; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :dense, dlcap = true, assembly = :edgewise), + 0.010759276468375045; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :sparse, dlcap = false, assembly = :cellwise), + 18.721369939561963; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :sparse, dlcap = true, assembly = :cellwise), + 0.010759276468375045; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :dense, dlcap = false, assembly = :cellwise), + 18.721369939561963; + rtol = 1.0e-5,) && + isapprox(main(; unknown_storage = :dense, dlcap = true, assembly = :cellwise), + 0.010759276468375045; + rtol = 1.0e-5,) end end end diff --git a/examples/Example201_Laplace2D.jl b/examples/Example201_Laplace2D.jl index cb25abe6f..2cfc44557 100644 --- a/examples/Example201_Laplace2D.jl +++ b/examples/Example201_Laplace2D.jl @@ -1,7 +1,7 @@ #= # 201: 2D Laplace equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# @@ -16,14 +16,14 @@ function g!(f, u, edge) f[1] = u[1, 1] - u[1, 2] end -function main(; Plotter = nothing, n = 5, is_linear = true, assembly=:edgewise) +function main(; Plotter = nothing, n = 5, is_linear = true, assembly = :edgewise) nspecies = 1 ispec = 1 X = collect(0:(1.0 / n):1) grid = VoronoiFVM.Grid(X, X) physics = VoronoiFVM.Physics(; flux = g!) - sys = VoronoiFVM.System(grid, physics; is_linear = is_linear, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; is_linear = is_linear, assembly = assembly) enable_species!(sys, ispec, [1]) boundary_dirichlet!(sys, ispec, 1, 0.0) boundary_dirichlet!(sys, ispec, 3, 1.0) @@ -33,16 +33,17 @@ function main(; Plotter = nothing, n = 5, is_linear = true, assembly=:edgewise) scalarplot!(vis, grid, solution[1, :]; clear = true, colormap = :summer) vectorplot!(vis, grid, nf[:, 1, :]; clear = false, spacing = 0.1, vscale = 0.5) reveal(vis) - return norm(solution)+norm(nf) + return norm(solution) + norm(nf) end ## Called by unit test -function test() - testval= 9.63318042491699 +using Test +function runtests() + testval = 9.63318042491699 - main(assembly=:edgewise) ≈ testval && - main(assembly=:cellwise) ≈ testval + @test main(; assembly = :edgewise) ≈ testval && + main(; assembly = :cellwise) ≈ testval end end diff --git a/examples/Example203_CoordinateSystems.jl b/examples/Example203_CoordinateSystems.jl index ef3da5cee..51c1c52ba 100644 --- a/examples/Example203_CoordinateSystems.jl +++ b/examples/Example203_CoordinateSystems.jl @@ -1,7 +1,7 @@ #= # 203: Various coordinate systems -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# module Example203_CoordinateSystems @@ -59,13 +59,12 @@ on disk of radius r2, exact solution is `(r_2^2-r^2)/4`. In this case, the discretization appears to be exact. """ function maincylinder(; - nref = 0, - r2 = 5.0, - z1 = 0.0, - z2 = 1.0, - Plotter = nothing, - assembly = :edgewise, -) + nref = 0, + r2 = 5.0, + z1 = 0.0, + z2 = 1.0, + Plotter = nothing, + assembly = :edgewise,) h = 0.1 * 2.0^(-nref) R = collect(0:h:r2) Z = collect(z1:h:z2) @@ -90,9 +89,8 @@ In this case, the discretization appears to be exact. """ function maincylinder_unstruct(; Plotter = nothing, - assembly = :edgewise - ) - if VERSIONabs(x)<1.0e-12,div) - + div = VoronoiFVM.calc_divergences(sys, evelo, bfvelo) + test4 = all(x -> abs(x) < 1.0e-12, div) test1 && test2 && test3 && test4 end -function test() - test0=true - if VERSION>v"1.6" +using Test +function runtests() + test0 = true + if VERSION > v"1.6" # test on unstructured grid - gridname=joinpath(pkgdir(VoronoiFVM),"assets","rz2d.sg") - test0=test0 && main(;assembly=:edgewise,gridname) && main(;assembly=:cellwise,gridname) + gridname = joinpath(pkgdir(VoronoiFVM), "assets", "rz2d.sg") + test0 = test0 && main(; assembly = :edgewise, gridname) && main(; assembly = :cellwise, gridname) end - test0 && main(;assembly=:edgewise) && main(;assembly=:cellwise) + @test test0 && main(; assembly = :edgewise) && main(; assembly = :cellwise) end end diff --git a/examples/Example206_JouleHeat.jl b/examples/Example206_JouleHeat.jl index 4a1788f76..7b75ff653 100644 --- a/examples/Example206_JouleHeat.jl +++ b/examples/Example206_JouleHeat.jl @@ -1,5 +1,5 @@ # # 206: 2D Joule heating -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) #= ```math @@ -24,7 +24,7 @@ using LinearAlgebra using SimplexGridFactory using Triangulate -function main(; nref = 0, Plotter = nothing, verbose = "and", unknown_storage = :sparse, assembly=:edgewise, +function main(; nref = 0, Plotter = nothing, verbose = "and", unknown_storage = :sparse, assembly = :edgewise, ythin = 0.25) ## Create grid @@ -87,7 +87,7 @@ function main(; nref = 0, Plotter = nothing, verbose = "and", unknown_storage = sys = VoronoiFVM.System(grid; bcondition = bcondition!, flux = flux!, edgereaction = jouleheat!, storage = storage!, - species = [iϕ, iT],assembly=assembly) + species = [iϕ, iT], assembly = assembly) sol = solve(sys; verbose) @@ -98,9 +98,10 @@ function main(; nref = 0, Plotter = nothing, verbose = "and", unknown_storage = norm(sol, Inf) end -function test() +using Test +function runtests() testval = 24.639120035942938 - main(assembly=:edgewise) ≈ testval && - main(assembly=:cellwise) ≈ testval + @test main(; assembly = :edgewise) ≈ testval && + main(; assembly = :cellwise) ≈ testval end end diff --git a/examples/Example207_NonlinearPoisson2D.jl b/examples/Example207_NonlinearPoisson2D.jl index cfa7bc6e6..de9c34071 100644 --- a/examples/Example207_NonlinearPoisson2D.jl +++ b/examples/Example207_NonlinearPoisson2D.jl @@ -1,5 +1,5 @@ # # 207: 2D Nonlinear Poisson equation -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) module Example207_NonlinearPoisson2D @@ -12,7 +12,7 @@ using LinearSolve using ILUZero function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, - method_linear = nothing, assembly=:edgewise, + method_linear = nothing, assembly = :edgewise, precon_linear = A -> VoronoiFVM.Identity()) h = 1.0 / convert(Float64, n) X = collect(0.0:h:1.0) @@ -33,7 +33,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s end, storage = function (f, u, node) f[1] = u[1] end) - sys = VoronoiFVM.System(grid, physics; unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage, assembly = assembly) enable_species!(sys, 1, [1]) boundary_dirichlet!(sys, 1, 2, 0.1) @@ -63,16 +63,21 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return u15 end -function test() +using Test +function runtests() # test at once for iterative solution here testval = 0.3554284760906605 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, assembly=:edgewise) ≈testval && - main(; unknown_storage = :dense, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :sparse, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, assembly=:cellwise) ≈testval && - main(; unknown_storage = :dense, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, + assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, + assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :sparse, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, + assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, method_linear = KrylovJL_CG(), precon_linear = ILUZeroPreconditioner, + assembly = :cellwise) ≈ testval end end diff --git a/examples/Example210_NonlinearPoisson2D_Reaction.jl b/examples/Example210_NonlinearPoisson2D_Reaction.jl index a2b1b694f..76d3ea823 100644 --- a/examples/Example210_NonlinearPoisson2D_Reaction.jl +++ b/examples/Example210_NonlinearPoisson2D_Reaction.jl @@ -1,5 +1,5 @@ # # 210: 2D Nonlinear Poisson with reaction -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) module Example210_NonlinearPoisson2D_Reaction @@ -8,7 +8,7 @@ using VoronoiFVM using ExtendableGrids using GridVisualize -function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise) +function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise) h = 1.0 / convert(Float64, n) X = collect(0.0:h:1.0) Y = collect(0.0:h:1.0) @@ -43,7 +43,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s reaction = reaction!, source = source!) - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) enable_species!(sys, 1, [1]) enable_species!(sys, 2, [1]) @@ -74,12 +74,13 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return u15 end -function test() - testval=0.014566189535134827 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval +using Test +function runtests() + testval = 0.014566189535134827 + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example215_NonlinearPoisson2D_BoundaryReaction.jl b/examples/Example215_NonlinearPoisson2D_BoundaryReaction.jl index f9555be73..e621532ba 100644 --- a/examples/Example215_NonlinearPoisson2D_BoundaryReaction.jl +++ b/examples/Example215_NonlinearPoisson2D_BoundaryReaction.jl @@ -1,5 +1,5 @@ # # 215: 2D Nonlinear Poisson with boundary reaction -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) module Example215_NonlinearPoisson2D_BoundaryReaction @@ -9,7 +9,7 @@ using ExtendableGrids using GridVisualize using ExtendableSparse -function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise, +function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise, tend = 100, max_lureuse = 0) h = 1.0 / convert(Float64, n) X = collect(0.0:h:1.0) @@ -34,7 +34,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s f[2] = u[2] end) - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) enable_species!(sys, 1, [1]) enable_species!(sys, 2, [1]) @@ -75,10 +75,11 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return u25 end -function test() +using Test +function runtests() testval = 0.2760603343272377 - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example220_NonlinearPoisson2D_BoundarySpecies.jl b/examples/Example220_NonlinearPoisson2D_BoundarySpecies.jl index 9414b2f8c..1890e5c76 100644 --- a/examples/Example220_NonlinearPoisson2D_BoundarySpecies.jl +++ b/examples/Example220_NonlinearPoisson2D_BoundarySpecies.jl @@ -1,5 +1,5 @@ # # 220: 2D Nonlinear Poisson with boundary reaction and boundary species -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) module Example220_NonlinearPoisson2D_BoundarySpecies @@ -85,8 +85,9 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return u5 end -function test() - main(; unknown_storage = :sparse) ≈ 0.0020781361856598 +using Test +function runtests() + @test main(; unknown_storage = :sparse) ≈ 0.0020781361856598 main(; unknown_storage = :dense) ≈ 0.0020781361856598 end end diff --git a/examples/Example225_TestFunctions2D.jl b/examples/Example225_TestFunctions2D.jl index 649e69efe..611a46ddb 100644 --- a/examples/Example225_TestFunctions2D.jl +++ b/examples/Example225_TestFunctions2D.jl @@ -1,7 +1,7 @@ #= # 225: Terminal flux calculation via test functions, nD -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) After calculating solutions based on the finite volume method, it may be interesting to obtain information about the solution besides of the graphical representation. @@ -108,7 +108,7 @@ module Example225_TestFunctions2D using VoronoiFVM, GridVisualize, ExtendableGrids -function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly=:edgewise, +function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, assembly = :edgewise, dim = 2, tend = 5, dt = 0.2) n = [101, 21, 5] X = collect(range(0.0, 1; length = n[dim])) @@ -151,7 +151,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s reaction = reaction, source = source) - system = VoronoiFVM.System(grid, physics,assembly=assembly) + system = VoronoiFVM.System(grid, physics; assembly = assembly) enable_species!(system, 1, [1]) enable_species!(system, 2, [1]) @@ -230,20 +230,21 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return false end -function test() - main(; dim = 1, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 1, unknown_storage = :dense, assembly=:edgewise) ? true : return false - main(; dim = 2, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 2, unknown_storage = :dense, assembly=:edgewise) ? true : return false - main(; dim = 3, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 3, unknown_storage = :dense, assembly=:edgewise) ? true : return false - - main(; dim = 1, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 1, unknown_storage = :dense, assembly=:cellwise) ? true : return false - main(; dim = 2, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 2, unknown_storage = :dense, assembly=:cellwise) ? true : return false - main(; dim = 3, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 3, unknown_storage = :dense, assembly=:cellwise) ? true : return false +using Test +function runtests() + @test main(; dim = 1, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 1, unknown_storage = :dense, assembly = :edgewise) + @test main(; dim = 2, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 2, unknown_storage = :dense, assembly = :edgewise) + @test main(; dim = 3, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 3, unknown_storage = :dense, assembly = :edgewise) + + @test main(; dim = 1, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 1, unknown_storage = :dense, assembly = :cellwise) + @test main(; dim = 2, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 2, unknown_storage = :dense, assembly = :cellwise) + @test main(; dim = 3, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 3, unknown_storage = :dense, assembly = :cellwise) end end diff --git a/examples/Example226_BoundaryIntegral.jl b/examples/Example226_BoundaryIntegral.jl index 2313d49f3..b96d19d79 100644 --- a/examples/Example226_BoundaryIntegral.jl +++ b/examples/Example226_BoundaryIntegral.jl @@ -1,7 +1,7 @@ #= # 226: Terminal flux calculation via test functions, nD, boundary reaction -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# @@ -10,7 +10,7 @@ module Example226_BoundaryIntegral using VoronoiFVM, GridVisualize, ExtendableGrids function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :sparse, - dim = 2, assembly=:edgewise) + dim = 2, assembly = :edgewise) n = [101, 21, 5] X = collect(range(0.0, 1; length = n[dim])) if dim == 1 @@ -45,7 +45,7 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s storage = storage, breaction = breaction) - system = VoronoiFVM.System(grid, physics,assembly=assembly) + system = VoronoiFVM.System(grid, physics; assembly = assembly) enable_species!(system, 1, [1]) boundary_dirichlet!(system, 1, Γ_where_T_equal_0[1], 1.0) @@ -60,20 +60,21 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s isapprox(-I[1], B[Γ_where_T_equal_1[1]]; rtol = 1.0e-12) end -function test() - main(; dim = 1, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 1, unknown_storage = :dense, assembly=:edgewise) ? true : return false - main(; dim = 2, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 2, unknown_storage = :dense, assembly=:edgewise) ? true : return false - main(; dim = 3, unknown_storage = :sparse, assembly=:edgewise) ? true : return false - main(; dim = 3, unknown_storage = :dense, assembly=:edgewise) ? true : return false - - main(; dim = 1, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 1, unknown_storage = :dense, assembly=:cellwise) ? true : return false - main(; dim = 2, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 2, unknown_storage = :dense, assembly=:cellwise) ? true : return false - main(; dim = 3, unknown_storage = :sparse, assembly=:cellwise) ? true : return false - main(; dim = 3, unknown_storage = :dense, assembly=:cellwise) ? true : return false +using Test +function runtests() + @test main(; dim = 1, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 1, unknown_storage = :dense, assembly = :edgewise) + @test main(; dim = 2, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 2, unknown_storage = :dense, assembly = :edgewise) + @test main(; dim = 3, unknown_storage = :sparse, assembly = :edgewise) + @test main(; dim = 3, unknown_storage = :dense, assembly = :edgewise) + + @test main(; dim = 1, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 1, unknown_storage = :dense, assembly = :cellwise) + @test main(; dim = 2, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 2, unknown_storage = :dense, assembly = :cellwise) + @test main(; dim = 3, unknown_storage = :sparse, assembly = :cellwise) + @test main(; dim = 3, unknown_storage = :dense, assembly = :cellwise) end end diff --git a/examples/Example230_BoundaryFlux.jl b/examples/Example230_BoundaryFlux.jl index 3153def1c..c85b07414 100644 --- a/examples/Example230_BoundaryFlux.jl +++ b/examples/Example230_BoundaryFlux.jl @@ -1,7 +1,7 @@ #= # 103: Boundary flux -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) We consider two test problems. @@ -33,7 +33,7 @@ function main(; n = 2 * 10, # n musst be an even number d1 = 5.0, db = 5.0, # prefactors (before diffusive part) kmax = 2.0, cmax = 3.0, Plotter = nothing, - unknown_storage = :sparse,assembly=:edgewise) + unknown_storage = :sparse, assembly = :edgewise) ########################################################################### ###################### 1D problem ###################### @@ -151,7 +151,7 @@ function main(; n = 2 * 10, # n musst be an even number source = source2D!, bflux = bflux!, breaction = breaction!, bsource = bsource!); - unknown_storage = unknown_storage, assembly=assembly) + unknown_storage = unknown_storage, assembly = assembly) # enable species in only region enable_species!(sys_2D, ispec_2D, [bulk_2D]) @@ -176,11 +176,12 @@ function main(; n = 2 * 10, # n musst be an even number return errorsol end # main -function test() - main(; unknown_storage = :dense, assembly=:edgewise) < 1.0e-14 && - main(; unknown_storage = :sparse, assembly=:edgewise) < 1.0e-14 && - main(; unknown_storage = :dense, assembly=:cellwise) < 1.0e-14 && - main(; unknown_storage = :sparse, assembly=:cellwise) < 1.0e-14 +using Test +function runtests() + @test main(; unknown_storage = :dense, assembly = :edgewise) < 1.0e-14 && + main(; unknown_storage = :sparse, assembly = :edgewise) < 1.0e-14 && + main(; unknown_storage = :dense, assembly = :cellwise) < 1.0e-14 && + main(; unknown_storage = :sparse, assembly = :cellwise) < 1.0e-14 end end # module diff --git a/examples/Example301_Laplace3D.jl b/examples/Example301_Laplace3D.jl index 0b37749e6..d77becde0 100644 --- a/examples/Example301_Laplace3D.jl +++ b/examples/Example301_Laplace3D.jl @@ -1,7 +1,7 @@ #= # 301: 3D Laplace equation -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# @@ -21,13 +21,13 @@ function s(f, node) f[1] = n[1] * sin(5.0 * n[2]) * exp(n[3]) end -function main(; Plotter = nothing, n = 5, assembly=:edgewise) +function main(; Plotter = nothing, n = 5, assembly = :edgewise) nspecies = 1 ispec = 1 X = collect(0:(1 / n):1) grid = VoronoiFVM.Grid(X, X, X) physics = VoronoiFVM.Physics(; flux = g!, source = s) - sys = VoronoiFVM.System(grid, physics, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; assembly = assembly) enable_species!(sys, ispec, [1]) boundary_dirichlet!(sys, ispec, 5, 0.0) boundary_dirichlet!(sys, ispec, 6, 0.0) @@ -38,10 +38,11 @@ end ## Called by unit test -function test() - testval=0.012234524449380824 - main(assembly=:edgewise) ≈ testval && - main(assembly=:cellwise) ≈ testval +using Test +function runtests() + testval = 0.012234524449380824 + @test main(; assembly = :edgewise) ≈ testval && + main(; assembly = :cellwise) ≈ testval end end diff --git a/examples/Example311_HeatEquation_BoundaryDiffusion.jl b/examples/Example311_HeatEquation_BoundaryDiffusion.jl index 3a70182c5..3933d754c 100644 --- a/examples/Example311_HeatEquation_BoundaryDiffusion.jl +++ b/examples/Example311_HeatEquation_BoundaryDiffusion.jl @@ -1,7 +1,7 @@ #= # 311: Heat Equation with boundary diffusion -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) =# @@ -21,7 +21,7 @@ using ExtendableGrids v(0) = 0.5 on {0} × Γ_1 """ -function main(n = 1; assembly=:edgewise) +function main(n = 1; assembly = :edgewise) breg = 5 # boundary region number for surface diffusion hmin = 0.05 * 2.0^(-n + 1) @@ -103,10 +103,11 @@ function main(n = 1; assembly=:edgewise) sum(U_surf) end -function test() - testval=1509.8109057757858 - isapprox(main(assembly=:edgewise), testval; rtol = 1.0e-12) && - isapprox(main(assembly=:cellwise), testval; rtol = 1.0e-12) +using Test +function runtests() + testval = 1509.8109057757858 + @test isapprox(main(; assembly = :edgewise), testval; rtol = 1.0e-12) && + isapprox(main(; assembly = :cellwise), testval; rtol = 1.0e-12) end end diff --git a/examples/Example405_GenericOperator.jl b/examples/Example405_GenericOperator.jl index f1bda14e6..21d33e092 100644 --- a/examples/Example405_GenericOperator.jl +++ b/examples/Example405_GenericOperator.jl @@ -1,7 +1,7 @@ #= # 405: Generic operator - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Handle an operator which does not fit into the storage/flux/reaction API. This uses automatic sparsity detection. @@ -71,10 +71,11 @@ function main(; n = 10, Plotter = nothing, verbose = false, unknown_storage = :s return sum(solution) end -function test() +using Test +function runtests() testval = 1.099999999614456 - main(; unknown_storage = :sparse) ≈ testval && - main(; unknown_storage = :dense) ≈ testval + @test main(; unknown_storage = :sparse) ≈ testval && + main(; unknown_storage = :dense) ≈ testval end end diff --git a/examples/Example406_WeirdReaction.jl b/examples/Example406_WeirdReaction.jl index b67295f45..e1ed3a90f 100644 --- a/examples/Example406_WeirdReaction.jl +++ b/examples/Example406_WeirdReaction.jl @@ -1,7 +1,7 @@ #= # 406: 1D Weird Surface Reaction - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Species $A$ and $B$ exist in the interior of the domain, species $C$ lives a the boundary $\Gamma_1$. We assume a heterogeneous reaction scheme @@ -185,12 +185,13 @@ function main(; n = 10, return U[iC, 1] end -function test() +using Test +function runtests() testval = 0.007027597470502758 - main(; unknown_storage = :sparse) ≈ testval && - main(; unknown_storage = :dense) ≈ testval && - main(; unknown_storage = :sparse, autodetect_sparsity = false) ≈ testval && - main(; unknown_storage = :dense, autodetect_sparsity = false) ≈ testval + @test main(; unknown_storage = :sparse) ≈ testval && + main(; unknown_storage = :dense) ≈ testval && + main(; unknown_storage = :sparse, autodetect_sparsity = false) ≈ testval && + main(; unknown_storage = :dense, autodetect_sparsity = false) ≈ testval end end diff --git a/examples/Example410_ManySpecies.jl b/examples/Example410_ManySpecies.jl index f6351a178..5a631d27f 100644 --- a/examples/Example410_ManySpecies.jl +++ b/examples/Example410_ManySpecies.jl @@ -1,7 +1,7 @@ #= # 410: Many Species - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Test stationary diffusion for 50 species. @@ -14,7 +14,7 @@ using ExtendableGrids using GridVisualize using LinearAlgebra -function main(; n = 11, nspec = 50, Plotter = nothing, unknown_storage = :dense, assembly=:edgewise) +function main(; n = 11, nspec = 50, Plotter = nothing, unknown_storage = :dense, assembly = :edgewise) grid = simplexgrid(range(0, 1; length = n)) function flux(f, u, edge) @@ -23,7 +23,7 @@ function main(; n = 11, nspec = 50, Plotter = nothing, unknown_storage = :dense, end end physics = VoronoiFVM.Physics(; flux = flux) - sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid, physics; unknown_storage = unknown_storage, assembly = assembly) for ispec = 1:nspec enable_species!(sys, ispec, [1]) boundary_dirichlet!(sys, ispec, 1, 0) @@ -33,12 +33,13 @@ function main(; n = 11, nspec = 50, Plotter = nothing, unknown_storage = :dense, norm(sol) end -function test() +using Test +function runtests() testval = 13.874436925511608 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example420_DiscontinuousQuantities.jl b/examples/Example420_DiscontinuousQuantities.jl index 74aeee717..113c42b33 100644 --- a/examples/Example420_DiscontinuousQuantities.jl +++ b/examples/Example420_DiscontinuousQuantities.jl @@ -1,7 +1,7 @@ #= # 420: Discontinuous Quantities - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Test jumping species and quantity handling @@ -14,7 +14,7 @@ using ExtendableGrids using GridVisualize using LinearAlgebra -function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:edgewise) +function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly = :edgewise) XX = collect(0:0.1:1) xcoord = XX for i = 1:(N - 1) @@ -34,7 +34,7 @@ function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:e params[2, i] = 10 * i end - system = VoronoiFVM.System(grid2; unknown_storage = unknown_storage, assembly=assembly) + system = VoronoiFVM.System(grid2; unknown_storage = unknown_storage, assembly = assembly) ## First, we introduce a continuous quantity which we name "cspec". Note that the "species number" can be assigned automatically if not given explicitly. cspec = ContinuousQuantity(system, 1:N; ispec = 1, id = 1) @@ -123,12 +123,13 @@ function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:e sum(I[dspec, :]) + sum(I[cspec, :]) end -function test() +using Test +function runtests() testval = 4.2 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example421_AbstractQuantities_TestFunctions.jl b/examples/Example421_AbstractQuantities_TestFunctions.jl index e1c458c3f..61dea7003 100644 --- a/examples/Example421_AbstractQuantities_TestFunctions.jl +++ b/examples/Example421_AbstractQuantities_TestFunctions.jl @@ -1,7 +1,7 @@ #= # 421: Current Calculation for AbstractQuantities - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Test current calculation for jumping species. Here, we have three cases: a. Problem initialized as usual @@ -24,7 +24,7 @@ mutable struct Data Data() = new() end -function main(; N = 3, Plotter = nothing, unknown_storage = :sparse, assembly=:edgewise) +function main(; N = 3, Plotter = nothing, unknown_storage = :sparse, assembly = :edgewise) XX = collect(0:0.1:1) xcoord = XX for i = 1:(N - 1) @@ -161,12 +161,13 @@ function main(; N = 3, Plotter = nothing, unknown_storage = :sparse, assembly=:e return errorIV end -function test() - testval=6.085802139465579e-7 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval +using Test +function runtests() + testval = 6.085802139465579e-7 + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end diff --git a/examples/Example422_InterfaceQuantities.jl b/examples/Example422_InterfaceQuantities.jl index 386b86fab..b1e4fa2d5 100644 --- a/examples/Example422_InterfaceQuantities.jl +++ b/examples/Example422_InterfaceQuantities.jl @@ -1,7 +1,7 @@ #= # 422: Drift-Diffusion with Discontinuous and Interface Potentials -([source code](SOURCE_URL)) +([source code](@__SOURCE_URL__)) Nondimensionalized semiconductor device equations (with artificial doping) with Discontinuousquantities and additional Interfacequantities. @@ -15,7 +15,7 @@ using ExtendableGrids using GridVisualize function main(; n = 5, Plotter = nothing, tend = 20.0, unknown_storage = :sparse, - reactionN = 5.0e0, reactionP = 5.0e0, assembly=:edgewise) + reactionN = 5.0e0, reactionP = 5.0e0, assembly = :edgewise) ################################################################################ #### grid @@ -58,7 +58,7 @@ function main(; n = 5, Plotter = nothing, tend = 20.0, unknown_storage = :sparse ######### system ################################################################################ - sys = VoronoiFVM.System(grid; unknown_storage = unknown_storage, assembly=assembly) + sys = VoronoiFVM.System(grid; unknown_storage = unknown_storage, assembly = assembly) iphin = DiscontinuousQuantity(sys, 1:numberOfRegions; id = 1) iphip = DiscontinuousQuantity(sys, 1:numberOfRegions; id = 2) iphinb = InterfaceQuantity(sys, [bjunction]; id = 3) @@ -235,12 +235,13 @@ function main(; n = 5, Plotter = nothing, tend = 20.0, unknown_storage = :sparse return sol_bound[1] end # main -function test() +using Test +function runtests() testval = 0.35545473758267826 - main(; unknown_storage = :sparse, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :dense, assembly=:edgewise) ≈ testval && - main(; unknown_storage = :sparse, assembly=:cellwise) ≈ testval && - main(; unknown_storage = :dense, assembly=:cellwise) ≈ testval + @test main(; unknown_storage = :sparse, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :dense, assembly = :edgewise) ≈ testval && + main(; unknown_storage = :sparse, assembly = :cellwise) ≈ testval && + main(; unknown_storage = :dense, assembly = :cellwise) ≈ testval end end # module diff --git a/examples/Example424_AbstractQuantitiesInit.jl b/examples/Example424_AbstractQuantitiesInit.jl index e705d0586..fc9bcffab 100644 --- a/examples/Example424_AbstractQuantitiesInit.jl +++ b/examples/Example424_AbstractQuantitiesInit.jl @@ -1,7 +1,7 @@ #= # 424: Initialization of Abstract quantities - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) =# module Example424_AbstractQuantitiesInit @@ -11,7 +11,7 @@ using ExtendableGrids using GridVisualize using LinearAlgebra -function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:edgewise) +function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly = :edgewise) if 2 * (N ÷ 2) == N N = N + 1 end @@ -19,7 +19,7 @@ function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:e xcoord = range(0, 2; length = N) |> collect grid = simplexgrid(xcoord) cellmask!(grid, [1], [2], 2) - system = VoronoiFVM.System(grid; unknown_storage = unknown_storage, assembly=assembly) + system = VoronoiFVM.System(grid; unknown_storage = unknown_storage, assembly = assembly) ## First, we introduce a continuous quantity which we name "cspec". Note that the "species number" can be assigned automatically if not given explicitly. cspec = ContinuousQuantity(system, 1:2) @@ -67,11 +67,12 @@ function main(; N = 5, Plotter = nothing, unknown_storage = :sparse, assembly=:e check(u) && check(v) && check(w) end -function test() - main(; unknown_storage = :sparse, assembly=:edgewise) && - main(; unknown_storage = :dense, assembly=:edgewise) && - main(; unknown_storage = :sparse, assembly=:cellwise) && - main(; unknown_storage = :dense, assembly=:cellwise) +using Test +function runtests() + @test main(; unknown_storage = :sparse, assembly = :edgewise) && + main(; unknown_storage = :dense, assembly = :edgewise) && + main(; unknown_storage = :sparse, assembly = :cellwise) && + main(; unknown_storage = :dense, assembly = :cellwise) end end diff --git a/examples/Example430_ParameterDerivativesStationary.jl b/examples/Example430_ParameterDerivativesStationary.jl index dd2abe65c..4a02ce910 100644 --- a/examples/Example430_ParameterDerivativesStationary.jl +++ b/examples/Example430_ParameterDerivativesStationary.jl @@ -1,7 +1,7 @@ #= # 430: Parameter Derivatives (stationary) - ([source code](SOURCE_URL)) + ([source code](@__SOURCE_URL__)) Explore different ways to calculate sensitivities. This is still experimental. @@ -226,16 +226,17 @@ function runh(; Plotter = nothing, n = 10) sum(DH) end -function test() +using Test +function runtests() testval = 489.3432830184927 xf = runf() xg = rung() xh = runh() # xg2 = rung(; factorization = :ilu0, iteration = :cg) - xf ≈ testval && - xg ≈ testval && - # xg2 ≈ testval && - xh ≈ testval + @test xf ≈ testval && + xg ≈ testval && + # xg2 ≈ testval && + xh ≈ testval end end diff --git a/examples/Example510_Mixture.jl b/examples/Example510_Mixture.jl index ed6e5cb36..9b01536d6 100644 --- a/examples/Example510_Mixture.jl +++ b/examples/Example510_Mixture.jl @@ -1,5 +1,5 @@ # # 510: Mixture -# ([source code](SOURCE_URL)) +# ([source code](@__SOURCE_URL__)) #= Test mixture diffusion flux. The problem is here that in the flux function we need to @@ -63,7 +63,7 @@ using GridVisualize using LinearAlgebra using Random using StrideArraysCore: @gc_preserve, StrideArray, StaticInt, PtrArray -using LinearSolve,ExtendableSparse +using LinearSolve, ExtendableSparse using StaticArrays using ExtendableSparse @@ -110,17 +110,15 @@ function flux_strided(f, u, edge, data) end end - function flux_marray(f, u, edge, data) T = eltype(u) - n=nspec(data) + n = nspec(data) - M=MMatrix{nspec(data),nspec(data),T}(undef) - au=MVector{nspec(data),T}(undef) - du=MVector{nspec(data),T}(undef) - ipiv=MVector{nspec(data),Int}(undef) + M = MMatrix{nspec(data), nspec(data), T}(undef) + au = MVector{nspec(data), T}(undef) + du = MVector{nspec(data), T}(undef) + ipiv = MVector{nspec(data), Int}(undef) - for ispec = 1:nspec(data) M[ispec, ispec] = 1.0 / data.DKnudsen[ispec] du[ispec] = u[ispec, 1] - u[ispec, 2] @@ -139,14 +137,13 @@ function flux_marray(f, u, edge, data) ## Here, we also could use @gc_preserve. ## As this function is inlined one can avoid StrideArrays.jl ## Starting with Julia 1.8 one also can use callsite @inline. - inplace_linsolve!(M,du) + inplace_linsolve!(M, du) for ispec = 1:nspec(data) f[ispec] = du[ispec] end end - function bcondition(f, u, node, data) for species = 1:nspec(data) boundary_dirichlet!(f, u, node; species, region = data.diribc[1], @@ -161,19 +158,17 @@ function main(; n = 11, nspec = 5, Plotter = nothing, verbose = false, unknown_storage = :dense, - flux=:flux_strided, - strategy=nothing, - assembly=:cellwise - ) - - h = 1.0 / convert(Float64, n-1) + flux = :flux_strided, + strategy = nothing, + assembly = :cellwise) + h = 1.0 / convert(Float64, n - 1) X = collect(0.0:h:1.0) DBinary = Symmetric(fill(0.1, nspec, nspec)) for ispec = 1:nspec DBinary[ispec, ispec] = 0 end - DKnudsen = fill(1.0,nspec) + DKnudsen = fill(1.0, nspec) if dim == 1 grid = VoronoiFVM.Grid(X) @@ -190,63 +185,59 @@ function main(; n = 11, nspec = 5, f .= u end - _flux= flux==:flux_strided ? flux_strided : flux_marray + _flux = flux == :flux_strided ? flux_strided : flux_marray data = MyData{nspec}(DBinary, DKnudsen, diribc) - sys = VoronoiFVM.System(grid; flux=_flux, storage, bcondition, species = 1:nspec, data, assembly) + sys = VoronoiFVM.System(grid; flux = _flux, storage, bcondition, species = 1:nspec, data, assembly) @info "Strategy: $(strategy)" - control=SolverControl(strategy,sys) - control.maxiters=500 + control = SolverControl(strategy, sys) + control.maxiters = 500 @info control.method_linear - u=solve(sys;verbose,control ,log=true) + u = solve(sys; verbose, control, log = true) @show norm(u) norm(u) end - - -function test() +using Test +function runtests() # Legacy strategy list (only in 1.5) - strat1=[direct_umfpack(),gmres_umfpack(),gmres_eqnblock_umfpack(), - gmres_iluzero(), -# gmres_eqnblock_iluzero(), -# gmres_pointblock_iluzero() - ] + strat1 = [direct_umfpack(), gmres_umfpack(), gmres_eqnblock_umfpack(), + gmres_iluzero(), + # gmres_eqnblock_iluzero(), + # gmres_pointblock_iluzero() + ] # Equivalent up-to-date list - strat2=[DirectSolver(UMFPACKFactorization()), - GMRESIteration(UMFPACKFactorization()), - GMRESIteration(UMFPACKFactorization(), EquationBlock()), - GMRESIteration(ILUZeroPreconditioner()), -# GMRESIteration(ILUZeroPreconditioner(), EquationBlock()), -# GMRESIteration(ILUZeroPreconditioner(), PointBlock()) - ] - - - val1D=4.788926530387466 - val2D=15.883072449873742 - val3D=52.67819183426213 - - - res1= main(; dim = 1, assembly=:edgewise) ≈ val1D && - main(; dim = 2, assembly=:edgewise) ≈ val2D && - main(; dim = 3, assembly=:edgewise) ≈ val3D && - main(; dim = 1, flux=:flux_marray, assembly=:edgewise) ≈ val1D && - main(; dim = 2, flux=:flux_marray, assembly=:edgewise) ≈ val2D && - main(; dim = 3, flux=:flux_marray, assembly=:edgewise) ≈ val3D && - all(map(strategy-> main(; dim = 2, flux=:flux_marray,strategy) ≈ val2D, strat1)) - - - res2= main(; dim = 1, assembly=:cellwise) ≈ val1D && - main(; dim = 2, assembly=:cellwise) ≈ val2D && - main(; dim = 3, assembly=:cellwise) ≈ val3D && - main(; dim = 1, flux=:flux_marray, assembly=:cellwise) ≈ val1D && - main(; dim = 2, flux=:flux_marray, assembly=:cellwise) ≈ val2D && - main(; dim = 3, flux=:flux_marray, assembly=:cellwise) ≈ val3D && - all(map(strategy-> main(; dim = 2, flux=:flux_marray,strategy) ≈ val2D ,strat2)) + strat2 = [DirectSolver(UMFPACKFactorization()), + GMRESIteration(UMFPACKFactorization()), + GMRESIteration(UMFPACKFactorization(), EquationBlock()), + GMRESIteration(ILUZeroPreconditioner()), + # GMRESIteration(ILUZeroPreconditioner(), EquationBlock()), + # GMRESIteration(ILUZeroPreconditioner(), PointBlock()) + ] + + val1D = 4.788926530387466 + val2D = 15.883072449873742 + val3D = 52.67819183426213 + + res1 = main(; dim = 1, assembly = :edgewise) ≈ val1D && + main(; dim = 2, assembly = :edgewise) ≈ val2D && + main(; dim = 3, assembly = :edgewise) ≈ val3D && + main(; dim = 1, flux = :flux_marray, assembly = :edgewise) ≈ val1D && + main(; dim = 2, flux = :flux_marray, assembly = :edgewise) ≈ val2D && + main(; dim = 3, flux = :flux_marray, assembly = :edgewise) ≈ val3D && + all(map(strategy -> main(; dim = 2, flux = :flux_marray, strategy) ≈ val2D, strat1)) + + res2 = main(; dim = 1, assembly = :cellwise) ≈ val1D && + main(; dim = 2, assembly = :cellwise) ≈ val2D && + main(; dim = 3, assembly = :cellwise) ≈ val3D && + main(; dim = 1, flux = :flux_marray, assembly = :cellwise) ≈ val1D && + main(; dim = 2, flux = :flux_marray, assembly = :cellwise) ≈ val2D && + main(; dim = 3, flux = :flux_marray, assembly = :cellwise) ≈ val3D && + all(map(strategy -> main(; dim = 2, flux = :flux_marray, strategy) ≈ val2D, strat2)) @show res1, res2 - - res1 && res2 + + @test res1 && res2 end end diff --git a/pluto-examples/Project.toml b/pluto-examples/Project.toml index 428174ccc..4d3d14db0 100644 --- a/pluto-examples/Project.toml +++ b/pluto-examples/Project.toml @@ -1,4 +1,5 @@ [deps] +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ExtendableGrids = "cfc395e8-590f-11e8-1f13-43a2532b2fa8" ExtendableSparse = "95c220a8-a1cf-11e9-0c77-dbfce5f500b3" GridVisualize = "5eed8a63-0fb0-45eb-886d-8d5a387d12b8" diff --git a/pluto-examples/api-update.jl b/pluto-examples/api-update.jl index 4d3e5c56b..9918987e2 100644 --- a/pluto-examples/api-update.jl +++ b/pluto-examples/api-update.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.27 +# v0.19.32 using Markdown using InteractiveUtils @@ -7,7 +7,12 @@ using InteractiveUtils # This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). macro bind(def, element) quote - local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end + local iv = try + Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), + "AbstractPlutoDingetjes")].Bonds.initial_value + catch + b -> missing + end local el = $(esc(element)) global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) el @@ -17,7 +22,7 @@ end # ╔═╡ b285aca3-dee5-4b77-9276-537563e8643b begin import Pkg as _Pkg - haskey(ENV,"PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) + haskey(ENV, "PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) using Revise using VoronoiFVM using ExtendableGrids @@ -25,16 +30,19 @@ begin using Test using PlutoUI using GridVisualize - using PlutoVista using LinearSolve using ILUZero using LinearAlgebra - GridVisualize.default_plotter!(PlutoVista) + using CairoMakie + CairoMakie.activate!(; type = "svg", visible = false) + GridVisualize.default_plotter!(CairoMakie) end; # ╔═╡ 4ed0c302-26e4-468a-a40d-0e6406f802d0 md""" # API updates + +[Source](https://github.com/j-fu/VoronoiFVM.jl/blob/master/pluto-examples/api-updates.jl) """ # ╔═╡ 3e6b4ffa-7b33-4b94-9fd6-75b030d5a115 @@ -43,7 +51,7 @@ Here we describe some updates for the API of `VoronoiFVM.jl`. These have been im """ # ╔═╡ 7a104243-d3b9-421a-b494-5607c494b106 -TableOfContents(; aside = false,depth=5) +TableOfContents(; aside = false, depth = 5) # ╔═╡ a2f1e6ba-80b2-4902-9c5d-2806a7fb16f6 md""" @@ -68,11 +76,11 @@ As a consequence, all VoronoiFVM.solve methods with signatures others than `solv """ # ╔═╡ 9eae0139-379d-47ce-a8d2-932c68504317 -n=100 +n = 100 # ╔═╡ 8a31ed03-9cd8-4532-9fb9-8c060f777693 begin - h = 1.0 / convert(Float64, n) + h = 1.0 / convert(Float64, n) const eps = 1.0e-2 function reaction(f, u, node) f[1] = u[1]^2 @@ -93,26 +101,28 @@ begin end function bcondition(f, u, node) - boundary_dirichlet!( - f, - u, - node, - species = 1, - region = 2, - value = ramp(node.time, dt = (0, 0.1), du = (0, 1)), - ) - boundary_dirichlet!( - f, - u, - node, - species = 1, - region = 4, - value = ramp(node.time, dt = (0, 0.1), du = (0, 1)), - ) + boundary_dirichlet!(f, + u, + node; + species = 1, + region = 2, + value = ramp(node.time; dt = (0, 0.1), du = (0, 1))) + boundary_dirichlet!(f, + u, + node; + species = 1, + region = 4, + value = ramp(node.time; dt = (0, 0.1), du = (0, 1))) end - sys0 = - VoronoiFVM.System(0.0:h:1.0,0.0:h:1.0; reaction, flux, source, storage, bcondition, species = [1]) + sys0 = VoronoiFVM.System(0.0:h:1.0, + 0.0:h:1.0; + reaction, + flux, + source, + storage, + bcondition, + species = [1],) end # ╔═╡ 4279ae2e-a948-4358-9037-0c6895ecb809 @@ -122,9 +132,9 @@ Deprecated call: # ╔═╡ 58cf3e44-ee53-42f7-9132-eacfd900dc3a begin - inival=unknowns(sys0;inival=0.1) - sol00=unknowns(sys0) - solve!(sol00,inival,sys0) + inival = unknowns(sys0; inival = 0.1) + sol00 = unknowns(sys0) + solve!(sol00, inival, sys0) end # ╔═╡ b499a195-f06d-400f-9407-b07c3212c095 @@ -133,7 +143,7 @@ Replace this by: """ # ╔═╡ f660fc6e-0ab5-4fae-918f-39bf0c2153e5 -sol0=solve(sys0;inival=0.1) +sol0 = solve(sys0; inival = 0.1) # ╔═╡ 13f284e8-4fe9-42ce-873a-c65febc7d7df md""" @@ -167,10 +177,10 @@ md""" """ # ╔═╡ 00634dc4-e9c7-4165-a9ac-f3ffc8007e76 -umf_sol=solve(sys0; inival=0.1, method_linear=UMFPACKFactorization(),verbose=true) +umf_sol = solve(sys0; inival = 0.1, method_linear = UMFPACKFactorization(), verbose = true) # ╔═╡ d6c88c3e-6b8a-45e9-9344-71f0de3fff51 -@test isapprox(umf_sol, sol0, atol=1.0e-7) +@test isapprox(umf_sol, sol0, atol = 1.0e-7) # ╔═╡ cb2d42c4-8d5d-465c-9376-f568588ab453 md""" @@ -178,10 +188,10 @@ md""" """ # ╔═╡ 5908ae1d-b3b5-4681-a0b8-080f052af40f -sppk_sol=solve(sys0; inival=0.1, method_linear=SparspakFactorization(),verbose=true) +sppk_sol = solve(sys0; inival = 0.1, method_linear = SparspakFactorization(), verbose = true) # ╔═╡ 22c3cecc-12d2-4f7d-8a53-894a5ea513f0 -@test isapprox(sppk_sol, sol0, atol=1.0e-7) +@test isapprox(sppk_sol, sol0, atol = 1.0e-7) # ╔═╡ 3107c644-5f43-4322-aad2-04a2ab0d576e md""" @@ -195,12 +205,14 @@ The Jacobi preconditioner is defined in ExtendableSparse.jl. """ # ╔═╡ b70524fc-b8b1-4dee-b77d-e3f8d6d2837b -krydiag_sol=solve(sys0; inival=0.1, -method_linear=KrylovJL_BICGSTAB(), -precon_linear=JacobiPreconditioner,verbose=true) +krydiag_sol = solve(sys0; + inival = 0.1, + method_linear = KrylovJL_BICGSTAB(), + precon_linear = JacobiPreconditioner, + verbose = true,) # ╔═╡ d21d3236-b3d7-4cf8-ab9d-b0be44c9970b -@test isapprox(krydiag_sol, sol0, atol=1.0e-5) +@test isapprox(krydiag_sol, sol0, atol = 1.0e-5) # ╔═╡ f935061c-71db-4aaf-864b-bb566e68643e md""" @@ -208,17 +220,14 @@ md""" """ # ╔═╡ 4c7f8bbf-40c4-45b9-a62e-99ffaae30af1 - krydel_sol = solve( - sys0; - inival = 0.1, - method_linear = KrylovJL_BICGSTAB(), - precon_linear = SparspakFactorization(), - verbose="nlad" - ) - +krydel_sol = solve(sys0; + inival = 0.1, + method_linear = KrylovJL_BICGSTAB(), + precon_linear = SparspakFactorization(), + verbose = "nlad",) # ╔═╡ 4fa1c608-19b2-4eaa-8c0a-5881b373807c -@test isapprox(krydel_sol, sol0, atol=1.0e-5) +@test isapprox(krydel_sol, sol0, atol = 1.0e-5) # ╔═╡ 023ae612-6bef-4b0d-8d04-5c0461efbc18 md""" @@ -228,16 +237,14 @@ wraps the predonditioner defined in ILUZero.jl . """ # ╔═╡ 6895cdf9-8291-47ce-bd1d-4c5beec594ea - kryilu0_sol = solve( - sys0; - inival = 0.5, - method_linear = KrylovJL_BICGSTAB(), - precon_linear = ILUZeroPreconditioner, - verbose=true - ) +kryilu0_sol = solve(sys0; + inival = 0.5, + method_linear = KrylovJL_BICGSTAB(), + precon_linear = ILUZeroPreconditioner, + verbose = true,) # ╔═╡ d341f60e-191d-4cf9-9df9-fbe25c84a7da -@test isapprox(kryilu0_sol, sol0, atol=1.0e-5) +@test isapprox(kryilu0_sol, sol0, atol = 1.0e-5) # ╔═╡ 3bca80f4-ec88-41e8-829a-278071442d41 md""" @@ -260,18 +267,18 @@ The following example gives some information in this respect: """ # ╔═╡ d1440945-54ac-4c12-9f34-0db1c7dfac11 -D=0.1 +D = 0.1 # ╔═╡ 2ff77259-7a81-4c54-a291-cbc20ee56c5d function xflux(f, u, edge) - f[1] = D * (u[1, 1]^2 - u[1, 2]^2) + f[1] = D * (u[1, 1]^2 - u[1, 2]^2) end # ╔═╡ b0a845d7-95d7-4212-9620-e1948698c596 -xsys=VoronoiFVM.System(0:0.001:1,flux=xflux,species=[1]) +xsys = VoronoiFVM.System(0:0.001:1; flux = xflux, species = [1]) # ╔═╡ 2a85a42c-1a79-425f-8887-71e2944cb0f3 -solve(xsys,inival=0.1,times=[0,1]); +solve(xsys; inival = 0.1, times = [0, 1]); # ╔═╡ 1370a5dc-c434-423f-a0fa-b25f0f2878f9 md""" @@ -279,7 +286,7 @@ If we find these warnings annoying, we can switch them off: """ # ╔═╡ 62f605a0-6d5c-4ce2-a131-9ab7b6188d23 -solve(xsys,inival=0.1,times=[0,1],verbose=""); +solve(xsys; inival = 0.1, times = [0, 1], verbose = ""); # ╔═╡ 2b58318c-8e21-4f9a-97df-ff4af50c94b2 md""" @@ -287,7 +294,7 @@ Or we get some more logging: """ # ╔═╡ 05381762-d8f8-46d2-8eb2-68275458787a -solve(xsys,inival=0.1,times=[0,1],verbose="en"); +solve(xsys; inival = 0.1, times = [0, 1], verbose = "en"); # ╔═╡ f752f390-c98e-4832-b186-f484ebe5a4cb md""" @@ -295,18 +302,18 @@ But we can also look for the reasons of the allocations. Here, global values sho """ # ╔═╡ 0e8bbe4c-66d8-4545-8196-c7d8d9e30bfd -const D1=0.1 +const D1 = 0.1 # ╔═╡ c40f1954-4fb7-48b2-ab4c-cdf6459b7383 function xflux1(f, u, edge) - f[1] = D1* (u[1, 1]^2 - u[1, 2]^2) + f[1] = D1 * (u[1, 1]^2 - u[1, 2]^2) end # ╔═╡ cec5152b-0597-4ea4-8387-b08e1e4ffcde -xsys1=VoronoiFVM.System(0:0.001:1,flux=xflux1,species=[1]) +xsys1 = VoronoiFVM.System(0:0.001:1; flux = xflux1, species = [1]) # ╔═╡ 76c6ee48-8061-4ba0-b61e-0e6b68ad6435 -solve(xsys1,inival=0.1,times=[0,1]); +solve(xsys1; inival = 0.1, times = [0, 1]); # ╔═╡ d4ee4693-8ecd-4916-a722-79f54eb99d42 md""" @@ -330,7 +337,7 @@ grid1 = simplexgrid(0:0.1:1); # ╔═╡ 90bbf212-c6c8-44f0-8132-4a98f094750e function multispecies_flux(y, u, edge) - for i = 1:edge.nspec + for i = 1:(edge.nspec) y[i] = u[i, 1] - u[i, 2] end end @@ -343,14 +350,12 @@ end # ╔═╡ 5e6d83ab-65c7-4f33-b0a8-29cd5717b4d6 begin - system1 = VoronoiFVM.System( - grid1, - flux = multispecies_flux, - reaction = test_reaction, - species = [1, 2], - ) - boundary_dirichlet!(system1, species = 1, region = 1, value = 1) - boundary_dirichlet!(system1, species = 2, region = 2, value = 0) + system1 = VoronoiFVM.System(grid1; + flux = multispecies_flux, + reaction = test_reaction, + species = [1, 2]) + boundary_dirichlet!(system1; species = 1, region = 1, value = 1) + boundary_dirichlet!(system1; species = 2, region = 2, value = 0) end; # ╔═╡ f11c03a3-7899-42fd-a2da-a257715815dc @@ -358,9 +363,9 @@ sol1 = solve(system1); # ╔═╡ 2754d4c8-bbc1-4283-8156-c660c33cd62d let - vis = GridVisualizer(resolution = (500, 300), legend = :rt) - scalarplot!(vis, grid1, sol1[1, :], color = :red, label = "species1") - scalarplot!(vis, grid1, sol1[2, :], color = :green, label = "species2", clear = false) + vis = GridVisualizer(; resolution = (500, 300), legend = :rt) + scalarplot!(vis, grid1, sol1[1, :]; color = :red, label = "species1") + scalarplot!(vis, grid1, sol1[2, :]; color = :green, label = "species2", clear = false) reveal(vis) end @@ -377,44 +382,40 @@ space and time dependent boundary conditions. One can specify them either in `br # ╔═╡ ec188c81-3374-4eed-9b7e-e22350886df2 function bcond2(y, u, bnode) - boundary_neumann!(y, u, bnode, species = 1, region = 1, value = sin(bnode.time)) - boundary_dirichlet!(y, u, bnode, species = 2, region = 2, value = 0) + boundary_neumann!(y, u, bnode; species = 1, region = 1, value = sin(bnode.time)) + boundary_dirichlet!(y, u, bnode; species = 2, region = 2, value = 0) end; # ╔═╡ c86e8a0f-299f-42ab-96f8-0cd62d50f196 -system2 = VoronoiFVM.System( - grid1, - flux = multispecies_flux, - reaction = test_reaction, - species = [1, 2], - bcondition = bcond2, - check_allocs = false, -); +system2 = VoronoiFVM.System(grid1; + flux = multispecies_flux, + reaction = test_reaction, + species = [1, 2], + bcondition = bcond2, + check_allocs = false); # ╔═╡ b3d936fe-69ab-4013-b787-2f0b5410638a -sol2 = solve(system2, times = (0, 10), Δt_max = 0.01); +sol2 = solve(system2; times = (0, 10), Δt_max = 0.01); # ╔═╡ 17749697-d5d8-4629-a625-e96590a5f0ac -vis2 = GridVisualizer(resolution = (500, 300), limits = (-2, 2), legend = :rt) +vis2 = GridVisualizer(; resolution = (500, 300), limits = (-2, 2), legend = :rt) # ╔═╡ 0c916da5-2d6e-42df-ac4b-4a062f931ccd md""" -time: $(@bind t2 Slider(0:0.01:10; default=5,show_value=true)) +time: $(@bind t2 PlutoUI.Slider(0:0.01:10; default=5,show_value=true)) """ # ╔═╡ 783618f8-2470-4c7c-afc1-9800586625c1 let s = sol2(t2) - scalarplot!(vis2, grid1, s[1, :], color = :red, label = "species1") - scalarplot!( - vis2, - grid1, - s[2, :], - color = :green, - label = "species2", - clear = false, - title = "time=$(t2)", - ) + scalarplot!(vis2, grid1, s[1, :]; color = :red, label = "species1") + scalarplot!(vis2, + grid1, + s[2, :]; + color = :green, + label = "species2", + clear = false, + title = "time=$(t2)") reveal(vis2) end @@ -434,23 +435,20 @@ This example also demonstrates position dependent boundary values. # ╔═╡ a71086fa-4ec6-4842-a4e1-6a6b60441fc2 function bcond3(y, u, bnode) - boundary_dirichlet!(y, u, bnode, region = 4, value = bnode[2]) - boundary_dirichlet!(y, u, bnode, region = 2, value = -bnode[2]) + boundary_dirichlet!(y, u, bnode; region = 4, value = bnode[2]) + boundary_dirichlet!(y, u, bnode; region = 2, value = -bnode[2]) end; # ╔═╡ a514231a-e465-4f05-ba4c-b20aa968d96f -system3 = VoronoiFVM.System( - -1:0.1:1, - -1:0.1:1, - flux = multispecies_flux, - bcondition = bcond3, - species = 1, -); +system3 = VoronoiFVM.System(-1:0.1:1, + -1:0.1:1; + flux = multispecies_flux, + bcondition = bcond3, + species = 1); # ╔═╡ d55f615c-d586-4ef7-adf9-5faf052b75ac sol3 = solve(system3); - # ╔═╡ c17e5104-4d3a-4d54-81c1-d7253245a8bb @test isapprox(sum(sol3), 0.0, atol = 1.0e-14) @@ -461,7 +459,7 @@ Instead of a grid, a system can be passed to `gridplot` and `scalarplot`. """ # ╔═╡ 34d465a5-7cc5-4348-b9ba-6d9381bb3a87 -scalarplot(system3, sol3, resolution = (300, 300), levels = 10, colormap = :hot) +scalarplot(system3, sol3; resolution = (300, 300), levels = 10, colormap = :hot) # ╔═╡ ac48f5bd-fd1e-4aa7-a2c9-90f0f427143c md""" @@ -479,29 +477,25 @@ Another new keyword argument is `inival` which allows to pass an initial value w reaction4(y, u, bnode) = y[1] = -bnode[1]^2 + u[1]^4; # ╔═╡ 938ef63c-58c4-41a0-b3dd-4eb76987a4d7 -bc4(args...) = boundary_dirichlet!(args..., value = 0); +bc4(args...) = boundary_dirichlet!(args...; value = 0); # ╔═╡ fe424654-f070-46a9-850a-738b1d4aca8f -system4 = VoronoiFVM.System( - -10:0.1:10, - species = [1], - reaction = reaction4, - flux = multispecies_flux, - bcondition = bc4, -); +system4 = VoronoiFVM.System(-10:0.1:10; + species = [1], + reaction = reaction4, + flux = multispecies_flux, + bcondition = bc4); # ╔═╡ 37fc8816-5ccd-436e-8335-ebb1218d8a35 -sol4 = solve(system4, log = true, damp_initial = 0.001, damp_growth = 3); +sol4 = solve(system4; log = true, damp_initial = 0.001, damp_growth = 3); # ╔═╡ 6a256a29-f15f-4d82-8e84-7ceacb786715 -scalarplot( - system4, - sol4, - resolution = (500, 300), - xlabel = "x", - ylabel = "u", - title = "solution", -) +scalarplot(system4, + sol4; + resolution = (500, 300), + xlabel = "x", + ylabel = "u", + title = "solution") # ╔═╡ 5c2a3836-dc81-4950-88e5-7f603514b1c0 @test isapprox(sum(sol4), 418.58515700568535, rtol = 1.0e-14) @@ -515,6 +509,7 @@ html"""
""" # ╔═╡ 00000000-0000-0000-0000-000000000001 PLUTO_PROJECT_TOML_CONTENTS = """ [deps] +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ExtendableGrids = "cfc395e8-590f-11e8-1f13-43a2532b2fa8" ExtendableSparse = "95c220a8-a1cf-11e9-0c77-dbfce5f500b3" GridVisualize = "5eed8a63-0fb0-45eb-886d-8d5a387d12b8" @@ -523,19 +518,18 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" -PlutoVista = "646e1f28-b900-46d7-9d87-d554eb38a413" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" VoronoiFVM = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" [compat] +CairoMakie = "~0.10.12" ExtendableGrids = "~0.9.17" ExtendableSparse = "~1.2.0" GridVisualize = "~1.1.3" ILUZero = "~0.2.0" LinearSolve = "~2.4.1" PlutoUI = "~0.7.52" -PlutoVista = "~0.8.24" Revise = "~3.5.3" VoronoiFVM = "~1.11.0" """ @@ -544,20 +538,36 @@ VoronoiFVM = "~1.11.0" PLUTO_MANIFEST_TOML_CONTENTS = """ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.2" +julia_version = "1.9.3" manifest_format = "2.0" -project_hash = "6ffc1a91ded7bb83e929a92cec3399bf70ac4b05" +project_hash = "295ad60bc5de14ede3656de4fa69ba381df53b92" [[deps.ADTypes]] -git-tree-sha1 = "e58c18d2312749847a74f5be80bb0fa53da102bd" +git-tree-sha1 = "5d2e21d7b0d8c22f67483ef95ebdc39c0e6b6003" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "0.1.5" +version = "0.2.4" [[deps.AbstractAlgebra]] deps = ["GroupsCore", "InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "1bd8a536c949eb3de9b58042d57790ded6b70fa6" +git-tree-sha1 = "c3c29bf6363b3ac3e421dc8b2ba8e33bdacbd245" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.30.9" +version = "0.32.5" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.AbstractLattices]] +git-tree-sha1 = "f35684b7349da49fcc8a9e520e30e45dbb077166" +uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" +version = "0.2.1" [[deps.AbstractPlutoDingetjes]] deps = ["Pkg"] @@ -572,14 +582,20 @@ version = "0.4.4" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +git-tree-sha1 = "02f731463748db57cc2ebfbd9fbc9ce8280d3433" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" +version = "3.7.1" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] AdaptStaticArraysExt = "StaticArrays" +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" @@ -592,9 +608,9 @@ version = "0.2.0" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +git-tree-sha1 = "16267cf279190ca7c1b30d020758ced95db89cd0" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.11" +version = "7.5.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -612,39 +628,54 @@ version = "7.4.11" StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -[[deps.ArrayInterfaceCore]] -deps = ["LinearAlgebra", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "e5f08b5689b1aad068e01751889f2f615c7db36d" -uuid = "30b0a656-2188-435a-8636-2ec0e6a096e2" -version = "0.1.29" - [[deps.ArrayLayouts]] -deps = ["FillArrays", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "06fb6abc448771b8eac175fd675c2e4453c4e7bd" +deps = ["FillArrays", "LinearAlgebra"] +git-tree-sha1 = "af43df5704827c8618afd36eb56fcab20d3041ee" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.0.13" +version = "1.4.3" +weakdeps = ["SparseArrays"] + + [deps.ArrayLayouts.extensions] + ArrayLayoutsSparseArraysExt = "SparseArrays" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +[[deps.Automa]] +deps = ["TranscodingStreams"] +git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" +uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" +version = "0.8.4" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.7" + [[deps.BandedMatrices]] -deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "5048c6811d416588e0c7f3341a906b57209abd34" +deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools"] +git-tree-sha1 = "0b816941273b5b162be122a6c94d706e3b3125ca" uuid = "aae01518-5342-5314-be14-df237901396f" -version = "0.17.32" +version = "0.17.38" +weakdeps = ["SparseArrays"] + + [deps.BandedMatrices.extensions] + BandedMatricesSparseArraysExt = "SparseArrays" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.Bijections]] -git-tree-sha1 = "fe4f8c5ee7f76f2198d5c2a06d3961c249cce7bd" +git-tree-sha1 = "c9b163bd832e023571e86d0b90d9de92a9879088" uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" -version = "0.1.4" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" +version = "0.1.6" [[deps.BitTwiddlingConvenienceFunctions]] deps = ["Static"] @@ -652,11 +683,55 @@ git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" version = "0.1.5" +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.2" + [[deps.CPUSummary]] deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] -git-tree-sha1 = "89e0654ed8c7aebad6d5ad235d6242c2d737a928" +git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.3" +version = "0.2.4" + +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" + +[[deps.CRlibm]] +deps = ["CRlibm_jll"] +git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" +uuid = "96374032-68de-5a5b-8d9e-752f78720389" +version = "1.0.1" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.CairoMakie]] +deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] +git-tree-sha1 = "5e21a254d82c64b1a4ed9dbdc7e87c5d9cf4a686" +uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +version = "0.10.12" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" [[deps.Calculus]] deps = ["LinearAlgebra"] @@ -665,10 +740,14 @@ uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" version = "0.5.1" [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "e0af648f0692ec1691b5d094b8724ba1346281cf" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" +version = "1.18.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.CloseOpenIntervals]] deps = ["Static", "StaticArrayInterface"] @@ -678,21 +757,27 @@ version = "0.1.12" [[deps.CodeTracking]] deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "d730914ef30a06732bdd9f763f6cc32e92ffbff1" +git-tree-sha1 = "c0216e792f518b39b22212127d4a84dc31e4e386" uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.1" +version = "1.3.5" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "02aa26a4cf76381be7f66e020a3eddeb27b0a092" +git-tree-sha1 = "cd67fc487743b2f0fd4380d4cbd3a24660d0eec8" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.2" +version = "0.7.3" + +[[deps.ColorBrewer]] +deps = ["Colors", "JSON", "Test"] +git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" +uuid = "a2cac450-b92f-5266-8821-25eda20663c8" +version = "0.4.0" [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "dd3000d954d483c1aad05fe1eb9e6a715c97013e" +git-tree-sha1 = "67c1f244b991cad9b0aa4b7540fb758c2488b129" uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.22.0" +version = "3.24.0" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] @@ -701,14 +786,10 @@ uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.4" [[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] -git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] +git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.10.0" -weakdeps = ["SpecialFunctions"] - - [deps.ColorVectorSpace.extensions] - SpecialFunctionsExt = "SpecialFunctions" +version = "0.9.10" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] @@ -734,9 +815,9 @@ version = "0.3.0" [[deps.Compat]] deps = ["UUIDs"] -git-tree-sha1 = "4e88377ae7ebeaf29a047aa1ee40826e0b708a5d" +git-tree-sha1 = "8a62af3e248a8c4bad6b32cbbe663ae02275e32c" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.7.0" +version = "4.10.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -752,29 +833,22 @@ git-tree-sha1 = "02d2316b7ffceff992f3096ae48c7829a8aa0638" uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" version = "0.1.3" -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.2.1" - -[[deps.Configurations]] -deps = ["ExproniconLite", "OrderedCollections", "TOML"] -git-tree-sha1 = "434f446dbf89d08350e83bf57c0fc86f5d3ffd4e" -uuid = "5218b696-f38b-4ac9-8b61-a12ec717816d" -version = "0.17.5" - [[deps.ConstructionBase]] deps = ["LinearAlgebra"] -git-tree-sha1 = "fe2838a593b5f776e1597e086dcd47560d94e816" +git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.3" +version = "1.5.4" weakdeps = ["IntervalSets", "StaticArrays"] [deps.ConstructionBase.extensions] ConstructionBaseIntervalSetsExt = "IntervalSets" ConstructionBaseStaticArraysExt = "StaticArrays" +[[deps.Contour]] +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.2" + [[deps.CpuId]] deps = ["Markdown"] git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" @@ -788,9 +862,9 @@ version = "1.15.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "cf25ccb972fec4e4817764d01c82386ae94f77b4" +git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.14" +version = "0.18.15" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -801,6 +875,12 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelaunayTriangulation]] +deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] +git-tree-sha1 = "7cb0d72a53c1d93665eeadfa9d51af9df60bf6b2" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "0.8.10" + [[deps.DiffResults]] deps = ["StaticArraysCore"] git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" @@ -818,18 +898,20 @@ deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "e76a3281de2719d7c81ed62c6ea7057380c87b1d" +deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "a6c00f894f24460379cb7136633cef54ac9f6f4a" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.98" +version = "0.25.103" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" [deps.Distributions.weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.DocStringExtensions]] deps = ["LibGit2"] @@ -855,10 +937,10 @@ uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" version = "0.6.8" [[deps.DynamicPolynomials]] -deps = ["DataStructures", "Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Pkg", "Reexport", "Test"] -git-tree-sha1 = "8b84876e31fa39479050e2d3395c4b3b210db8b0" +deps = ["Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Pkg", "Reexport", "Test"] +git-tree-sha1 = "fea68c84ba262b121754539e6ea0546146515d4f" uuid = "7c1d4256-1411-5781-91ec-d7bc3513ac07" -version = "0.4.6" +version = "0.5.3" [[deps.EarCut_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -877,22 +959,27 @@ git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" -[[deps.ExceptionUnwrapping]] -deps = ["Test"] -git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" -uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.9" +[[deps.ErrorfreeArithmetic]] +git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" +uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" +version = "0.5.2" + +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArraysCore"] +git-tree-sha1 = "499b1ca78f6180c8f8bdf1cabde2d39120229e5c" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.6" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.5.0+0" [[deps.ExprTools]] -git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.9" - -[[deps.ExproniconLite]] -deps = ["Pkg", "TOML"] -git-tree-sha1 = "d80b5d5990071086edf5de9018c6c69c83937004" -uuid = "55351af7-c7e9-48d6-89ff-24e801d99491" -version = "0.10.3" +version = "0.1.10" [[deps.ExtendableGrids]] deps = ["AbstractTrees", "Dates", "DocStringExtensions", "ElasticArrays", "InteractiveUtils", "LinearAlgebra", "Printf", "Random", "SparseArrays", "StaticArrays", "Test", "WriteVTK"] @@ -917,9 +1004,27 @@ version = "1.2.0" Pardiso = "46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2" [[deps.Extents]] -git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" +git-tree-sha1 = "2140cd04483da90b2da7f99b2add0750504fc39c" uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" -version = "0.1.1" +version = "0.1.2" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.4+1" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.7.1" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" [[deps.FastLapackInterface]] deps = ["LinearAlgebra"] @@ -927,6 +1032,12 @@ git-tree-sha1 = "b12f05108e405dadcc2aff0008db7f831374e051" uuid = "29a986be-02c6-4525-aec4-84b980013641" version = "2.0.0" +[[deps.FastRounding]] +deps = ["ErrorfreeArithmetic", "LinearAlgebra"] +git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" +uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" +version = "0.3.1" + [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" @@ -937,10 +1048,15 @@ version = "1.16.1" uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "f0af9b12329a637e8fba7d6543f915fff6ba0090" +deps = ["LinearAlgebra", "Random"] +git-tree-sha1 = "35f0c0f345bff2c6d636f95fdb136323b5a796ef" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.4.2" +version = "1.7.0" +weakdeps = ["SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] @@ -964,6 +1080,12 @@ git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.4" +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + [[deps.Formatting]] deps = ["Printf"] git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" @@ -972,14 +1094,38 @@ version = "0.4.2" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.35" +version = "0.10.36" weakdeps = ["StaticArrays"] [deps.ForwardDiff.extensions] ForwardDiffStaticArraysExt = "StaticArrays" +[[deps.FreeType]] +deps = ["CEnum", "FreeType2_jll"] +git-tree-sha1 = "50351f83f95282cf903e968d7c6e8d44a5f83d0b" +uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" +version = "4.1.0" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FreeTypeAbstraction]] +deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] +git-tree-sha1 = "38a92e40157100e796690421e34a11c107205c86" +uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" +version = "0.10.0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + [[deps.FunctionWrappers]] git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" @@ -995,12 +1141,6 @@ version = "0.1.3" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -[[deps.FuzzyCompletions]] -deps = ["REPL"] -git-tree-sha1 = "e16dd964b4dfaebcded16b2af32f05e235b354be" -uuid = "fb4132e2-a121-4a70-b8a1-d5b831dcdcc2" -version = "0.5.1" - [[deps.GPUArraysCore]] deps = ["Adapt"] git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" @@ -1009,9 +1149,9 @@ version = "0.1.5" [[deps.GeoInterface]] deps = ["Extents"] -git-tree-sha1 = "bb198ff907228523f3dee1070ceee63b9359b6ab" +git-tree-sha1 = "d53480c0793b13341c40199190f92c611aa2e93c" uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" -version = "1.3.1" +version = "1.3.2" [[deps.GeometryBasics]] deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] @@ -1019,11 +1159,41 @@ git-tree-sha1 = "424a5a6ce7c5d97cca7bcc4eac551b97294c54af" uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" version = "0.4.9" +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "e94c92c7bf4819685eb80186d51c43e71d4afa17" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.76.5+0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + [[deps.Graphs]] deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "1cf1d7dcb4bc32d7b4a5add4232db3750c27ecb4" +git-tree-sha1 = "899050ace26649433ef1af25bc17a815b3db52b7" uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.8.0" +version = "1.9.0" + +[[deps.GridLayoutBase]] +deps = ["GeometryBasics", "InteractiveUtils", "Observables"] +git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" +uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" +version = "0.9.2" [[deps.GridVisualize]] deps = ["ColorSchemes", "Colors", "DocStringExtensions", "ElasticArrays", "ExtendableGrids", "GeometryBasics", "GridVisualizeTools", "HypertextLiteral", "LinearAlgebra", "Observables", "OrderedCollections", "Printf", "StaticArrays"] @@ -1040,15 +1210,20 @@ version = "1.1.3" [[deps.GridVisualizeTools]] deps = ["ColorSchemes", "Colors", "DocStringExtensions", "StaticArraysCore"] -git-tree-sha1 = "5c7c69e512b6b65cdbc52cdaae1c75a0e186087a" +git-tree-sha1 = "23a02f7b0fe9d9c48619f809abdcbbc987f9afea" uuid = "5573ae12-3b76-41d9-b48c-81d0b6e61cc5" -version = "0.3.1" +version = "0.3.2" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" [[deps.Groebner]] -deps = ["AbstractAlgebra", "Combinatorics", "Logging", "MultivariatePolynomials", "Primes", "Random", "SnoopPrecompile"] -git-tree-sha1 = "c8b55b624a83f60bcd6574cc999ad148d0a47dd6" +deps = ["AbstractAlgebra", "Combinatorics", "ExprTools", "Logging", "MultivariatePolynomials", "Primes", "Random", "SIMD", "SnoopPrecompile"] +git-tree-sha1 = "44f595de4f6485ab5ba71fe257b5eadaa3cf161e" uuid = "0b43b601-686d-58a3-8a1c-6623616c7cd4" -version = "0.3.6" +version = "0.4.4" [[deps.GroupsCore]] deps = ["Markdown", "Random"] @@ -1056,23 +1231,23 @@ git-tree-sha1 = "9e1a5e9f3b81ad6a5c613d181664a0efc6fe6dd7" uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" version = "0.4.0" -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "cb56ccdd481c0dd7f975ad2b3b62d9eda088f7e2" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.9.14" +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "d38bd0d9759e3c6cfa19bdccc314eccf8ce596cc" +git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.15" +version = "0.1.16" [[deps.HypergeometricFunctions]] deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "83e95aaab9dc184a6dcd9c4c52aa0dc26cd14a1d" +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.21" +version = "0.3.23" [[deps.Hyperscript]] deps = ["Test"] @@ -1082,9 +1257,9 @@ version = "0.0.4" [[deps.HypertextLiteral]] deps = ["Tricks"] -git-tree-sha1 = "c47c5fa4c5308f27ccaac35504858d8914e102f9" +git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653" uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" -version = "0.9.4" +version = "0.9.5" [[deps.ILUZero]] deps = ["LinearAlgebra", "SparseArrays"] @@ -1103,31 +1278,100 @@ git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" version = "0.1.1" +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.11" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.5" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.9.4" + +[[deps.ImageIO]] +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.7" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.9" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.7+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + [[deps.Inflate]] -git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" +git-tree-sha1 = "ea8031dea4aff6bd41f1df8f2fdfb25b33626381" uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.3" +version = "0.1.4" [[deps.IntegerMathUtils]] git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" version = "0.1.2" +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.14.7" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm", "EnumX", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] +git-tree-sha1 = "f59e639916283c1d2e106d2b00910b50f4dab76c" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.21.2" + [[deps.IntervalSets]] -deps = ["Dates", "Random", "Statistics"] -git-tree-sha1 = "16c0cc91853084cb5f58a78bd209513900206ce6" +deps = ["Dates", "Random"] +git-tree-sha1 = "3d8866c029dd6b16e69e0d4a939c4dfcb98fac47" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.4" +version = "0.7.8" +weakdeps = ["Statistics"] + + [deps.IntervalSets.extensions] + IntervalSetsStatisticsExt = "Statistics" [[deps.IrrationalConstants]] git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.2.2" +[[deps.Isoband]] +deps = ["isoband_jll"] +git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" +uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" +version = "0.1.1" + [[deps.IterTools]] git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" @@ -1139,16 +1383,16 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "5df8278ad24772c0c6dbbeb97b162ccf29ced2a9" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "9bbb5130d3b4fa52846546bca4791ecbdfb52730" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.32" +version = "0.4.38" [[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" +version = "1.5.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -1156,28 +1400,64 @@ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "d65930fa2bc96b07d7691c652d701dcbe7d9cf0b" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.4" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.91+0" + [[deps.JuliaInterpreter]] deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "6a125e6a4cb391e0b9adbd1afa9e771c2179f8ef" +git-tree-sha1 = "0592b1810613d1c95eeebcd22dc11fba186c2a57" uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.23" +version = "0.9.26" [[deps.KLU]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] -git-tree-sha1 = "764164ed65c30738750965d55652db9c94c59bfe" +git-tree-sha1 = "884c2968c2e8e7e6bf5956af88cb46aa745c854b" uuid = "ef3ab10e-7fda-4108-b977-705223b18434" -version = "0.4.0" +version = "0.4.1" + +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.7" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "6dc4ad9cd74ad4ca0a8e219e945dbd22039f2125" +git-tree-sha1 = "17e462054b42dcdda73e9a9ba0c67754170c88ae" uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.9.2" +version = "0.9.4" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" [[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" +version = "1.3.1" [[deps.LabelledArrays]] deps = ["ArrayInterface", "ChainRulesCore", "ForwardDiff", "LinearAlgebra", "MacroTools", "PreallocationTools", "RecursiveArrayTools", "StaticArrays"] @@ -1206,14 +1486,9 @@ version = "0.16.1" [[deps.LayoutPointers]] deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" +git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.14" - -[[deps.LazilyInitializedFields]] -git-tree-sha1 = "410fe4739a4b092f2ffe36fcb0dcc3ab12648ce1" -uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.2.1" +version = "0.1.15" [[deps.Lazy]] deps = ["MacroTools"] @@ -1221,6 +1496,15 @@ git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" version = "0.15.1" +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -1243,11 +1527,41 @@ version = "1.10.2+0" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -[[deps.Libiconv_jll]] +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+2" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" [[deps.LightXML]] deps = ["Libdl", "XML2_jll"] @@ -1255,10 +1569,22 @@ git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" version = "0.9.0" +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.2.0" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[deps.LinearAlgebraX]] +deps = ["LinearAlgebra", "Mods", "Permutations", "Primes", "SimplePolynomials"] +git-tree-sha1 = "558a338f1eeabe933f9c2d4052aa7c2c707c3d52" +uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" +version = "0.1.12" + [[deps.LinearSolve]] deps = ["ArrayInterface", "DocStringExtensions", "EnumX", "FastLapackInterface", "GPUArraysCore", "InteractiveUtils", "KLU", "Krylov", "LinearAlgebra", "PrecompileTools", "Preferences", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Sparspak", "SuiteSparse", "UnPack"] git-tree-sha1 = "1b55771f2c211583ad52af5a5ca6475be374c961" @@ -1281,9 +1607,9 @@ version = "2.4.1" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "c3ce8e7420b3a6e071e0fe4745f5d4300e37b13f" +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.24" +version = "0.3.26" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -1298,17 +1624,11 @@ version = "0.3.24" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" - [[deps.LoopVectorization]] -deps = ["ArrayInterface", "ArrayInterfaceCore", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "b206c084b224dc16dbd8fce63dd34d5050e1e130" +deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] +git-tree-sha1 = "0f5648fbae0d015e3abe5867bca2b362f67a5894" uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.164" +version = "0.12.166" weakdeps = ["ChainRulesCore", "ForwardDiff", "SpecialFunctions"] [deps.LoopVectorization.extensions] @@ -1326,26 +1646,49 @@ git-tree-sha1 = "65f28ad4b594aebe22157d6fac869786a255b7eb" uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" version = "0.1.4" +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + [[deps.MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" +git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" +version = "0.5.11" + +[[deps.Makie]] +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "35fa3c150cd96fd77417a23965b7037b90d6ffc9" +uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +version = "0.19.12" + +[[deps.MakieCore]] +deps = ["Observables", "REPL"] +git-tree-sha1 = "9b11acd07f21c4d035bd4156e789532e8ee2cc70" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.6.9" [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" version = "0.1.8" +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" +[[deps.MathTeXEngine]] +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test", "UnicodeFun"] +git-tree-sha1 = "8f52dbaa1351ce4cb847d95568cb29e62a307d93" +uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +version = "0.5.6" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -1361,27 +1704,43 @@ version = "1.1.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[deps.Mods]] +git-tree-sha1 = "61be59e4daffff43a8cec04b5e0dc773cbb5db3a" +uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" +version = "1.3.3" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2022.10.11" -[[deps.MsgPack]] -deps = ["Serialization"] -git-tree-sha1 = "fc8c15ca848b902015bd4a745d350f02cf791c2a" -uuid = "99f44e22-a591-53d1-9472-aa23ef4bd671" -version = "1.2.0" +[[deps.Multisets]] +git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" +uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" +version = "0.4.4" [[deps.MultivariatePolynomials]] deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] -git-tree-sha1 = "eaa98afe2033ffc0629f9d0d83961d66a021dfcc" +git-tree-sha1 = "6c2e970692b6f4fed2508865c43a0f67f3820cf4" uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" -version = "0.4.7" +version = "0.5.2" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "964cb1a7069723727025ae295408747a0b36a854" +git-tree-sha1 = "6985021d02ab8c509c841bb8b2becd3145a7b490" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.3.0" +version = "1.3.3" + +[[deps.NLSolversBase]] +deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] +git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.8.3" [[deps.NaNMath]] deps = ["OpenLibm_jll"] @@ -1389,14 +1748,20 @@ git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore", "ImageMetadata"] +git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.1.1" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" +version = "0.5.5" [[deps.OffsetArrays]] deps = ["Adapt"] @@ -1404,27 +1769,39 @@ git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" version = "1.12.10" +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.21+4" +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "a4ca623df1ae99d09bc9868b008262d0c0ac1e4f" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.4+0" + [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+0" -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.1" - [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cae3153c7f6cf3f069a853883fd1919a6e5bab5b" +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.9+0" +version = "3.0.12+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -1432,33 +1809,104 @@ git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" +[[deps.Optim]] +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "01f85d9269b13fedc61e63cc72ee2213565f7a72" +uuid = "429524aa-4258-5aef-a3af-852621145aeb" +version = "1.7.8" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + [[deps.OrderedCollections]] -git-tree-sha1 = "1791b503101162477bf11e951caf6983e57cd8c2" +git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.1" +version = "1.6.2" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" +git-tree-sha1 = "f6f85a2edb9c356b829934ad3caed2ad0ebbfc99" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.17" +version = "0.11.29" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "5ded86ccaf0647349231ed6c0822c10886d4a1ee" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.4.1" + +[[deps.PackageExtensionCompat]] +git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" +uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" +version = "1.0.2" +weakdeps = ["Requires", "TOML"] + +[[deps.Packing]] +deps = ["GeometryBasics"] +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" +version = "0.5.0" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4745216e94f71cb768d58330b059c9b76f32cb66" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.50.14+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "4b2e829ee66d4218e0cef22c0a64ee37cf258c29" +git-tree-sha1 = "a935806434c9d4c506ba941871b327b96d41f2bf" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.7.1" +version = "2.8.0" + +[[deps.Permutations]] +deps = ["Combinatorics", "LinearAlgebra", "Random"] +git-tree-sha1 = "4f69b02cf40a0f494d0438ab29de32e14ef96e7b" +uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" +version = "0.4.18" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.42.2+0" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.9.2" -[[deps.Pluto]] -deps = ["Base64", "Configurations", "Dates", "Distributed", "FileWatching", "FuzzyCompletions", "HTTP", "HypertextLiteral", "InteractiveUtils", "Logging", "LoggingExtras", "MIMEs", "Markdown", "MsgPack", "Pkg", "PrecompileSignatures", "PrecompileTools", "REPL", "RegistryInstances", "RelocatableFolders", "Sockets", "TOML", "Tables", "URIs", "UUIDs"] -git-tree-sha1 = "06fec2244568a4641e3352d20d0a0a608df6fa92" -uuid = "c3e4b0f8-55cb-11ea-2926-15256bba5781" -version = "0.19.27" +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.3.5" [[deps.PlutoUI]] deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"] @@ -1466,17 +1914,11 @@ git-tree-sha1 = "e47cd150dbe0443c3a3651bc5b9cbd5576ab75b7" uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" version = "0.7.52" -[[deps.PlutoVista]] -deps = ["ColorSchemes", "Colors", "DocStringExtensions", "GridVisualizeTools", "HypertextLiteral", "Pluto", "UUIDs"] -git-tree-sha1 = "30675d4a579f50e60e14a72e36cc453610af7b76" -uuid = "646e1f28-b900-46d7-9d87-d554eb38a413" -version = "0.8.24" - [[deps.Polyester]] deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "0c6a162cb9a0ab8b7345793dd8369b595cb30db8" +git-tree-sha1 = "fca25670784a1ae44546bcb17288218310af2778" uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.7.4" +version = "0.7.9" [[deps.PolyesterWeave]] deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] @@ -1484,6 +1926,30 @@ git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" version = "0.2.1" +[[deps.PolygonOps]] +git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" +uuid = "647866c9-e3ac-4575-94e7-e3d426903924" +version = "0.1.2" + +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Setfield", "SparseArrays"] +git-tree-sha1 = "5a95b69396b77fdb2c48970a535610c4743810e2" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.5" +weakdeps = ["ChainRulesCore", "FFTW", "MakieCore", "MutableArithmetics"] + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + +[[deps.PositiveFactorizations]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" +uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" +version = "0.2.4" + [[deps.PreallocationTools]] deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" @@ -1496,22 +1962,17 @@ version = "0.4.12" [deps.PreallocationTools.weakdeps] ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" -[[deps.PrecompileSignatures]] -git-tree-sha1 = "18ef344185f25ee9d51d80e179f8dad33dc48eb1" -uuid = "91cefc8d-f054-46dc-8f8c-26e11d7c5411" -version = "3.0.3" - [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "9673d39decc5feece56ef3940e5dafba15ba0f81" +git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.1.2" +version = "1.2.0" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" +git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.0" +version = "1.4.1" [[deps.Primes]] deps = ["IntegerMathUtils"] @@ -1523,11 +1984,23 @@ version = "0.5.4" deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.9.0" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" +git-tree-sha1 = "9ebcd48c498668c7fa0e97a9cae873fbee7bfee1" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" +version = "2.9.1" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -1539,9 +2012,24 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.RandomExtensions]] deps = ["Random", "SparseArrays"] -git-tree-sha1 = "062986376ce6d394b23d5d90f01d81426113a3c9" +git-tree-sha1 = "b8a399e95663485820000f26b6a43c794e166a49" uuid = "fb686558-2515-59ef-acaa-46db3789a887" -version = "0.4.3" +version = "0.4.4" + +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" [[deps.RecipesBase]] deps = ["PrecompileTools"] @@ -1551,42 +2039,38 @@ version = "1.3.4" [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "7ed35fb5f831aaf09c2d7c8736d44667a1afdcb0" +git-tree-sha1 = "d7087c013e8a496ff396bae843b1e16d9a30ede8" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.38.7" +version = "2.38.10" [deps.RecursiveArrayTools.extensions] RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" RecursiveArrayToolsTrackerExt = "Tracker" RecursiveArrayToolsZygoteExt = "Zygote" [deps.RecursiveArrayTools.weakdeps] Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.RecursiveFactorization]] -deps = ["LinearAlgebra", "LoopVectorization", "Polyester", "SnoopPrecompile", "StrideArraysCore", "TriangularSolve"] -git-tree-sha1 = "9088515ad915c99026beb5436d0a09cd8c18163e" +deps = ["LinearAlgebra", "LoopVectorization", "Polyester", "PrecompileTools", "StrideArraysCore", "TriangularSolve"] +git-tree-sha1 = "8bc86c78c7d8e2a5fe559e3721c0f9c9e303b2ed" uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" -version = "0.2.18" +version = "0.2.21" [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" -[[deps.RegistryInstances]] -deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] -git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" -uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" -version = "0.1.0" - [[deps.RelocatableFolders]] deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" +version = "1.0.1" [[deps.Requires]] deps = ["UUIDs"] @@ -1600,6 +2084,12 @@ git-tree-sha1 = "1e597b93700fa4045d7189afa7c004e0584ea548" uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" version = "3.5.3" +[[deps.RingLists]] +deps = ["Random"] +git-tree-sha1 = "f39da63aa6d2d88e0c1bd20ed6a3ff9ea7171ada" +uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2" +version = "0.2.8" + [[deps.Rmath]] deps = ["Random", "Rmath_jll"] git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" @@ -1612,16 +2102,27 @@ git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.4.0+0" +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + [[deps.RuntimeGeneratedFunctions]] deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "0b9b18d6236e9ab2b092defaacdffd929d572642" +git-tree-sha1 = "6aacc5eefe8415f47b3e34214c1d79d2674a0ba2" uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.9" +version = "0.5.12" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" +[[deps.SIMD]] +deps = ["PrecompileTools"] +git-tree-sha1 = "d8911cc125da009051fb35322415641d02d9e37f" +uuid = "fdea26ae-647d-5447-a871-4b548cad5224" +version = "3.4.6" + [[deps.SIMDTypes]] git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" uuid = "94e857df-77ce-4151-89e5-788b33177be4" @@ -1629,45 +2130,93 @@ version = "0.1.0" [[deps.SLEEFPirates]] deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "4b8586aece42bee682399c4c4aee95446aa5cd19" +git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.39" +version = "0.6.42" [[deps.SciMLBase]] -deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces"] -git-tree-sha1 = "92f8e23b4a5eb7e45bffe09027fcdda44a949a51" +deps = ["ADTypes", "ArrayInterface", "ChainRulesCore", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FillArrays", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces", "ZygoteRules"] +git-tree-sha1 = "916b8a94c0d61fa5f7c5295649d3746afb866aff" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "1.93.4" +version = "1.98.1" + + [deps.SciMLBase.extensions] + ZygoteExt = "Zygote" + + [deps.SciMLBase.weakdeps] + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.SciMLOperators]] deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] -git-tree-sha1 = "745755a5b932c9a664d7e9e4beb60c692b211d4b" +git-tree-sha1 = "51ae235ff058a64815e0a2c34b1db7578a06813d" uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "0.3.5" +version = "0.3.7" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.SetRounding]] +git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" +uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" +version = "0.2.1" + [[deps.Setfield]] deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" version = "1.1.1" +[[deps.ShaderAbstractions]] +deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "db0219befe4507878b1a90e07820fed3e62c289d" +uuid = "65257c39-d410-5151-9873-9b3e5be5013e" +version = "0.4.0" + [[deps.SharedArrays]] deps = ["Distributed", "Mmap", "Random", "Serialization"] uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SignedDistanceFields]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" +uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" +version = "0.4.0" + +[[deps.SimpleGraphs]] +deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] +git-tree-sha1 = "b608903049d11cc557c45e03b3a53e9260579c19" +uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" +version = "0.8.4" + +[[deps.SimplePartitions]] +deps = ["AbstractLattices", "DataStructures", "Permutations"] +git-tree-sha1 = "dcc02923a53f316ab97da8ef3136e80b4543dbf1" +uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" +version = "0.3.0" + +[[deps.SimplePolynomials]] +deps = ["Mods", "Multisets", "Polynomials", "Primes"] +git-tree-sha1 = "d537c31cf9995236166e3e9afc424a5a1c59ff9d" +uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" +version = "0.2.14" + +[[deps.SimpleRandom]] +deps = ["Distributions", "LinearAlgebra", "Random"] +git-tree-sha1 = "3a6fb395e37afab81aeea85bae48a4db5cd7244a" +uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8" +version = "0.3.1" [[deps.SimpleTraits]] deps = ["InteractiveUtils", "MacroTools"] @@ -1675,6 +2224,12 @@ git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" version = "0.9.4" +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" + [[deps.SnoopPrecompile]] deps = ["Preferences"] git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" @@ -1686,24 +2241,28 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" +git-tree-sha1 = "5165dfb9fd131cf0c6957a3a7605dede376e7b63" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.1" +version = "1.2.0" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[deps.SparseDiffTools]] -deps = ["ADTypes", "Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "Reexport", "Requires", "SciMLOperators", "Setfield", "SparseArrays", "StaticArrayInterface", "StaticArrays", "Tricks", "VertexSafeGraphs"] -git-tree-sha1 = "4c1a57bcbc0b795fbfdc2009e70f9c2fd2815bfe" +deps = ["ADTypes", "Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "Reexport", "SciMLOperators", "Setfield", "SparseArrays", "StaticArrayInterface", "StaticArrays", "Tricks", "UnPack", "VertexSafeGraphs"] +git-tree-sha1 = "e162b74fd1ce6d371ff5c584b53e34538edb9212" uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" -version = "2.4.1" +version = "2.11.0" [deps.SparseDiffTools.extensions] + SparseDiffToolsEnzymeExt = "Enzyme" + SparseDiffToolsSymbolicsExt = "Symbolics" SparseDiffToolsZygoteExt = "Zygote" [deps.SparseDiffTools.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.Sparspak]] @@ -1714,14 +2273,26 @@ version = "0.3.9" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "7beb031cf8145577fbccacd94b8a8f4ce78428d3" +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.3.0" +version = "2.3.1" weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" +[[deps.StableHashTraits]] +deps = ["Compat", "SHA", "Tables", "TupleTools"] +git-tree-sha1 = "d29023a76780bb8a3f2273b29153fd00828cb73f" +uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" +version = "1.1.1" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + [[deps.Static]] deps = ["IfElse"] git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" @@ -1729,10 +2300,10 @@ uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" version = "0.8.8" [[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "33040351d2403b84afce74dae2e22d3f5b18edcb" +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "03fec6800a986d191f64f5c0996b59ed526eda25" uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.4.0" +version = "1.4.1" weakdeps = ["OffsetArrays", "StaticArrays"] [deps.StaticArrayInterface.extensions] @@ -1741,9 +2312,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"] [[deps.StaticArrays]] deps = ["LinearAlgebra", "Random", "StaticArraysCore"] -git-tree-sha1 = "9cabadf6e7cd2349b6cf49f1915ad2028d65e881" +git-tree-sha1 = "0adf069a2a490c47273727e029371b31d44b72b2" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.6.2" +version = "1.6.5" weakdeps = ["Statistics"] [deps.StaticArrays.extensions] @@ -1761,15 +2332,15 @@ version = "1.9.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] -git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.6.0" +version = "1.7.0" [[deps.StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "75ebe04c5bed70b91614d684259b661c9e6274a4" +git-tree-sha1 = "1d77abd07f617c4868c33d4f5b9e1dbb2643c9cf" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.0" +version = "0.34.2" [[deps.StatsFuns]] deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] @@ -1787,15 +2358,15 @@ version = "1.3.0" [[deps.StrideArraysCore]] deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "f02eb61eb5c97b48c153861c72fbbfdddc607e06" +git-tree-sha1 = "e7dd250422df290cee14960c1ee144b44ac3dd77" uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.4.17" +version = "0.5.1" [[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" +deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] +git-tree-sha1 = "0a3db38e4cce3c54fe7a71f831cd7b6194a54213" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" +version = "0.6.16" [[deps.SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] @@ -1814,15 +2385,21 @@ version = "0.2.2" [[deps.SymbolicUtils]] deps = ["AbstractTrees", "Bijections", "ChainRulesCore", "Combinatorics", "ConstructionBase", "DataStructures", "DocStringExtensions", "DynamicPolynomials", "IfElse", "LabelledArrays", "LinearAlgebra", "MultivariatePolynomials", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "TimerOutputs", "Unityper"] -git-tree-sha1 = "5cb1f963f82e7b81305102dd69472fcd3e0e1483" +git-tree-sha1 = "2f3fa844bcd33e40d8c29de5ee8dded7a0a70422" uuid = "d1185830-fcd6-423d-90d6-eec64667417b" -version = "1.0.5" +version = "1.4.0" [[deps.Symbolics]] -deps = ["ArrayInterface", "ConstructionBase", "DataStructures", "DiffRules", "Distributions", "DocStringExtensions", "DomainSets", "Groebner", "IfElse", "LaTeXStrings", "LambertW", "Latexify", "Libdl", "LinearAlgebra", "MacroTools", "Markdown", "NaNMath", "RecipesBase", "Reexport", "Requires", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "TreeViews"] -git-tree-sha1 = "c4e5688a9a5a2f4088cd1a779b0742be31cbe9aa" +deps = ["ArrayInterface", "Bijections", "ConstructionBase", "DataStructures", "DiffRules", "Distributions", "DocStringExtensions", "DomainSets", "DynamicPolynomials", "Groebner", "IfElse", "LaTeXStrings", "LambertW", "Latexify", "Libdl", "LinearAlgebra", "LogExpFunctions", "MacroTools", "Markdown", "NaNMath", "PrecompileTools", "RecipesBase", "RecursiveArrayTools", "Reexport", "Requires", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "TreeViews"] +git-tree-sha1 = "4d4e922e160827388c003a9a088a4c63f339f6c0" uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7" -version = "5.5.0" +version = "5.10.0" + + [deps.Symbolics.extensions] + SymbolicsSymPyExt = "SymPy" + + [deps.Symbolics.weakdeps] + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" [[deps.TOML]] deps = ["Dates"] @@ -1836,10 +2413,10 @@ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -1862,6 +2439,12 @@ git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" version = "0.5.2" +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "34cc045dd0aaa59b8bbe86c644679bc57f1d5bd0" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.6.8" + [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" @@ -1882,14 +2465,19 @@ version = "0.3.0" [[deps.TriangularSolve]] deps = ["CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "LoopVectorization", "Polyester", "Static", "VectorizationBase"] -git-tree-sha1 = "31eedbc0b6d07c08a700e26d31298ac27ef330eb" +git-tree-sha1 = "fadebab77bf3ae041f77346dd1c290173da5a443" uuid = "d5829a12-d9aa-46ab-831f-fb7c9ab06edf" -version = "0.1.19" +version = "0.1.20" [[deps.Tricks]] -git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" +git-tree-sha1 = "eae1bb484cd63b36999ee58be2de6c178105112f" uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" -version = "0.1.7" +version = "0.1.8" + +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" [[deps.TruncatedStacktraces]] deps = ["InteractiveUtils", "MacroTools", "Preferences"] @@ -1897,10 +2485,15 @@ git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" uuid = "781d530d-4396-4725-bb49-402e4bee1e77" version = "1.4.0" +[[deps.TupleTools]] +git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" +uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" +version = "1.4.3" + [[deps.URIs]] -git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.2" +version = "1.5.1" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1914,6 +2507,12 @@ version = "1.0.2" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + [[deps.Unityper]] deps = ["ConstructionBase"] git-tree-sha1 = "21c8fc7cd598ef49f11bc9e94871f5d7740e34b9" @@ -1943,28 +2542,136 @@ git-tree-sha1 = "85158d010ae83e345549508554ad1d365d9a5e4c" uuid = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" version = "1.11.0" +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + [[deps.WriteVTK]] deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams", "VTKBase"] -git-tree-sha1 = "7b46936613e41cfe1c6a5897d243ddcab8feabec" +git-tree-sha1 = "41f0dc2a8f6fd860c266b91fd5cdf4fead65ae69" uuid = "64499a7a-5c06-52f2-abe2-ccb03c286192" -version = "1.18.0" +version = "1.18.1" [[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "24b81b59bd35b3c42ab84fa589086e19be919916" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.3+0" +version = "2.11.5+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+0" +[[deps.ZygoteRules]] +deps = ["ChainRulesCore", "MacroTools"] +git-tree-sha1 = "9d749cd449fb448aeca4feee9a2f4186dbb5d184" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.4" + +[[deps.isoband_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" +uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" +version = "0.2.3+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+0" +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+0" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" @@ -1974,6 +2681,18 @@ version = "1.48.0+0" deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" """ # ╔═╡ Cell order: @@ -2044,7 +2763,7 @@ version = "17.4.0+0" # ╠═c86e8a0f-299f-42ab-96f8-0cd62d50f196 # ╠═b3d936fe-69ab-4013-b787-2f0b5410638a # ╟─17749697-d5d8-4629-a625-e96590a5f0ac -# ╟─0c916da5-2d6e-42df-ac4b-4a062f931ccd +# ╠═0c916da5-2d6e-42df-ac4b-4a062f931ccd # ╟─783618f8-2470-4c7c-afc1-9800586625c1 # ╠═4cbea340-9c02-4e69-8f5e-62bf45312bdd # ╟─1c18b5a0-cca6-46a1-bb9f-b3d65b8043c5 diff --git a/pluto-examples/flux-reconstruction.jl b/pluto-examples/flux-reconstruction.jl index 470b23fed..df2af4a19 100644 --- a/pluto-examples/flux-reconstruction.jl +++ b/pluto-examples/flux-reconstruction.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.27 +# v0.19.32 using Markdown using InteractiveUtils @@ -7,7 +7,12 @@ using InteractiveUtils # This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). macro bind(def, element) quote - local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end + local iv = try + Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), + "AbstractPlutoDingetjes")].Bonds.initial_value + catch + b -> missing + end local el = $(esc(element)) global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) el @@ -17,17 +22,20 @@ end # ╔═╡ 60941eaa-1aea-11eb-1277-97b991548781 begin import Pkg as _Pkg - haskey(ENV,"PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) + haskey(ENV, "PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) using Revise using Test using SimplexGridFactory, Triangulate, ExtendableGrids, VoronoiFVM - using PlutoUI, GridVisualize, PlutoVista - GridVisualize.default_plotter!(PlutoVista) + using PlutoUI, GridVisualize + using CairoMakie + CairoMakie.activate!(; type = "svg", visible = false) + GridVisualize.default_plotter!(CairoMakie) end; # ╔═╡ de468cb9-b34d-4d2e-b911-9b93920caca1 md""" # Flux reconstruction and visualization for the Laplace operator +https://github.com/j-fu/VoronoiFVM.jl/blob/master/pluto-examples/outflow """ # ╔═╡ 531de061-d943-4b5a-85f2-cbd48bb049ce @@ -50,26 +58,21 @@ Define a "Swiss cheese domain" with punched-out holes, where each hole boundary # ╔═╡ 928a70c5-4706-40a1-9387-abcb71c09443 function swiss_cheese_2d() - function circlehole!(builder, center, radius; n = 20) - points = [ - point!(builder, center[1] + radius * sin(t), center[2] + radius * cos(t)) - for t in range(0, 2π, length = n) - ] - for i = 1:n-1 - facet!(builder, points[i], points[i+1]) + points = [point!(builder, center[1] + radius * sin(t), center[2] + radius * cos(t)) + for t in range(0, 2π; length = n)] + for i = 1:(n - 1) + facet!(builder, points[i], points[i + 1]) end facet!(builder, points[end], points[1]) holepoint!(builder, center) end - - builder = SimplexGridBuilder(Generator = Triangulate) + builder = SimplexGridBuilder(; Generator = Triangulate) cellregion!(builder, 1) maxvolume!(builder, 0.1) regionpoint!(builder, 0.1, 0.1) - p1 = point!(builder, 0, 0) p2 = point!(builder, 10, 0) p3 = point!(builder, 10, 10) @@ -81,27 +84,24 @@ function swiss_cheese_2d() facet!(builder, p3, p4) facet!(builder, p4, p1) - holes = - [ - 1.0 2.0 - 8.0 9.0 - 2.0 8.0 - 8.0 4.0 - 9.0 1.0 - 3.0 4.0 - 4.0 6.0 - 7.0 9.0 - 4.0 7.0 - 7.0 5.0 - 2.0 1.0 - 4.0 1.0 - 4.0 8.0 - 3.0 6.0 - 4.0 9.0 - 6.0 9.0 - 3.0 5.0 - 1.0 4.0 - ]' + holes = [1.0 2.0 + 8.0 9.0 + 2.0 8.0 + 8.0 4.0 + 9.0 1.0 + 3.0 4.0 + 4.0 6.0 + 7.0 9.0 + 4.0 7.0 + 7.0 5.0 + 2.0 1.0 + 4.0 1.0 + 4.0 8.0 + 3.0 6.0 + 4.0 9.0 + 6.0 9.0 + 3.0 5.0 + 1.0 4.0]' radii = [ 0.15, @@ -166,9 +166,9 @@ At hole #11, the value will be bound to a slider defined below # ╔═╡ b3f92fa7-6510-49e0-8c0d-b6ef6e897bb3 function bc(y, u, bnode, data) - boundary_dirichlet!(y, u, bnode, region = 2, value = 10.0) - boundary_dirichlet!(y, u, bnode, region = 3, value = 0.0) - boundary_dirichlet!(y, u, bnode, region = 11, value = data.val11) + boundary_dirichlet!(y, u, bnode; region = 2, value = 10.0) + boundary_dirichlet!(y, u, bnode; region = 3, value = 0.0) + boundary_dirichlet!(y, u, bnode; region = 11, value = data.val11) end # ╔═╡ f4ebe6ad-4e04-4f33-9a66-6bec977adf4d @@ -177,7 +177,7 @@ Define a finite volume system with Dirichlet boundary conditions at some of the """ # ╔═╡ f3af20fb-c3cc-41af-9782-d40adf2371f7 -system = VoronoiFVM.System(grid, flux = flux, species = 1, bcondition = bc, data = params) +system = VoronoiFVM.System(grid; flux = flux, species = 1, bcondition = bc, data = params) # ╔═╡ d86c43f3-ec2f-4fae-88d2-1068603e7044 md""" @@ -201,11 +201,11 @@ R. Eymard, T. Gallouet, R. Herbin, IMA Journal of Numerical Analysis (2006) """ # ╔═╡ 17be52fb-f55b-4b3d-85e5-33f36134046b -vis = GridVisualizer(dim = 2, resolution = (400, 400)) +vis = GridVisualizer(; dim = 2, resolution = (400, 400)) # ╔═╡ 03f582ec-4e95-4ca4-8482-9c797027810d md""" -``v_{11}:`` $(@bind val11 Slider(0:0.1:10,default=5,show_value=true)) +``v_{11}:`` $(@bind val11 PlutoUI.Slider(0:0.1:10,default=5,show_value=true)) """ # ╔═╡ 27efdcac-8ee4-47e4-905d-8d8c7313ddd1 @@ -214,16 +214,14 @@ begin sol = solve(system) end; - # ╔═╡ 18d5bc33-2578-41d0-a390-c164d754b8e1 -@test params.val11 != 5.0 || isapprox(sum(sol), 7842.2173682050525, rtol = 1.0e-12) +@test params.val11 != 5.0 || isapprox(sum(sol), 7842.2173682050525; rtol = 1.0e-12) # ╔═╡ 41f427c1-b6ad-46d4-9151-1d872b4efeb6 nf = nodeflux(system, sol) - # ╔═╡ 0e34c818-021b-44c9-8ee4-1a737c3de9cb -@test params.val11 != 5.0 || isapprox(sum(nf), 978.000534849034, rtol = 1.0e-14) +@test params.val11 != 5.0 || isapprox(sum(nf), 978.000534849034; rtol = 1.0e-14) # ╔═╡ 9468db0c-e924-4737-9b75-6bec753aafa9 md""" @@ -232,8 +230,8 @@ Joint plot of solution and flux reconstruction # ╔═╡ 531edb71-6d32-4231-b117-5e36416d2fb1 begin - scalarplot!(vis, grid, sol[1, :], levels = 9, colormap = :summer, clear = true) - vectorplot!(vis, grid, nf[:, 1, :], clear = false, spacing = 0.5, vscale = 1.5) + scalarplot!(vis, grid, sol[1, :]; levels = 9, colormap = :summer, clear = true) + vectorplot!(vis, grid, nf[:, 1, :]; clear = false, spacing = 0.5, vscale = 1.5) reveal(vis) end @@ -253,21 +251,19 @@ flux1d(y, u, edge) = y[1] = u[1, 1]^2 - u[1, 2]^2 # ╔═╡ 3793696c-c934-4e56-a1e7-887fc2181970 function bc1d(y, u, bnode) - boundary_dirichlet!(y, u, bnode, region = 1, value = 0.01) - boundary_dirichlet!(y, u, bnode, region = 2, value = 0.01) + boundary_dirichlet!(y, u, bnode; region = 1, value = 0.01) + boundary_dirichlet!(y, u, bnode; region = 2, value = 0.01) end # ╔═╡ 159ffdb7-a5d9-45bd-a53f-ba3751c91ae5 grid1d = simplexgrid(-1:0.01:1) # ╔═╡ 29257fc4-d94b-4cf1-8432-30ba3fc4dc1b -sys1d = VoronoiFVM.System( - grid1d; - flux = flux1d, - bcondition = bc1d, - source = source1d, - species = [1], -) +sys1d = VoronoiFVM.System(grid1d; + flux = flux1d, + bcondition = bc1d, + source = source1d, + species = [1],) # ╔═╡ d8df038e-9cfc-4eb4-9845-2244ac95190b sol1d = solve(sys1d; inival = 0.1) @@ -277,10 +273,10 @@ nf1d = nodeflux(sys1d, sol1d) # ╔═╡ 14b9e972-2538-43f1-a558-c6495543c9db let - vis1d = GridVisualizer(dim = 1, resolution = (500, 250), legend = :lt) - scalarplot!(vis1d, grid1d, map(src, grid1d), label = "rhs", color = :blue) - scalarplot!(vis1d, grid1d, sol1d[1, :], label = "solution", color = :red, clear = false) - vectorplot!(vis1d, grid1d, nf1d[:, 1, :], label = "flux", clear = false, color = :green) + vis1d = GridVisualizer(; dim = 1, resolution = (500, 250), legend = :lt) + scalarplot!(vis1d, grid1d, map(src, grid1d); label = "rhs", color = :blue) + scalarplot!(vis1d, grid1d, sol1d[1, :]; label = "solution", color = :red, clear = false) + vectorplot!(vis1d, grid1d, nf1d[:, 1, :]; label = "flux", clear = false, color = :green) reveal(vis1d) end @@ -299,11 +295,11 @@ html"""
""" # ╔═╡ 00000000-0000-0000-0000-000000000001 PLUTO_PROJECT_TOML_CONTENTS = """ [deps] +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ExtendableGrids = "cfc395e8-590f-11e8-1f13-43a2532b2fa8" GridVisualize = "5eed8a63-0fb0-45eb-886d-8d5a387d12b8" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" -PlutoVista = "646e1f28-b900-46d7-9d87-d554eb38a413" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" SimplexGridFactory = "57bfcd06-606e-45d6-baf4-4ba06da0efd5" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -311,10 +307,10 @@ Triangulate = "f7e6ffb2-c36d-4f8f-a77e-16e897189344" VoronoiFVM = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" [compat] +CairoMakie = "~0.10.12" ExtendableGrids = "~0.9.17" GridVisualize = "~1.1.3" PlutoUI = "~0.7.51" -PlutoVista = "~0.8.24" Revise = "~3.5.3" SimplexGridFactory = "~0.5.19" Triangulate = "~2.2.0" @@ -325,9 +321,9 @@ VoronoiFVM = "~1.10.0" PLUTO_MANIFEST_TOML_CONTENTS = """ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.2" +julia_version = "1.9.3" manifest_format = "2.0" -project_hash = "26db2ae039712caf32d4a1326648090b802a2fc6" +project_hash = "48a865660f80f9b1cd15416e7a987c41cbaad5a3" [[deps.ADTypes]] git-tree-sha1 = "e58c18d2312749847a74f5be80bb0fa53da102bd" @@ -340,6 +336,22 @@ git-tree-sha1 = "1bd8a536c949eb3de9b58042d57790ded6b70fa6" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" version = "0.30.9" +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.AbstractLattices]] +git-tree-sha1 = "f35684b7349da49fcc8a9e520e30e45dbb077166" +uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" +version = "0.2.1" + [[deps.AbstractPlutoDingetjes]] deps = ["Pkg"] git-tree-sha1 = "8eaf9f1b4921132a4cff3f36a1d9ba923b14a481" @@ -361,6 +373,12 @@ weakdeps = ["StaticArrays"] [deps.Adapt.extensions] AdaptStaticArraysExt = "StaticArrays" +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" @@ -408,6 +426,24 @@ version = "1.0.11" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +[[deps.Automa]] +deps = ["TranscodingStreams"] +git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" +uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" +version = "0.8.4" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.7" + [[deps.BandedMatrices]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools", "SparseArrays"] git-tree-sha1 = "206e78eb10c9aaee4e73962b1cbd0ecf688d4b49" @@ -422,23 +458,62 @@ git-tree-sha1 = "fe4f8c5ee7f76f2198d5c2a06d3961c249cce7bd" uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" version = "0.1.4" -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - [[deps.BitTwiddlingConvenienceFunctions]] deps = ["Static"] git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" version = "0.1.5" +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.2" + [[deps.CPUSummary]] deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] git-tree-sha1 = "89e0654ed8c7aebad6d5ad235d6242c2d737a928" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" version = "0.2.3" +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" + +[[deps.CRlibm]] +deps = ["CRlibm_jll"] +git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" +uuid = "96374032-68de-5a5b-8d9e-752f78720389" +version = "1.0.1" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.CairoMakie]] +deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] +git-tree-sha1 = "5e21a254d82c64b1a4ed9dbdc7e87c5d9cf4a686" +uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +version = "0.10.12" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + [[deps.Calculus]] deps = ["LinearAlgebra"] git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" @@ -469,6 +544,12 @@ git-tree-sha1 = "02aa26a4cf76381be7f66e020a3eddeb27b0a092" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" version = "0.7.2" +[[deps.ColorBrewer]] +deps = ["Colors", "JSON", "Test"] +git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" +uuid = "a2cac450-b92f-5266-8821-25eda20663c8" +version = "0.4.0" + [[deps.ColorSchemes]] deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] git-tree-sha1 = "be6ab11021cd29f0344d5c4357b163af05a48cba" @@ -529,18 +610,6 @@ git-tree-sha1 = "02d2316b7ffceff992f3096ae48c7829a8aa0638" uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" version = "0.1.3" -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.2.1" - -[[deps.Configurations]] -deps = ["ExproniconLite", "OrderedCollections", "TOML"] -git-tree-sha1 = "62a7c76dbad02fdfdaa53608104edf760938c4ca" -uuid = "5218b696-f38b-4ac9-8b61-a12ec717816d" -version = "0.17.4" - [[deps.ConstructionBase]] deps = ["LinearAlgebra"] git-tree-sha1 = "738fec4d684a9a6ee9598a8bfee305b26831f28c" @@ -552,6 +621,11 @@ weakdeps = ["IntervalSets", "StaticArrays"] ConstructionBaseIntervalSetsExt = "IntervalSets" ConstructionBaseStaticArraysExt = "StaticArrays" +[[deps.Contour]] +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.2" + [[deps.CpuId]] deps = ["Markdown"] git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" @@ -578,6 +652,12 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelaunayTriangulation]] +deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] +git-tree-sha1 = "7cb0d72a53c1d93665eeadfa9d51af9df60bf6b2" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "0.8.10" + [[deps.DiffResults]] deps = ["StaticArraysCore"] git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" @@ -654,23 +734,28 @@ git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" -[[deps.ExceptionUnwrapping]] -deps = ["Test"] -git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" -uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.9" +[[deps.ErrorfreeArithmetic]] +git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" +uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" +version = "0.5.2" + +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArraysCore"] +git-tree-sha1 = "499b1ca78f6180c8f8bdf1cabde2d39120229e5c" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.6" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.5.0+0" [[deps.ExprTools]] git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.9" -[[deps.ExproniconLite]] -deps = ["Pkg", "TOML"] -git-tree-sha1 = "c2eb763acf6e13e75595e0737a07a0bec0ce2147" -uuid = "55351af7-c7e9-48d6-89ff-24e801d99491" -version = "0.7.11" - [[deps.ExtendableGrids]] deps = ["AbstractTrees", "Dates", "DocStringExtensions", "ElasticArrays", "InteractiveUtils", "LinearAlgebra", "Printf", "Random", "SparseArrays", "StaticArrays", "Test", "WriteVTK"] git-tree-sha1 = "2921bf0ffab4c8b7eda6a36c7b06a0dde6df0137" @@ -698,12 +783,36 @@ git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" version = "0.1.1" +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.4+1" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.7.1" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + [[deps.FastLapackInterface]] deps = ["LinearAlgebra"] git-tree-sha1 = "b12f05108e405dadcc2aff0008db7f831374e051" uuid = "29a986be-02c6-4525-aec4-84b980013641" version = "2.0.0" +[[deps.FastRounding]] +deps = ["ErrorfreeArithmetic", "LinearAlgebra"] +git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" +uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" +version = "0.3.1" + [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" @@ -741,6 +850,12 @@ git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.4" +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + [[deps.Formatting]] deps = ["Printf"] git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" @@ -757,6 +872,30 @@ weakdeps = ["StaticArrays"] [deps.ForwardDiff.extensions] ForwardDiffStaticArraysExt = "StaticArrays" +[[deps.FreeType]] +deps = ["CEnum", "FreeType2_jll"] +git-tree-sha1 = "50351f83f95282cf903e968d7c6e8d44a5f83d0b" +uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" +version = "4.1.0" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FreeTypeAbstraction]] +deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] +git-tree-sha1 = "38a92e40157100e796690421e34a11c107205c86" +uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" +version = "0.10.0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + [[deps.FunctionWrappers]] git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" @@ -772,12 +911,6 @@ version = "0.1.3" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -[[deps.FuzzyCompletions]] -deps = ["REPL"] -git-tree-sha1 = "e16dd964b4dfaebcded16b2af32f05e235b354be" -uuid = "fb4132e2-a121-4a70-b8a1-d5b831dcdcc2" -version = "0.5.1" - [[deps.GPUArraysCore]] deps = ["Adapt"] git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" @@ -796,12 +929,42 @@ git-tree-sha1 = "659140c9375afa2f685e37c1a0b9c9a60ef56b40" uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" version = "0.4.7" +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "e94c92c7bf4819685eb80186d51c43e71d4afa17" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.76.5+0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + [[deps.Graphs]] deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] git-tree-sha1 = "1cf1d7dcb4bc32d7b4a5add4232db3750c27ecb4" uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" version = "1.8.0" +[[deps.GridLayoutBase]] +deps = ["GeometryBasics", "InteractiveUtils", "Observables"] +git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" +uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" +version = "0.9.2" + [[deps.GridVisualize]] deps = ["ColorSchemes", "Colors", "DocStringExtensions", "ElasticArrays", "ExtendableGrids", "GeometryBasics", "GridVisualizeTools", "HypertextLiteral", "LinearAlgebra", "Observables", "OrderedCollections", "Printf", "StaticArrays"] git-tree-sha1 = "8b85cf197e28c495526ee704e6b1d202cafafa31" @@ -821,6 +984,11 @@ git-tree-sha1 = "5c7c69e512b6b65cdbc52cdaae1c75a0e186087a" uuid = "5573ae12-3b76-41d9-b48c-81d0b6e61cc5" version = "0.3.1" +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + [[deps.Groebner]] deps = ["AbstractAlgebra", "Combinatorics", "Logging", "MultivariatePolynomials", "Primes", "Random", "SnoopPrecompile"] git-tree-sha1 = "c8b55b624a83f60bcd6574cc999ad148d0a47dd6" @@ -833,11 +1001,11 @@ git-tree-sha1 = "9e1a5e9f3b81ad6a5c613d181664a0efc6fe6dd7" uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" version = "0.4.0" -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "cb56ccdd481c0dd7f975ad2b3b62d9eda088f7e2" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.9.14" +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] @@ -880,6 +1048,47 @@ git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" version = "0.1.1" +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.11" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.5" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.9.4" + +[[deps.ImageIO]] +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.7" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.9" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.7+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + [[deps.Inflate]] git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" @@ -890,10 +1099,28 @@ git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" version = "0.1.2" +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" + [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.14.7" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm", "EnumX", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] +git-tree-sha1 = "f59e639916283c1d2e106d2b00910b50f4dab76c" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.21.2" + [[deps.IntervalSets]] deps = ["Dates", "Random", "Statistics"] git-tree-sha1 = "16c0cc91853084cb5f58a78bd209513900206ce6" @@ -905,6 +1132,12 @@ git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.2.2" +[[deps.Isoband]] +deps = ["isoband_jll"] +git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" +uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" +version = "0.1.1" + [[deps.IterTools]] git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" @@ -933,6 +1166,18 @@ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "d65930fa2bc96b07d7691c652d701dcbe7d9cf0b" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.4" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.91+0" + [[deps.JuliaInterpreter]] deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] git-tree-sha1 = "6a125e6a4cb391e0b9adbd1afa9e771c2179f8ef" @@ -945,12 +1190,36 @@ git-tree-sha1 = "764164ed65c30738750965d55652db9c94c59bfe" uuid = "ef3ab10e-7fda-4108-b977-705223b18434" version = "0.4.0" +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.7" + [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] git-tree-sha1 = "6dc4ad9cd74ad4ca0a8e219e945dbd22039f2125" uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" version = "0.9.2" +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + [[deps.LaTeXStrings]] git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" @@ -987,17 +1256,21 @@ git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" uuid = "10f19ff3-798f-405d-979b-55457f8fc047" version = "0.1.14" -[[deps.LazilyInitializedFields]] -git-tree-sha1 = "410fe4739a4b092f2ffe36fcb0dcc3ab12648ce1" -uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.2.1" - [[deps.Lazy]] deps = ["MacroTools"] git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" version = "0.15.1" +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -1020,22 +1293,64 @@ version = "1.10.2+0" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + [[deps.Libiconv_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" version = "1.16.1+2" +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + [[deps.LightXML]] deps = ["Libdl", "XML2_jll"] git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" version = "0.9.0" +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.2.0" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[deps.LinearAlgebraX]] +deps = ["LinearAlgebra", "Mods", "Permutations", "Primes", "SimplePolynomials"] +git-tree-sha1 = "558a338f1eeabe933f9c2d4052aa7c2c707c3d52" +uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" +version = "0.1.12" + [[deps.LinearSolve]] deps = ["ArrayInterface", "DocStringExtensions", "EnumX", "FastLapackInterface", "GPUArraysCore", "InteractiveUtils", "KLU", "Krylov", "LinearAlgebra", "PrecompileTools", "Preferences", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Sparspak", "SuiteSparse", "UnPack"] git-tree-sha1 = "1b55771f2c211583ad52af5a5ca6475be374c961" @@ -1075,12 +1390,6 @@ version = "0.3.24" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" - [[deps.LoopVectorization]] deps = ["ArrayInterface", "ArrayInterfaceCore", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] git-tree-sha1 = "24e6c5697a6c93b5e10af2acf95f0b2e15303332" @@ -1103,26 +1412,49 @@ git-tree-sha1 = "65f28ad4b594aebe22157d6fac869786a255b7eb" uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" version = "0.1.4" +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + [[deps.MacroTools]] deps = ["Markdown", "Random"] git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.10" +[[deps.Makie]] +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "35fa3c150cd96fd77417a23965b7037b90d6ffc9" +uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +version = "0.19.12" + +[[deps.MakieCore]] +deps = ["Observables", "REPL"] +git-tree-sha1 = "9b11acd07f21c4d035bd4156e789532e8ee2cc70" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.6.9" + [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" version = "0.1.8" +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" +[[deps.MathTeXEngine]] +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test", "UnicodeFun"] +git-tree-sha1 = "8f52dbaa1351ce4cb847d95568cb29e62a307d93" +uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +version = "0.5.6" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -1144,15 +1476,25 @@ version = "1.1.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[deps.Mods]] +git-tree-sha1 = "61be59e4daffff43a8cec04b5e0dc773cbb5db3a" +uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" +version = "1.3.3" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2022.10.11" -[[deps.MsgPack]] -deps = ["Serialization"] -git-tree-sha1 = "fc8c15ca848b902015bd4a745d350f02cf791c2a" -uuid = "99f44e22-a591-53d1-9472-aa23ef4bd671" -version = "1.2.0" +[[deps.Multisets]] +git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" +uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" +version = "0.4.4" [[deps.MultivariatePolynomials]] deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] @@ -1166,12 +1508,24 @@ git-tree-sha1 = "964cb1a7069723727025ae295408747a0b36a854" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" version = "1.3.0" +[[deps.NLSolversBase]] +deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] +git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.8.3" + [[deps.NaNMath]] deps = ["OpenLibm_jll"] git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore", "ImageMetadata"] +git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.1.1" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" @@ -1187,27 +1541,39 @@ git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" version = "1.12.10" +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.21+4" +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "a4ca623df1ae99d09bc9868b008262d0c0ac1e4f" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.4+0" + [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+0" -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.1" - [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cae3153c7f6cf3f069a853883fd1919a6e5bab5b" +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.9+0" +version = "3.0.12+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -1215,33 +1581,98 @@ git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" +[[deps.Optim]] +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "01f85d9269b13fedc61e63cc72ee2213565f7a72" +uuid = "429524aa-4258-5aef-a3af-852621145aeb" +version = "1.7.8" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + [[deps.OrderedCollections]] git-tree-sha1 = "d321bf2de576bf25ec4d3e4360faca399afca282" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.6.0" +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" + [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.11.17" +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "5ded86ccaf0647349231ed6c0822c10886d4a1ee" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.4.1" + +[[deps.Packing]] +deps = ["GeometryBasics"] +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" +version = "0.5.0" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4745216e94f71cb768d58330b059c9b76f32cb66" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.50.14+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "4b2e829ee66d4218e0cef22c0a64ee37cf258c29" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.7.1" +[[deps.Permutations]] +deps = ["Combinatorics", "LinearAlgebra", "Random"] +git-tree-sha1 = "4f69b02cf40a0f494d0438ab29de32e14ef96e7b" +uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" +version = "0.4.18" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.42.2+0" + [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.9.2" -[[deps.Pluto]] -deps = ["Base64", "Configurations", "Dates", "Distributed", "FileWatching", "FuzzyCompletions", "HTTP", "HypertextLiteral", "InteractiveUtils", "Logging", "LoggingExtras", "MIMEs", "Markdown", "MsgPack", "Pkg", "PrecompileSignatures", "PrecompileTools", "REPL", "RegistryInstances", "RelocatableFolders", "Sockets", "TOML", "Tables", "URIs", "UUIDs"] -git-tree-sha1 = "06fec2244568a4641e3352d20d0a0a608df6fa92" -uuid = "c3e4b0f8-55cb-11ea-2926-15256bba5781" -version = "0.19.27" +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.3.5" [[deps.PlutoUI]] deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"] @@ -1249,12 +1680,6 @@ git-tree-sha1 = "b478a748be27bd2f2c73a7690da219d0844db305" uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" version = "0.7.51" -[[deps.PlutoVista]] -deps = ["ColorSchemes", "Colors", "DocStringExtensions", "GridVisualizeTools", "HypertextLiteral", "Pluto", "UUIDs"] -git-tree-sha1 = "30675d4a579f50e60e14a72e36cc453610af7b76" -uuid = "646e1f28-b900-46d7-9d87-d554eb38a413" -version = "0.8.24" - [[deps.Polyester]] deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] git-tree-sha1 = "0fe4e7c4d8ff4c70bfa507f0dd96fa161b115777" @@ -1267,6 +1692,30 @@ git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" version = "0.2.1" +[[deps.PolygonOps]] +git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" +uuid = "647866c9-e3ac-4575-94e7-e3d426903924" +version = "0.1.2" + +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Setfield", "SparseArrays"] +git-tree-sha1 = "5a95b69396b77fdb2c48970a535610c4743810e2" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.5" +weakdeps = ["ChainRulesCore", "FFTW", "MakieCore", "MutableArithmetics"] + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + +[[deps.PositiveFactorizations]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" +uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" +version = "0.2.4" + [[deps.PreallocationTools]] deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" @@ -1279,11 +1728,6 @@ version = "0.4.12" [deps.PreallocationTools.weakdeps] ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" -[[deps.PrecompileSignatures]] -git-tree-sha1 = "18ef344185f25ee9d51d80e179f8dad33dc48eb1" -uuid = "91cefc8d-f054-46dc-8f8c-26e11d7c5411" -version = "3.0.3" - [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "9673d39decc5feece56ef3940e5dafba15ba0f81" @@ -1306,6 +1750,18 @@ version = "0.5.4" deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.9.0" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" @@ -1326,6 +1782,21 @@ git-tree-sha1 = "062986376ce6d394b23d5d90f01d81426113a3c9" uuid = "fb686558-2515-59ef-acaa-46db3789a887" version = "0.4.3" +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + [[deps.RecipesBase]] deps = ["PrecompileTools"] git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" @@ -1359,17 +1830,11 @@ git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" -[[deps.RegistryInstances]] -deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] -git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" -uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" -version = "0.1.0" - [[deps.RelocatableFolders]] deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" +version = "1.0.1" [[deps.Requires]] deps = ["UUIDs"] @@ -1383,6 +1848,12 @@ git-tree-sha1 = "1e597b93700fa4045d7189afa7c004e0584ea548" uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" version = "3.5.3" +[[deps.RingLists]] +deps = ["Random"] +git-tree-sha1 = "f39da63aa6d2d88e0c1bd20ed6a3ff9ea7171ada" +uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2" +version = "0.2.8" + [[deps.Rmath]] deps = ["Random", "Rmath_jll"] git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" @@ -1395,6 +1866,11 @@ git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.4.0+0" +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + [[deps.RuntimeGeneratedFunctions]] deps = ["ExprTools", "SHA", "Serialization"] git-tree-sha1 = "0b9b18d6236e9ab2b092defaacdffd929d572642" @@ -1430,27 +1906,69 @@ version = "0.3.3" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.SetRounding]] +git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" +uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" +version = "0.2.1" + [[deps.Setfield]] deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" version = "1.1.1" +[[deps.ShaderAbstractions]] +deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "db0219befe4507878b1a90e07820fed3e62c289d" +uuid = "65257c39-d410-5151-9873-9b3e5be5013e" +version = "0.4.0" + [[deps.SharedArrays]] deps = ["Distributed", "Mmap", "Random", "Serialization"] uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SignedDistanceFields]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" +uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" +version = "0.4.0" + +[[deps.SimpleGraphs]] +deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] +git-tree-sha1 = "b608903049d11cc557c45e03b3a53e9260579c19" +uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" +version = "0.8.4" + +[[deps.SimplePartitions]] +deps = ["AbstractLattices", "DataStructures", "Permutations"] +git-tree-sha1 = "dcc02923a53f316ab97da8ef3136e80b4543dbf1" +uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" +version = "0.3.0" + +[[deps.SimplePolynomials]] +deps = ["Mods", "Multisets", "Polynomials", "Primes"] +git-tree-sha1 = "d537c31cf9995236166e3e9afc424a5a1c59ff9d" +uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" +version = "0.2.14" + +[[deps.SimpleRandom]] +deps = ["Distributions", "LinearAlgebra", "Random"] +git-tree-sha1 = "3a6fb395e37afab81aeea85bae48a4db5cd7244a" +uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8" +version = "0.3.1" [[deps.SimpleTraits]] deps = ["InteractiveUtils", "MacroTools"] @@ -1464,6 +1982,12 @@ git-tree-sha1 = "a02fa2a95e241c4145285475d55d640497b922ad" uuid = "57bfcd06-606e-45d6-baf4-4ba06da0efd5" version = "0.5.19" +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" + [[deps.SnoopPrecompile]] deps = ["Preferences"] git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" @@ -1511,6 +2035,18 @@ weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" +[[deps.StableHashTraits]] +deps = ["Compat", "SHA", "Tables", "TupleTools"] +git-tree-sha1 = "d29023a76780bb8a3f2273b29153fd00828cb73f" +uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" +version = "1.1.1" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + [[deps.Static]] deps = ["IfElse"] git-tree-sha1 = "dbde6766fc677423598138a5951269432b0fcc90" @@ -1651,6 +2187,12 @@ git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" version = "0.5.2" +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "7fd97bd1c5b1ff53a291cbd351d1d3d6ff4da5a5" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.6.7" + [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" @@ -1692,12 +2234,22 @@ git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" version = "0.1.7" +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" + [[deps.TruncatedStacktraces]] deps = ["InteractiveUtils", "MacroTools", "Preferences"] git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" uuid = "781d530d-4396-4725-bb49-402e4bee1e77" version = "1.4.0" +[[deps.TupleTools]] +git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" +uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" +version = "1.4.3" + [[deps.URIs]] git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" @@ -1715,6 +2267,12 @@ version = "1.0.2" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + [[deps.Unityper]] deps = ["ConstructionBase"] git-tree-sha1 = "21c8fc7cd598ef49f11bc9e94871f5d7740e34b9" @@ -1744,6 +2302,12 @@ git-tree-sha1 = "c5f210c7dc2cd4eacaf8bd33209844eb8efcb914" uuid = "82b139dc-5afc-11e9-35da-9b9bdfd336f3" version = "1.10.0" +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + [[deps.WriteVTK]] deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams", "VTKBase"] git-tree-sha1 = "7b46936613e41cfe1c6a5897d243ddcab8feabec" @@ -1756,16 +2320,112 @@ git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" version = "2.10.3+0" +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+0" +[[deps.isoband_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" +uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" +version = "0.2.3+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+0" +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+0" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" @@ -1775,6 +2435,18 @@ version = "1.48.0+0" deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" """ # ╔═╡ Cell order: @@ -1804,7 +2476,7 @@ version = "17.4.0+0" # ╠═41f427c1-b6ad-46d4-9151-1d872b4efeb6 # ╠═0e34c818-021b-44c9-8ee4-1a737c3de9cb # ╠═17be52fb-f55b-4b3d-85e5-33f36134046b -# ╟─03f582ec-4e95-4ca4-8482-9c797027810d +# ╠═03f582ec-4e95-4ca4-8482-9c797027810d # ╟─9468db0c-e924-4737-9b75-6bec753aafa9 # ╠═531edb71-6d32-4231-b117-5e36416d2fb1 # ╟─7f2081ee-67af-4d6c-971a-a383b6377fdf diff --git a/pluto-examples/interfaces1d.jl b/pluto-examples/interfaces1d.jl index 11682d535..fc263bd19 100644 --- a/pluto-examples/interfaces1d.jl +++ b/pluto-examples/interfaces1d.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.27 +# v0.19.32 using Markdown using InteractiveUtils @@ -7,18 +7,19 @@ using InteractiveUtils # ╔═╡ 18c423cc-18bf-41a0-a6e4-e30f91f39728 begin import Pkg as _Pkg - haskey(ENV,"PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) + haskey(ENV, "PLUTO_PROJECT") && _Pkg.activate(ENV["PLUTO_PROJECT"]) using Revise using VoronoiFVM using ExtendableGrids using GridVisualize - using PlutoVista using PlutoUI using HypertextLiteral using LinearAlgebra using LinearSolve using Test - GridVisualize.default_plotter!(PlutoVista) + using CairoMakie + CairoMakie.activate!(; type = "svg", visible = false) + GridVisualize.default_plotter!(CairoMakie) end # ╔═╡ 327af4a8-74cc-4834-ab19-d3a1d6873982 @@ -27,6 +28,8 @@ TableOfContents(; title = "", aside = false) # ╔═╡ 3fa189e4-9e1c-470c-bf26-15b631945d2d md""" # Interface conditions in 1D +[Source](https://github.com/j-fu/VoronoiFVM.jl/blob/master/pluto-examples/interfaces1d.jl) + This notebooks discusses handling of internal interfaces with VoronoiFVM.jl. ## Two subdomains @@ -92,7 +95,7 @@ begin end; # ╔═╡ 4cb07222-587b-4a74-a444-43f5433d5b03 -gridplot(grid, legend = :rt, resolution = (600, 200)) +gridplot(grid; legend = :rt, resolution = (600, 200)) # ╔═╡ 02ec3c0b-6e68-462b-84df-931370cbdcac md""" @@ -138,10 +141,10 @@ Create the system. We pass the interface condition function as a parameter. # ╔═╡ 139058a9-44a0-43d5-a377-4fc72927fa28 function make_system(breaction) - physics = VoronoiFVM.Physics(flux = flux!, breaction = breaction) + physics = VoronoiFVM.Physics(; flux = flux!, breaction = breaction) ## Create system - sys = VoronoiFVM.System(grid, physics, unknown_storage = :sparse) + sys = VoronoiFVM.System(grid, physics; unknown_storage = :sparse) ## Enable species in their respective subregions enable_species!(sys, 1, [1]) @@ -175,28 +178,24 @@ Plot the results # ╔═╡ 467dc381-3b3d-4de7-a7f9-bfc51300832b function plot(U1, U2; title = "") - vis = GridVisualizer(resolution = (600, 300)) - scalarplot!( - vis, - subgrid1, - U1, - clear = false, - show = false, - color = :green, - label = "u1", - ) - scalarplot!( - vis, - subgrid2, - U2, - clear = false, - show = true, - color = :blue, - label = "u2", - legend = :rt, - title = title, - flimits = (-0.5, 1.5), - ) + vis = GridVisualizer(; resolution = (600, 300)) + scalarplot!(vis, + subgrid1, + U1; + clear = false, + show = false, + color = :green, + label = "u1") + scalarplot!(vis, + subgrid2, + U2; + clear = false, + show = true, + color = :blue, + label = "u2", + legend = :rt, + title = title, + flimits = (-0.5, 1.5)) end # ╔═╡ fa4fcc0d-1d3a-45a2-8857-50536bbe39cc @@ -254,7 +253,6 @@ function mal_reaction(f, u, node) react = k1 * u[1] - k2 * u[2] f[1] = react f[2] = -react - end end @@ -434,20 +432,20 @@ We define a grid with N=$(N) subregions begin XX = collect(0:0.1:1) local xcoord = XX - for i = 1:N-1 + for i = 1:(N - 1) xcoord = glue(xcoord, XX .+ i) end grid2 = simplexgrid(xcoord) for i = 1:N cellmask!(grid2, [i - 1], [i], i) end - for i = 1:N-1 + for i = 1:(N - 1) bfacemask!(grid2, [i], [i], i + 2) end end # ╔═╡ b53b9d28-4c25-4fb8-a3e4-599b0e385121 -gridplot(grid2, legend = :lt, resolution = (600, 200)) +gridplot(grid2; legend = :lt, resolution = (600, 200)) # ╔═╡ e7ce7fd4-cfa4-4cc6-84a2-7e20ed2f4e5c md""" @@ -463,7 +461,7 @@ First, we introduce a continuous quantity which we name "cspec". Note that the " """ # ╔═╡ f35f419a-94dd-4051-a533-4b1ec9a4c9ec -const cspec = ContinuousQuantity(system6, 1:N, ispec = 1) +const cspec = ContinuousQuantity(system6, 1:N; ispec = 1) # ╔═╡ 9661e4fc-55e1-4c2c-a3ad-515cdac3b514 md""" @@ -517,50 +515,45 @@ end # ╔═╡ 59c83a22-a4cc-4b51-a1cc-5eb39588eacd begin - physics!(system6, VoronoiFVM.Physics(flux = flux2, breaction = breaction2)) - + physics!(system6, VoronoiFVM.Physics(; flux = flux2, breaction = breaction2)) ## Set boundary conditions boundary_dirichlet!(system6, dspec, 1, g_1) boundary_dirichlet!(system6, dspec, 2, g_2) boundary_dirichlet!(system6, cspec, 1, 0) boundary_dirichlet!(system6, cspec, 2, 0) - - # ensure that `solve` is called only after this cell - # as mutating circumvents the reactivity of the notebook - physics_ok=true + + # ensure that `solve` is called only after this cell + # as mutating circumvents the reactivity of the notebook + physics_ok = true end; # ╔═╡ de119a22-b695-4b4f-8e04-b7d68ec1e91b if physics_ok - sol6 = solve(system6, inival = 0.5) + sol6 = solve(system6; inival = 0.5) end; # ╔═╡ 83527778-76b2-4569-86c8-50dc6b48129f function plot2(U, subgrids, system6) dvws = VoronoiFVM.views(U, dspec, allsubgrids, system6) cvws = VoronoiFVM.views(U, cspec, allsubgrids, system6) - vis = GridVisualizer(resolution = (600, 300), legend = :rt) - scalarplot!( - vis, - allsubgrids, - grid2, - dvws, - flimits = (-0.5, 1.5), - clear = false, - color = :red, - label = "discontinuous species", - ) - scalarplot!( - vis, - allsubgrids, - grid2, - cvws, - flimits = (-0.5, 1.5), - clear = false, - color = :green, - label = "continuous species", - ) + vis = GridVisualizer(; resolution = (600, 300), legend = :rt) + scalarplot!(vis, + allsubgrids, + grid2, + dvws; + flimits = (-0.5, 1.5), + clear = false, + color = :red, + label = "discontinuous species") + scalarplot!(vis, + allsubgrids, + grid2, + cvws; + flimits = (-0.5, 1.5), + clear = false, + color = :green, + label = "continuous species") reveal(vis) end @@ -583,8 +576,7 @@ html"""
""" # ╔═╡ c344c0af-fb75-45f4-8977-45041a22b605 begin hrule() = html"""
""" - highlight(mdstring, color) = - htl"""
$(mdstring)
""" + highlight(mdstring, color) = htl"""
$(mdstring)
""" macro important_str(s) :(highlight(Markdown.parse($s), "#ffcccc")) @@ -596,7 +588,6 @@ begin :(highlight(Markdown.parse($s), "#ccffcc")) end - html"""