From 9d2dc09f08a2e5830bdc79828c6a5aafba556f48 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Fri, 29 May 2026 08:50:48 +0200 Subject: [PATCH 1/9] Fix inplace method with MPI --- Project.toml | 2 +- src/Commons/MatrixCreation.jl | 2 +- src/Commons/SolveProblem.jl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index cd15fb2..56a863c 100644 --- a/Project.toml +++ b/Project.toml @@ -42,7 +42,7 @@ FillArrays = "=1.13.0" Gridap = "=0.18.12" GridapDistributed = "=0.4.7" GridapGmsh = "=0.7.2" -GridapPETSc = "=0.5.3" +GridapPETSc = "0.5" LinearAlgebra = "1.11.0" MPI = "=0.20.22" NearestNeighbors = "=0.4.21" diff --git a/src/Commons/MatrixCreation.jl b/src/Commons/MatrixCreation.jl index 615ccaf..4ae9eac 100644 --- a/src/Commons/MatrixCreation.jl +++ b/src/Commons/MatrixCreation.jl @@ -70,7 +70,7 @@ function initialize_vectors(matrices::Tuple, uh0, ph0) vec_sum_pm = pazeros(Mat_Aup) Δa_star = pazeros(Mat_Apu) Δpm1 = pazeros(Mat_S) - Δa = pazeros(Mat_Tpu) + Δa = pazeros(vec_um) b1 = pazeros(Vec_Au) b2 = pazeros(Vec_Ap) diff --git a/src/Commons/SolveProblem.jl b/src/Commons/SolveProblem.jl index e4bdbaf..58a5d11 100644 --- a/src/Commons/SolveProblem.jl +++ b/src/Commons/SolveProblem.jl @@ -160,7 +160,7 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) # Use V_.Δa as scratch storage for Aup * Δpm1 to avoid # an extra allocation; then update in place. mul!(V_.Δa, M_.Aup, Δpm1) - @. V_.Δa = V_.Δa_star - θ * M_.inv_ML * V_.Δa + V_.Δa .= V_.Δa_star - θ * M_.inv_ML .* V_.Δa # In-place updates of velocity and pressure free dofs. axpy!(dt, V_.Δa, V_.um) # um += dt * Δa From f850415eed340b6c6eef4868d7e7967d904ddc8a Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 3 May 2026 10:59:52 +0200 Subject: [PATCH 2/9] Copy matrix instead of allocating a new PETSc matrix --- src/Commons/SolverOptions.jl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Commons/SolverOptions.jl b/src/Commons/SolverOptions.jl index dd7c549..5606a05 100644 --- a/src/Commons/SolverOptions.jl +++ b/src/Commons/SolverOptions.jl @@ -74,11 +74,9 @@ end function Algebra.numerical_setup!(vmsns::VMSPETScNS,A::AbstractMatrix) ns = vmsns.ns ns.A = A - println("convert") - @time ns.B = convert(PETScMatrix,A) - @check_error_code PETSC.KSPSetOperators(ns.ksp[],ns.B.mat[],ns.B.mat[]) - - # @time @check_error_code PETSC.KSPSetUp(ns.ksp[]) + GridapPETSc._copy!(ns.B.mat[], ns.A) + #ns.B = convert(PETScMatrix,A) + #@check_error_code PETSC.KSPSetOperators(ns.ksp[],ns.B.mat[],ns.B.mat[]) return ns end From 2b007837618736d1fb662095826b3c65d025c3a0 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Mon, 1 Jun 2026 15:00:51 +0200 Subject: [PATCH 3/9] Avoid allocating new PETScVectors and eliminate PETSc GC --- src/Commons/SolveProblem.jl | 2 +- src/Commons/SolverOptions.jl | 35 ++++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/Commons/SolveProblem.jl b/src/Commons/SolveProblem.jl index 58a5d11..451af70 100644 --- a/src/Commons/SolveProblem.jl +++ b/src/Commons/SolveProblem.jl @@ -187,7 +187,7 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) end @info "solution time at t = $tn : $time_solve s" - @time GridapPETSc.GridapPETSc.gridap_petsc_gc() + #GridapPETSc.GridapPETSc.gridap_petsc_gc() update_ũ_vector!(V_.ũ_vector, V_.um) diff --git a/src/Commons/SolverOptions.jl b/src/Commons/SolverOptions.jl index 5606a05..5b7e41e 100644 --- a/src/Commons/SolverOptions.jl +++ b/src/Commons/SolverOptions.jl @@ -55,7 +55,13 @@ end # garbage collection at every time step. struct VMSPETScNS{T} <: NumericalSetup ns::PETScLinearSolverNS{T} + Y::Ref{PETScVector} + B::Ref{PETScVector} + function VMSPETScNS{T}(ns::PETScLinearSolverNS{T}) where T + return new(ns, Ref{PETScVector}(), Ref{PETScVector}()) + end end +VMSPETScNS(ns::PETScLinearSolverNS{T}) where {T} = VMSPETScNS{T}(ns) """ @@ -86,24 +92,27 @@ function Algebra.solve!(x::PartitionedArrays.PVector,vmsns::VMSPETScNS,b::Partit B = similar(b,(axes(ns.A)[2],)) copy!(X,x) copy!(B,b) - Y = convert(PETScVector,X) - solve!(Y,vmsns,B) - copy!(x,Y) - x + if !isassigned(vmsns.Y) + vmsns.Y[] = convert(PETScVector,X) + else + GridapPETSc._copy!(vmsns.Y[].vec[], X) + end + + solve!(vmsns.Y[],vmsns,B) + copy!(x,vmsns.Y[]) + return x end function Algebra.solve!(x::PETScVector,vmsns::VMSPETScNS,b::AbstractVector) - # if MPI.Initialized() - # if petsc_gc && (x.comm != MPI.COMM_SELF) - # # gridap_petsc_gc() # Do garbage collection of PETSc objects - # end - # end - ns = vmsns.ns - B = convert(PETScVector,b) - solve!(x,ns,B) - x + if !isassigned(vmsns.B) + vmsns.B[] = convert(PETScVector,b) + else + GridapPETSc._copy!(vmsns.B[].vec[], b) + end + + solve!(x,ns,vmsns.B[]) return x end From ac1b815ff7eacf07e4d41629c917736771322cea Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Tue, 11 Aug 2026 14:11:06 +0200 Subject: [PATCH 4/9] Improve timing output --- Project.toml | 6 ++-- src/Commons/MatrixCreation.jl | 2 +- src/Commons/SolveProblem.jl | 63 ++++++++++++++++++++++------------- src/Main.jl | 4 +-- 4 files changed, 47 insertions(+), 28 deletions(-) diff --git a/Project.toml b/Project.toml index 56a863c..5627725 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SegregatedVMSSolver" uuid = "90220dfc-fac3-4908-b895-51c1a1f4cb85" -authors = ["Carlo Brunelli"] version = "3.0.1" +authors = ["Carlo Brunelli"] [deps] CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" @@ -28,6 +28,7 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" SyntheticEddyMethod = "57cf2c78-4fcb-4d27-9f1f-369b8b08b789" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" Trapz = "592b5752-818d-11e9-1e9a-2b8ca4a44cd1" UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" @@ -56,5 +57,6 @@ SparseArrays = "1.11.0" Statistics = "1.11.1" SyntheticEddyMethod = "=0.4.4" Test = "1.11.0" +TimerOutputs = "0.5.29" Trapz = "=2.0.3" -UnPack = "=1.0.2" \ No newline at end of file +UnPack = "=1.0.2" diff --git a/src/Commons/MatrixCreation.jl b/src/Commons/MatrixCreation.jl index 4ae9eac..ae8a4be 100644 --- a/src/Commons/MatrixCreation.jl +++ b/src/Commons/MatrixCreation.jl @@ -86,7 +86,7 @@ function initialize_matrices(u_adv, params, simcase) @info "matrices and vectors allocated" @info "filling matrices and vectors with values" - @time update_all_matrices_vectors!(matrices, u_adv, params, simcase) + update_all_matrices_vectors!(matrices, u_adv, params, simcase) @info "matrices and vectors updated" return matrices diff --git a/src/Commons/SolveProblem.jl b/src/Commons/SolveProblem.jl index 451af70..bdaf97c 100644 --- a/src/Commons/SolveProblem.jl +++ b/src/Commons/SolveProblem.jl @@ -7,6 +7,7 @@ using PartitionedArrays using Parameters using LinearAlgebra using Gridap.FESpaces +using TimerOutputs using SegregatedVMSSolver.ParametersDef using SegregatedVMSSolver.SolverOptions @@ -17,6 +18,12 @@ using SegregatedVMSSolver.ExportUtility using SegregatedVMSSolver.Interfaces export solve_case +export CBStepSetupStart, CBStepSetupEnd, CBSolveStart, CBSolveEnd + +struct CBStepSetupStart end +struct CBStepSetupEnd end +struct CBSolveStart end +struct CBSolveEnd end # --------------------------------------------------------------------------- @@ -99,7 +106,7 @@ end It solves iteratively the velocity and pressure system using the LS-VMS segregated scheme described in equations (27) and (30) of the paper. """ -function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) +function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase; callback) @unpack trials, tests = params U, P = trials @@ -112,14 +119,20 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) matrices, vectors, (uh_avg, ph_avg) = initialize_solve(simcase, params) @unpack Utn, Utn1, Ptn, Ptn1 = params + @info "Starting up solver" + GridapPETSc.with(args = split(petsc_options)) do any(kw -> occursin(kw, petsc_options), ["cuda", "aijcusparse"]) && run(`nvidia-smi`) M_ = _unpack_matrices(matrices) V_ = _unpack_vectors(vectors) - ns1 = create_PETSc_setup(M_.ML, vel_kspsetup) - ns2 = create_PETSc_setup(M_.S, pres_kspsetup) + to = TimerOutput() + + @timeit to "PETSc setup" begin + @timeit to "vel" ns1 = create_PETSc_setup(M_.ML, vel_kspsetup) + @timeit to "pres" ns2 = create_PETSc_setup(M_.S, pres_kspsetup) + end uh_tn_updt = FEFunction(Utn, V_.um) @@ -128,14 +141,17 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) if mod(ntime, matrix_freq_update) == 0 @info "updating matrices, vectors and PETSc setup" - @time update_all_matrices_vectors!(matrices, uh_tn_updt, params, simcase) - @time begin - numerical_setup!(ns1, M_.ML) - numerical_setup!(ns2, M_.S) + @timeit to "Step setup" begin + cbstate = callback(CBStepSetupStart()) + @timeit to "matrices and vectors" update_all_matrices_vectors!(matrices, uh_tn_updt, params, simcase) + @timeit to "ns vel" numerical_setup!(ns1, M_.ML) + @timeit to "ns pres" numerical_setup!(ns2, M_.S) + callback(CBStepSetupEnd(), cbstate) end end - time_solve = @elapsed begin + @timeit to "Solution" begin + cbstate = callback(CBSolveStart()) # Reset accumulators for this time step. Use fill! to avoid # allocating a new PVector just to copy zeros into it. fill!(V_.am, 0.0) @@ -151,22 +167,22 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) fill!(V_.Δpm1, 0.0) fill!(V_.Δa_star, 0.0) - solve_velocity!(ns1, M_, V_, dt, θ) - solve_pressure!(ns2, M_, V_, dt) + @timeit to "solve velocity" solve_velocity!(ns1, M_, V_, dt, θ) + @timeit to "solve pressure" solve_pressure!(ns2, M_, V_, dt) - Δpm1 = GridapDistributed.change_ghost(V_.Δpm1, M_.Aup) + @timeit to "change ghost" Δpm1 = GridapDistributed.change_ghost(V_.Δpm1, M_.Aup) # Δa = Δa* - θ * inv(ML) * (Aup * Δpm1) # Use V_.Δa as scratch storage for Aup * Δpm1 to avoid # an extra allocation; then update in place. - mul!(V_.Δa, M_.Aup, Δpm1) - V_.Δa .= V_.Δa_star - θ * M_.inv_ML .* V_.Δa + @timeit to "Aup * Δpm1" mul!(V_.Δa, M_.Aup, Δpm1) + @timeit to "Δa" V_.Δa .= V_.Δa_star - θ * M_.inv_ML .* V_.Δa # In-place updates of velocity and pressure free dofs. - axpy!(dt, V_.Δa, V_.um) # um += dt * Δa - V_.pm .+= Δpm1 # pm += Δpm1 (no temporary) + @timeit to "um" axpy!(dt, V_.Δa, V_.um) # um += dt * Δa + @timeit to "pm" V_.pm .+= Δpm1 # pm += Δpm1 (no temporary) - if m == 0 + @timeit to "copy and norm" if m == 0 copy!(V_.sum_pm, Δpm1) copy!(V_.am, V_.Δa) norm_Δa0 = norm(V_.Δa) @@ -184,12 +200,12 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) m += 1 end + callback(CBSolveEnd(), cbstate) end - @info "solution time at t = $tn : $time_solve s" #GridapPETSc.GridapPETSc.gridap_petsc_gc() - update_ũ_vector!(V_.ũ_vector, V_.um) + @timeit to "update u vector" update_ũ_vector!(V_.ũ_vector, V_.um) Utn = Utn1 Utn1 = U(tn + dt) @@ -200,7 +216,7 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) uh_tn_updt = FEFunction(Utn1, V_.um) if ntime > Number_Skip_Expansion - uh_tn_updt = FEFunction(Utn1, update_ũ(V_.ũ_vector)) + @timeit to "uh_tn update" uh_tn_updt = FEFunction(Utn1, update_ũ(V_.ũ_vector)) end uh_tn = FEFunction(Utn, V_.um) @@ -209,9 +225,10 @@ function solve_case(params::Dict{Symbol,Any}, simcase::SimulationCase) uh_avg = update_time_average(uh_tn, uh_avg, Utn, tn, ntime, time_step, simcase.simulationp.timep) ph_avg = update_time_average(ph_tn, ph_avg, Ptn, tn, ntime, time_step, simcase.simulationp.timep) - writesolution(params, simcase, ntime, tn, (uh_tn, ph_tn), (uh_avg, ph_avg)) - export_fields(params, simcase, tn, uh_tn, ph_tn) + @timeit to "write solution" writesolution(params, simcase, ntime, tn, (uh_tn, ph_tn), (uh_avg, ph_avg)) + @timeit to "export fields" export_fields(params, simcase, tn, uh_tn, ph_tn) end + show(to) # show timer output end end @@ -253,7 +270,7 @@ end function solve_velocity!(ns1, M_::NamedTuple, V_::NamedTuple, dt::Float64, θ::Float64) _assemble_velocity_rhs!(V_.b1, M_, V_.um, V_.pm, V_.am, V_.sum_pm, dt, θ) @info "solving velocity" - @time solve!(V_.Δa_star, ns1, V_.b1) + solve!(V_.Δa_star, ns1, V_.b1) end # Backwards-compatible signature that takes the raw tuples. @@ -295,7 +312,7 @@ end function solve_pressure!(ns2, M_::NamedTuple, V_::NamedTuple, dt::Float64) _assemble_pressure_rhs!(V_.b2, M_, V_.um, V_.pm, V_.am, V_.Δa_star, dt) @info "solving pressure" - @time solve!(V_.Δpm1, ns2, V_.b2) + solve!(V_.Δpm1, ns2, V_.b2) end # Backwards-compatible signature. θ is accepted for API stability but unused: diff --git a/src/Main.jl b/src/Main.jl index 07a9ae6..bb29e6f 100644 --- a/src/Main.jl +++ b/src/Main.jl @@ -4,7 +4,7 @@ using SegregatedVMSSolver.CreateProblem using SegregatedVMSSolver.SolveProblem using PartitionedArrays, Gridap, GridapDistributed -function solve(simcase::SimulationCase,backend::Function) +function solve(simcase::SimulationCase,backend::Function; callback::Function=(() -> nothing)) #check(simcase) backend() do distribute @@ -20,7 +20,7 @@ function solve(simcase::SimulationCase,backend::Function) printstructure(simcase) params = setup_case(simcase,distribute) - solve_case(params,simcase) + solve_case(params,simcase; callback) end return true From c995721b7cf0be6d79c71c5b33aafa270db61cc7 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 16 Aug 2026 16:50:40 +0200 Subject: [PATCH 5/9] Remove Manifest.toml and add .gitignore --- .gitignore | 7 + Manifest.toml | 1615 ------------------------------------------------- 2 files changed, 7 insertions(+), 1615 deletions(-) create mode 100644 .gitignore delete mode 100644 Manifest.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5281cbd --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +Manifest.toml +examples/2D/*.csv +examples/2D/TaylorGreen*.pvtu +examples/2D/Initial_Conditions +examples/2D/Results_vtu +examples/2D/Stab_0.01 +examples/2D/TaylorGreen*/TaylorGreen*.vtu diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index 4b5e108..0000000 --- a/Manifest.toml +++ /dev/null @@ -1,1615 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.12.5" -manifest_format = "2.0" -project_hash = "d8d9566dcba9340269aa6bca4b40577ee9d65168" - -[[deps.ADTypes]] -git-tree-sha1 = "f7304359109c768cf32dc5fa2d371565bb63b68a" -uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.21.0" - - [deps.ADTypes.extensions] - ADTypesChainRulesCoreExt = "ChainRulesCore" - ADTypesConstructionBaseExt = "ConstructionBase" - ADTypesEnzymeCoreExt = "EnzymeCore" - - [deps.ADTypes.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - -[[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.AbstractTrees]] -git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.5" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "35ea197a51ce46fcd01c4a44befce0578a1aaeca" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.5.0" -weakdeps = ["SparseArrays", "StaticArrays"] - - [deps.Adapt.extensions] - AdaptSparseArraysExt = "SparseArrays" - AdaptStaticArraysExt = "StaticArrays" - -[[deps.ArgCheck]] -git-tree-sha1 = "f9e9a66c9b7be1ad7372bbd9b062d9230c30c5ce" -uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" -version = "2.5.0" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.2" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "78b3a7a536b4b0a747a0f296ea77091ca0a9f9a3" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.23.0" - - [deps.ArrayInterface.extensions] - ArrayInterfaceAMDGPUExt = "AMDGPU" - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceCUDSSExt = ["CUDSS", "CUDA"] - ArrayInterfaceChainRulesCoreExt = "ChainRulesCore" - ArrayInterfaceChainRulesExt = "ChainRules" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceMetalExt = "Metal" - ArrayInterfaceReverseDiffExt = "ReverseDiff" - ArrayInterfaceSparseArraysExt = "SparseArrays" - ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" - ArrayInterfaceTrackerExt = "Tracker" - - [deps.ArrayInterface.weakdeps] - AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" - ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - Metal = "dde4c033-4e86-420c-a63e-0dd931031962" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.ArrayLayouts]] -deps = ["FillArrays", "LinearAlgebra", "StaticArrays"] -git-tree-sha1 = "e0b47732a192dd59b9d079a06d04235e2f833963" -uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.12.2" -weakdeps = ["SparseArrays"] - - [deps.ArrayLayouts.extensions] - ArrayLayoutsSparseArraysExt = "SparseArrays" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" -version = "1.11.0" - -[[deps.Atomix]] -deps = ["UnsafeAtomics"] -git-tree-sha1 = "29bb0eb6f578a587a49da16564705968667f5fa8" -uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" -version = "1.1.2" - - [deps.Atomix.extensions] - AtomixCUDAExt = "CUDA" - AtomixMetalExt = "Metal" - AtomixOpenCLExt = "OpenCL" - AtomixoneAPIExt = "oneAPI" - - [deps.Atomix.weakdeps] - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - Metal = "dde4c033-4e86-420c-a63e-0dd931031962" - OpenCL = "08131aa3-fb12-5dee-8b74-c09406e224a2" - oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" - -[[deps.AutoHashEquals]] -git-tree-sha1 = "4ec6b48702dacc5994a835c1189831755e4e76ef" -uuid = "15f4f7f2-30c1-5605-9d31-71845cf9641f" -version = "2.2.0" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.1.0" - -[[deps.BSON]] -git-tree-sha1 = "4c3e506685c527ac6a54ccc0c8c76fd6f91b42fb" -uuid = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0" -version = "0.3.9" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -version = "1.11.0" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.6" - -[[deps.BlockArrays]] -deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "0f606a9894e2bcda541ceb82a91a13c5d450ed97" -uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.9.3" - - [deps.BlockArrays.extensions] - BlockArraysAdaptExt = "Adapt" - BlockArraysBandedMatricesExt = "BandedMatrices" - - [deps.BlockArrays.weakdeps] - Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.9+0" - -[[deps.CEnum]] -git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.5.0" - -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "PrecompileTools", "Preferences", "Static"] -git-tree-sha1 = "f3a21d7fc84ba618a779d1ed2fcca2e682865bab" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.7" - -[[deps.CSV]] -deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "deddd8725e5e1cc49ee205a1964256043720a6c3" -uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.15" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "a21c5464519504e41e0cbc91f0188e8ca23d7440" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.5+1" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "e4c6a16e77171a5f5e25e9646617ab1c276c5607" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.26.0" -weakdeps = ["SparseArrays"] - - [deps.ChainRulesCore.extensions] - ChainRulesCoreSparseArraysExt = "SparseArrays" - -[[deps.CircularArrays]] -deps = ["OffsetArrays"] -git-tree-sha1 = "2ab6493bc581a03ffe5c49c84e2acccde156eaed" -uuid = "7a955b69-7140-5f4e-a0ed-f168c5e2e749" -version = "1.5.0" - -[[deps.CloseOpenIntervals]] -deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.13" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "062c5e1a5bf6ada13db96a4ae4749a4c2234f521" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.9" - -[[deps.CodecInflate64]] -deps = ["TranscodingStreams"] -git-tree-sha1 = "d981a6e8656b1e363a2731716f46851a2257deb7" -uuid = "6309b1aa-fc58-479c-8956-599a07234577" -version = "0.1.3" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.8" - -[[deps.Combinatorics]] -git-tree-sha1 = "c761b00e7755700f9cdf5b02039939d1359330e1" -uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" -version = "1.1.0" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools"] -git-tree-sha1 = "cda2cfaebb4be89c9084adaca7dd7333369715c5" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.1" - -[[deps.CommonWorldInvalidations]] -git-tree-sha1 = "ae52d1c52048455e85a387fbee9be553ec2b68d0" -uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" -version = "1.0.0" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.18.1" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.Compiler]] -git-tree-sha1 = "382d79bfe72a406294faca39ef0c3cef6e6ce1f1" -uuid = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1" -version = "0.1.1" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.3.0+1" - -[[deps.ConstructionBase]] -git-tree-sha1 = "b4b092499347b18a015186eae3042f72267106cb" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.6.0" - - [deps.ConstructionBase.extensions] - ConstructionBaseIntervalSetsExt = "IntervalSets" - ConstructionBaseLinearAlgebraExt = "LinearAlgebra" - ConstructionBaseStaticArraysExt = "StaticArrays" - - [deps.ConstructionBase.weakdeps] - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - -[[deps.Crayons]] -git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.1.1" - -[[deps.DataAPI]] -git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.16.0" - -[[deps.DataFrames]] -deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] -git-tree-sha1 = "fb61b4812c49343d7ef0b533ba982c46021938a6" -uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -version = "1.7.0" - -[[deps.DataInterpolations]] -deps = ["EnumX", "FindFirstFunctions", "ForwardDiff", "LinearAlgebra", "PrettyTables", "RecipesBase", "Reexport"] -git-tree-sha1 = "b6fc25b5dbff016d8aae1e0ae2740347bccb6f65" -uuid = "82cc6244-b520-54b8-b5a6-8a565e85f1d0" -version = "8.0.1" - - [deps.DataInterpolations.extensions] - DataInterpolationsChainRulesCoreExt = "ChainRulesCore" - DataInterpolationsOptimExt = "Optim" - DataInterpolationsRegularizationToolsExt = "RegularizationTools" - DataInterpolationsSymbolicsExt = "Symbolics" - - [deps.DataInterpolations.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Optim = "429524aa-4258-5aef-a3af-852621145aeb" - RegularizationTools = "29dad682-9a27-4bc3-9c72-016788665182" - Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.22" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" -version = "1.11.0" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" -version = "1.9.1" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.15.1" - -[[deps.DifferentiationInterface]] -deps = ["ADTypes", "LinearAlgebra"] -git-tree-sha1 = "7ae99144ea44715402c6c882bfef2adbeadbc4ce" -uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" -version = "0.7.16" - - [deps.DifferentiationInterface.extensions] - DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" - DifferentiationInterfaceDiffractorExt = "Diffractor" - DifferentiationInterfaceEnzymeExt = ["EnzymeCore", "Enzyme"] - DifferentiationInterfaceFastDifferentiationExt = "FastDifferentiation" - DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" - DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" - DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"] - DifferentiationInterfaceGPUArraysCoreExt = "GPUArraysCore" - DifferentiationInterfaceGTPSAExt = "GTPSA" - DifferentiationInterfaceMooncakeExt = "Mooncake" - DifferentiationInterfacePolyesterForwardDiffExt = ["PolyesterForwardDiff", "ForwardDiff", "DiffResults"] - DifferentiationInterfaceReverseDiffExt = ["ReverseDiff", "DiffResults"] - DifferentiationInterfaceSparseArraysExt = "SparseArrays" - DifferentiationInterfaceSparseConnectivityTracerExt = "SparseConnectivityTracer" - DifferentiationInterfaceSparseMatrixColoringsExt = "SparseMatrixColorings" - DifferentiationInterfaceStaticArraysExt = "StaticArrays" - DifferentiationInterfaceSymbolicsExt = "Symbolics" - DifferentiationInterfaceTrackerExt = "Tracker" - DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"] - - [deps.DifferentiationInterface.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" - Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - FastDifferentiation = "eb9bf01b-bf85-4b60-bf87-ee5de06c00be" - FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41" - FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - PolyesterForwardDiff = "98d1487c-24ca-40b6-b7ab-df2af84e126b" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" - SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.Distances]] -deps = ["LinearAlgebra", "Statistics", "StatsAPI"] -git-tree-sha1 = "c7e3a542b999843086e2f29dac96a618c105be1d" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.12" -weakdeps = ["ChainRulesCore", "SparseArrays"] - - [deps.Distances.extensions] - DistancesChainRulesCoreExt = "ChainRulesCore" - DistancesSparseArraysExt = "SparseArrays" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" -version = "1.11.0" - -[[deps.DocStringExtensions]] -git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.5" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.7.0" - -[[deps.EnumX]] -git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c" -uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" -version = "1.0.7" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "27af30de8b5445644e8ffe3bcb0d72049c089cf1" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.7.3+0" - -[[deps.EzXML]] -deps = ["Printf", "XML2_jll"] -git-tree-sha1 = "7ea1aa5869e2626ccae84480e4f37185bc6f41d3" -uuid = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" -version = "1.2.3" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "797762812ed063b9b94f6cc7742bc8883bb5e69e" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.9.0" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6d6219a004b8cf1e0b4dbe27a2860b8e04eba0be" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.11+0" - -[[deps.FLTK_jll]] -deps = ["Artifacts", "Fontconfig_jll", "FreeType2_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXft_jll", "Xorg_libXinerama_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "72a4842f93e734f378cf381dae2ca4542f019d23" -uuid = "4fce6fc7-ba6a-5f4c-898f-77e99806d6f8" -version = "1.3.8+0" - -[[deps.FastGaussQuadrature]] -deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "0044e9f5e49a57e88205e8f30ab73928b05fe5b6" -uuid = "442a2c76-b920-505d-bb47-c5924d526838" -version = "1.1.0" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "b66970a70db13f45b7e57fbda1736e1cf72174ea" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.17.0" - - [deps.FileIO.extensions] - HTTPExt = "HTTP" - - [deps.FileIO.weakdeps] - HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" - -[[deps.FilePathsBase]] -deps = ["Compat", "Dates"] -git-tree-sha1 = "3bab2c5aa25e7840a4b065805c0cdfc01f3068d2" -uuid = "48062228-2e41-5def-b9a4-89aafe57970f" -version = "0.9.24" -weakdeps = ["Mmap", "Test"] - - [deps.FilePathsBase.extensions] - FilePathsBaseMmapExt = "Mmap" - FilePathsBaseTestExt = "Test" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" -version = "1.11.0" - -[[deps.FillArrays]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "6a70198746448456524cb442b8af316927ff3e1a" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.13.0" - - [deps.FillArrays.extensions] - FillArraysPDMatsExt = "PDMats" - FillArraysSparseArraysExt = "SparseArrays" - FillArraysStatisticsExt = "Statistics" - - [deps.FillArrays.weakdeps] - PDMats = "90014a1f-27ba-587c-ab20-58faa44d9150" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.FindFirstFunctions]] -deps = ["PrecompileTools"] -git-tree-sha1 = "27b495de668ccea58de6b06d6d13181396598ea0" -uuid = "64ca27bc-2ba2-4a57-88aa-44e436879224" -version = "1.8.0" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] -git-tree-sha1 = "9340ca07ca27093ff68418b7558ca37b05f8aeb1" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.29.0" - - [deps.FiniteDiff.extensions] - FiniteDiffBandedMatricesExt = "BandedMatrices" - FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" - FiniteDiffSparseArraysExt = "SparseArrays" - FiniteDiffStaticArraysExt = "StaticArrays" - - [deps.FiniteDiff.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] -git-tree-sha1 = "f85dac9a96a01087df6e3a749840015a0ca3817d" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.17.1+0" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "afb7c51ac63e40708a3071f80f5e84a752299d4f" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.39" -weakdeps = ["StaticArrays"] - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "2c5512e11c791d1baed2049c5652441b28fc6a31" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.4+0" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -version = "1.11.0" - -[[deps.GLU_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg"] -git-tree-sha1 = "65af046f4221e27fb79b28b6ca89dd1d12bc5ec7" -uuid = "bd17208b-e95e-5925-bf81-e2f59b3e5c61" -version = "9.0.1+0" - -[[deps.GMP_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.3.0+2" - -[[deps.GettextRuntime_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll"] -git-tree-sha1 = "45288942190db7c5f760f59c04495064eedf9340" -uuid = "b0724c58-0f36-5564-988d-3bb0596ebc4a" -version = "0.22.4+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "GettextRuntime_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "24f6def62397474a297bfcec22384101609142ed" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.86.3+0" - -[[deps.Gridap]] -deps = ["AbstractTrees", "BSON", "BlockArrays", "Combinatorics", "DataStructures", "DocStringExtensions", "FastGaussQuadrature", "FileIO", "FillArrays", "ForwardDiff", "JLD2", "JSON", "LineSearches", "LinearAlgebra", "NLsolve", "NearestNeighbors", "PolynomialBases", "Preferences", "QuadGK", "Random", "SparseArrays", "SparseMatricesCSR", "StaticArrays", "Statistics", "Test", "WriteVTK"] -git-tree-sha1 = "f6468946ed376100d38252f9793c9d53623207b9" -uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e" -version = "0.18.12" - -[[deps.GridapDistributed]] -deps = ["BlockArrays", "FillArrays", "ForwardDiff", "Gridap", "LinearAlgebra", "MPI", "PartitionedArrays", "SparseArrays", "SparseMatricesCSR", "WriteVTK"] -git-tree-sha1 = "4d603a3173dca7504a67b91c3f33f62d34df1c8d" -uuid = "f9701e48-63b3-45aa-9a63-9bc6c271f355" -version = "0.4.7" - -[[deps.GridapGmsh]] -deps = ["Gridap", "GridapDistributed", "Libdl", "Metis", "PartitionedArrays", "gmsh_jll"] -git-tree-sha1 = "3f4e7fc7c777b794f204d4f0c23853a44c3bc9a8" -uuid = "3025c34a-b394-11e9-2a55-3fee550c04c8" -version = "0.7.2" - -[[deps.GridapPETSc]] -deps = ["Gridap", "GridapDistributed", "Libdl", "LinearAlgebra", "MPI", "PETSc_jll", "PartitionedArrays", "Random", "SparseArrays", "SparseMatricesCSR"] -git-tree-sha1 = "601899a547ac1f473be900e6b3157e62cb2db8fc" -uuid = "bcdc36c2-0c3e-11ea-095a-c9dadae499f1" -version = "0.5.3" - -[[deps.HDF5_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] -git-tree-sha1 = "e94f84da9af7ce9c6be049e9067e511e17ff89ec" -uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.14.6+0" - -[[deps.HashArrayMappedTries]] -git-tree-sha1 = "2eaa69a7cab70a52b9687c8bf950a5a93ec895ae" -uuid = "076d061b-32b6-4027-95e0-9a2c6f6d7e74" -version = "0.2.0" - -[[deps.Hwloc_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "92f65c4d78ce8cdbb6b68daf88889950b0a99d11" -uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" -version = "2.12.1+0" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.InlineStrings]] -git-tree-sha1 = "8f3d257792a522b4601c24a577954b0a8cd7334d" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.5" - - [deps.InlineStrings.extensions] - ArrowTypesExt = "ArrowTypes" - ParsersExt = "Parsers" - - [deps.InlineStrings.weakdeps] - ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" - Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" - -[[deps.InputBuffers]] -git-tree-sha1 = "e5392ea00942566b631e991dd896942189937b2f" -uuid = "0c81fc1b-5583-44fc-8770-48be1e1cca08" -version = "1.1.1" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] -git-tree-sha1 = "ec1debd61c300961f98064cfb21287613ad7f303" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2025.2.0+0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -version = "1.11.0" - -[[deps.Interpolations]] -deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "88a101217d7cb38a7b481ccd50d21876e1d1b0e0" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.15.1" - - [deps.Interpolations.extensions] - InterpolationsUnitfulExt = "Unitful" - - [deps.Interpolations.weakdeps] - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.InvertedIndices]] -git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe" -uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" -version = "1.3.1" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.6" - -[[deps.IterativeSolvers]] -deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "59545b0a2b27208b0650df0a46b8e3019f85055b" -uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.4" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "ScopedValues", "TranscodingStreams"] -git-tree-sha1 = "d97791feefda45729613fafeccc4fbef3f539151" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.5.15" -weakdeps = ["UnPack"] - - [deps.JLD2.extensions] - UnPackExt = "UnPack" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.7.1" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6893345fd6658c8e475d40155789f4860ac3b21" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.1.4+0" - -[[deps.JuliaInterpreter]] -deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "6ac9e4acc417a5b534ace12690bc6973c25b862f" -uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.10.3" - -[[deps.JuliaSyntaxHighlighting]] -deps = ["StyledStrings"] -uuid = "ac6e5ff7-fb65-4e79-a425-ec3bc9c03011" -version = "1.12.0" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "eb62a3deb62fc6d8822c0c4bef73e4412419c5d8" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "18.1.8+0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1c602b1127f4751facb671441ca72715cc95938a" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.3+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.4.0" - -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.17" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" -version = "1.11.0" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.4" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.15.0+0" - -[[deps.LibGit2]] -deps = ["LibGit2_jll", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" -version = "1.11.0" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.9.0+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "OpenSSL_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.3+1" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -version = "1.11.0" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c8da7e6a91781c41a863611c7e966098d783c57a" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.4.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "d36c21b9e7c172a44a10484125024495e2625ac0" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.7.1+1" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.18.0+0" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "97bbca976196f2a1eb9607131cb108c69ec3f8a6" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.41.3+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d0205286d9eceadc518742860bf23f703779a3d6" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.41.3+0" - -[[deps.LightXML]] -deps = ["Libdl", "XML2_jll"] -git-tree-sha1 = "aa971a09f0f1fe92fe772713a564aa48abe510df" -uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" -version = "0.9.3" - -[[deps.LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Printf"] -git-tree-sha1 = "9ea3422d03222c6de679934d1c08f0a99405aa03" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.5.1" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -version = "1.12.0" - -[[deps.LinearElasticity_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "71e8ee0f9fe0e86a8f8c7f28361e5118eab2f93f" -uuid = "18c40d15-f7cd-5a6d-bc92-87468d86c5db" -version = "5.0.0+0" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "13ca9e2586b89836fd20cccf56e57e2b9ae7f38f" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.29" - - [deps.LogExpFunctions.extensions] - LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" - LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" - LogExpFunctionsInverseFunctionsExt = "InverseFunctions" - - [deps.LogExpFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -version = "1.11.0" - -[[deps.LoweredCodeUtils]] -deps = ["Compiler", "JuliaInterpreter"] -git-tree-sha1 = "b882a7dd7ef37643066ae8f9380beea8fdd89cae" -uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "3.4.2" - -[[deps.METIS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "2eefa8baa858871ae7770c98c3c2a7e46daba5b4" -uuid = "d00139f3-1899-568f-a2f0-47f597d42d70" -version = "5.1.3+0" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] -git-tree-sha1 = "282cadc186e7b2ae0eeadbd7a4dffed4196ae2aa" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2025.2.0+0" - -[[deps.MMG_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "LinearElasticity_jll", "Pkg", "SCOTCH_jll"] -git-tree-sha1 = "70a59df96945782bb0d43b56d0fbfdf1ce2e4729" -uuid = "86086c02-e288-5929-a127-40944b0018b7" -version = "5.6.0+0" - -[[deps.MPI]] -deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] -git-tree-sha1 = "892676019c58f34e38743bc989b0eca5bce5edc5" -uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" -version = "0.20.22" - - [deps.MPI.extensions] - AMDGPUExt = "AMDGPU" - CUDAExt = "CUDA" - - [deps.MPI.weakdeps] - AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - -[[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "9341048b9f723f2ae2a72a5269ac2f15f80534dc" -uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.3.2+0" - -[[deps.MPIPreferences]] -deps = ["Libdl", "Preferences"] -git-tree-sha1 = "8e98d5d80b87403c311fd51e8455d4546ba7a5f8" -uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.12" - -[[deps.MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "36c2d142e7d45fb98b5f83925213feb3292ca348" -uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.5.5+0" - -[[deps.MacroTools]] -git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.16" - -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - -[[deps.Markdown]] -deps = ["Base64", "JuliaSyntaxHighlighting", "StyledStrings"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -version = "1.11.0" - -[[deps.Metis]] -deps = ["CEnum", "LinearAlgebra", "METIS_jll", "SparseArrays"] -git-tree-sha1 = "54aca4fd53d39dcd2c3f1bef367b6921e8178628" -uuid = "2679e427-3c69-5b7f-982b-ece356f1e94b" -version = "1.5.0" - - [deps.Metis.extensions] - MetisGraphs = "Graphs" - MetisLightGraphs = "LightGraphs" - MetisSimpleWeightedGraphs = ["SimpleWeightedGraphs", "Graphs"] - - [deps.Metis.weakdeps] - Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" - LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d" - SimpleWeightedGraphs = "47aef6b3-ad0c-573a-a1e2-d07658019622" - -[[deps.MicrosoftMPI_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bc95bf4149bf535c09602e3acdf950d9b4376227" -uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+3" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.2.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" -version = "1.11.0" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2025.11.4" - -[[deps.NLSolversBase]] -deps = ["ADTypes", "DifferentiationInterface", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "25a6638571a902ecfb1ae2a18fc1575f86b1d4df" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.10.0" - -[[deps.NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.1.3" - -[[deps.NearestNeighbors]] -deps = ["Distances", "StaticArrays"] -git-tree-sha1 = "8a3271d8309285f4db73b4f662b1b290c715e85e" -uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" -version = "0.4.21" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.3.0" - -[[deps.OCCT_jll]] -deps = ["Artifacts", "FreeType2_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXft_jll", "Xorg_libXinerama_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "f130ae166e244c5791d211d482d153360c34a94a" -uuid = "baad4e97-8daa-5946-aac2-2edac59d34e1" -version = "7.9.2+0" - -[[deps.OffsetArrays]] -git-tree-sha1 = "117432e406b5c023f665fa73dc26e79ec3630151" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.17.0" -weakdeps = ["Adapt"] - - [deps.OffsetArrays.extensions] - OffsetArraysAdaptExt = "Adapt" - -[[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "46cce8b42186882811da4ce1f4c7208b02deb716" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.30+0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.29+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.7+0" - -[[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML", "Zlib_jll"] -git-tree-sha1 = "2f3d05e419b6125ffe06e55784102e99325bdbe2" -uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "5.0.10+0" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.5.4+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1346c9208249809840c91b26703912dff463d335" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.6+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.8.1" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.44.0+1" - -[[deps.PETSc_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "MPICH_jll", "MicrosoftMPI_jll", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "8384198eba24438cee406ec7ca8854acdcbbd2c8" -uuid = "8fa3689e-f0b9-5420-9873-adf6ccf46f2d" -version = "3.15.2+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 = "7d2f8f21da5db6a806faf7b9b292296da42b2810" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.3" - -[[deps.PartitionedArrays]] -deps = ["CircularArrays", "Distances", "FillArrays", "IterativeSolvers", "LinearAlgebra", "MPI", "Printf", "Random", "SparseArrays", "SparseMatricesCSR"] -git-tree-sha1 = "03d64368a526494ea667acc52fb0e0f8084d381a" -uuid = "5a9dfac6-5c52-46f7-8278-5e2210713be9" -version = "0.3.5" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "db76b1ecd5e9715f3d043cec13b2ec93ce015d53" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.44.2+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.12.1" -weakdeps = ["REPL"] - - [deps.Pkg.extensions] - REPLExt = "REPL" - -[[deps.PkgVersion]] -deps = ["Pkg"] -git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" -uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" -version = "0.3.3" - -[[deps.Polyester]] -deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "16bbc30b5ebea91e9ce1671adc03de2832cff552" -uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.7.19" - -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.2" - -[[deps.PolynomialBases]] -deps = ["ArgCheck", "AutoHashEquals", "FFTW", "FastGaussQuadrature", "LinearAlgebra", "Requires", "SimpleUnPack", "SpecialFunctions"] -git-tree-sha1 = "d04bec789dce5ff61e8f128b6aee0eda09a3855f" -uuid = "c74db56a-226d-5e98-8bb0-a6049094aeea" -version = "0.4.25" - -[[deps.PooledArrays]] -deps = ["DataAPI", "Future"] -git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" -uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" -version = "1.4.3" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "07a921781cab75691315adc645096ed5e370cb77" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.3.3" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "8b770b60760d4451834fe79dd483e318eee709c4" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.5.2" - -[[deps.PrettyTables]] -deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "1101cd475833706e4d0e7b122218257178f48f34" -uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.4.0" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" -version = "1.11.0" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "9da16da70037ba9d701192e27befedefb91ec284" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.11.2" - - [deps.QuadGK.extensions] - QuadGKEnzymeExt = "Enzyme" - - [deps.QuadGK.weakdeps] - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - -[[deps.REPL]] -deps = ["InteractiveUtils", "JuliaSyntaxHighlighting", "Markdown", "Sockets", "StyledStrings", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" -version = "1.11.0" - -[[deps.Random]] -deps = ["SHA"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -version = "1.11.0" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.5" - - [deps.Ratios.extensions] - RatiosFixedPointNumbersExt = "FixedPointNumbers" - - [deps.Ratios.weakdeps] - FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" - -[[deps.RecipesBase]] -deps = ["PrecompileTools"] -git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.4" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.1" - -[[deps.Revise]] -deps = ["CodeTracking", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "f6f7d30fb0d61c64d0cfe56cf085a7c9e7d5bc80" -uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.8.0" -weakdeps = ["Distributed"] - - [deps.Revise.extensions] - DistributedExt = "Distributed" - -[[deps.SCOTCH_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "7110b749766853054ce8a2afaa73325d72d32129" -uuid = "a8d0f55d-b80e-548d-aff6-1a04c175f0f9" -version = "6.1.3+0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.ScatteredInterpolation]] -deps = ["Combinatorics", "Distances", "LinearAlgebra", "NearestNeighbors"] -git-tree-sha1 = "0d642a08199bbeccd874b33fe3a1b699d345ca79" -uuid = "3f865c0f-6dca-5f4d-999b-29fe1e7e3c92" -version = "0.3.6" - -[[deps.SciMLPublic]] -git-tree-sha1 = "0ba076dbdce87ba230fff48ca9bca62e1f345c9b" -uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b" -version = "1.0.1" - -[[deps.ScopedValues]] -deps = ["HashArrayMappedTries", "Logging"] -git-tree-sha1 = "ac4b837d89a58c848e85e698e2a2514e9d59d8f6" -uuid = "7e506255-f358-4e82-b7e4-beb19740aa63" -version = "1.6.0" - -[[deps.SegregatedVMSSolver]] -deps = ["CSV", "DataFrames", "DataInterpolations", "DelimitedFiles", "FFTW", "FileIO", "FillArrays", "Gridap", "GridapDistributed", "GridapGmsh", "GridapPETSc", "LinearAlgebra", "MPI", "NearestNeighbors", "Parameters", "PartitionedArrays", "Pkg", "Random", "Revise", "ScatteredInterpolation", "SparseArrays", "Statistics", "SyntheticEddyMethod", "Test", "Trapz", "UnPack"] -path = "." -uuid = "90220dfc-fac3-4908-b895-51c1a1f4cb85" -version = "3.0.1" - -[[deps.SentinelArrays]] -deps = ["Dates", "Random"] -git-tree-sha1 = "ebe7e59b37c400f694f52b58c93d26201387da70" -uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.9" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" -version = "1.11.0" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "c5391c6ace3bc430ca630251d02ea9687169ca68" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.2" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -version = "1.11.0" - -[[deps.SimpleUnPack]] -git-tree-sha1 = "58e6353e72cde29b90a69527e56df1b5c3d8c437" -uuid = "ce78b400-467f-4804-87d8-8f486da07d0a" -version = "1.1.0" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" -version = "1.11.0" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.2" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.12.0" - -[[deps.SparseMatricesCSR]] -deps = ["Atomix", "LinearAlgebra", "Polyester", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "914e64f3d7a3c7452200c2c637ad12f1aae8aacb" -uuid = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1" -version = "0.6.12" - -[[deps.SpecialFunctions]] -deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "5acc6a41b3082920f79ca3c759acbcecf18a8d78" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.7.1" -weakdeps = ["ChainRulesCore"] - - [deps.SpecialFunctions.extensions] - SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" - -[[deps.Static]] -deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "49440414711eddc7227724ae6e570c7d5559a086" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "1.3.1" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"] -git-tree-sha1 = "aa1ea41b3d45ac449d10477f65e2b40e3197a0d2" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.9.0" -weakdeps = ["OffsetArrays", "StaticArrays"] - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "246a8bb2e6667f832eea063c3a56aef96429a3db" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.18" -weakdeps = ["ChainRulesCore", "Statistics"] - - [deps.StaticArrays.extensions] - StaticArraysChainRulesCoreExt = "ChainRulesCore" - StaticArraysStatisticsExt = "Statistics" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.4" - -[[deps.Statistics]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.11.1" -weakdeps = ["SparseArrays"] - - [deps.Statistics.extensions] - SparseArraysExt = ["SparseArrays"] - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "178ed29fd5b2a2cfc3bd31c13375ae925623ff36" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.8.0" - -[[deps.StrideArraysCore]] -deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "83151ba8065a73f53ca2ae98bc7274d817aa30f2" -uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.5.8" - -[[deps.StringManipulation]] -deps = ["PrecompileTools"] -git-tree-sha1 = "d05693d339e37d6ab134c5ab53c29fce5ee5d7d5" -uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" -version = "0.4.4" - -[[deps.StyledStrings]] -uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" -version = "1.11.0" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.8.3+2" - -[[deps.SyntheticEddyMethod]] -deps = ["DataFrames", "FFTW", "FileIO", "Interpolations", "LinearAlgebra", "Statistics", "Test", "XLSX"] -git-tree-sha1 = "c8e1ddd628399b3e9dc4e8d4f66c32d8c50e9666" -uuid = "57cf2c78-4fcb-4d27-9f1f-369b8b08b789" -version = "0.4.4" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "f2c1efbc8f3a609aadf318094f8fc5204bdaf344" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.12.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -version = "1.11.0" - -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "d969183d3d244b6c33796b5ed01ab97328f2db85" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.5" - -[[deps.TranscodingStreams]] -git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.3" - -[[deps.Trapz]] -git-tree-sha1 = "79eb0ed763084a3e7de81fe1838379ac6a23b6a0" -uuid = "592b5752-818d-11e9-1e9a-2b8ca4a44cd1" -version = "2.0.3" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" -version = "1.11.0" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" -version = "1.11.0" - -[[deps.UnsafeAtomics]] -git-tree-sha1 = "b13c4edda90890e5b04ba24e20a310fbe6f249ff" -uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f" -version = "0.3.0" - - [deps.UnsafeAtomics.extensions] - UnsafeAtomicsLLVM = ["LLVM"] - - [deps.UnsafeAtomics.weakdeps] - LLVM = "929cbde3-209d-540e-8aea-75f648917ca0" - -[[deps.VTKBase]] -git-tree-sha1 = "c2d0db3ef09f1942d08ea455a9e252594be5f3b6" -uuid = "4004b06d-e244-455f-a6ce-a5f9919cc534" -version = "1.0.1" - -[[deps.WeakRefStrings]] -deps = ["DataAPI", "InlineStrings", "Parsers"] -git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23" -uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" -version = "1.4.2" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "248a7031b3da79a127f14e5dc5f417e26f9f6db7" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "1.1.0" - -[[deps.WorkerUtilities]] -git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7" -uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60" -version = "1.6.1" - -[[deps.WriteVTK]] -deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams", "VTKBase"] -git-tree-sha1 = "a329e0b6310244173690d6a4dfc6d1141f9b9370" -uuid = "64499a7a-5c06-52f2-abe2-ccb03c286192" -version = "1.21.2" - -[[deps.XLSX]] -deps = ["Artifacts", "Dates", "EzXML", "Printf", "Tables", "ZipArchives", "ZipFile"] -git-tree-sha1 = "7fca49e6dbb35b7b7471956c2a9d3d921360a00f" -uuid = "fdbf4ff8-1666-58a4-91e7-1b58723a45e0" -version = "0.10.4" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "5c959b708667b34cb758e8d7c6f8e69b94c32deb" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.15.1+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "808090ede1d41644447dd5cbafced4731c56bd2f" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.13+0" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "aa1261ebbac3ccc8d16558ae6799524c450ed16b" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.13+0" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "52858d64353db33a56e13c341d7bf44cd0d7b309" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.6+0" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "1a4a26870bf1e5d26cd585e38038d399d7e65706" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.8+0" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "75e00946e43621e09d431d9b95818ee751e6b2ef" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "6.0.2+0" - -[[deps.Xorg_libXft_jll]] -deps = ["Artifacts", "Fontconfig_jll", "JLLWrappers", "Libdl", "Xorg_libXrender_jll"] -git-tree-sha1 = "d893c27836da7986c3248997a2a9535e5e4d8a95" -uuid = "2c808117-e144-5220-80d1-69d4eaa9352c" -version = "2.3.9+0" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"] -git-tree-sha1 = "0ba01bc7396896a4ace8aab67db31403c71628f4" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.7+0" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.12+0" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] -git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.1+0" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a63799ff68005991f9d9491b6e95bd3478d783cb" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.6.0+0" - -[[deps.ZipArchives]] -deps = ["ArgCheck", "CodecInflate64", "CodecZlib", "InputBuffers", "PrecompileTools", "TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "83f728ecb873c58b794964f8b4bed811814d4b0d" -uuid = "49080126-0e18-4c2a-b176-c102e4b3760c" -version = "2.6.0" - -[[deps.ZipFile]] -deps = ["Libdl", "Printf", "Zlib_jll"] -git-tree-sha1 = "f492b7fe1698e623024e873244f10d89c95c340a" -uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.10.1" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.3.1+2" - -[[deps.gmsh_jll]] -deps = ["Artifacts", "Cairo_jll", "CompilerSupportLibraries_jll", "FLTK_jll", "FreeType2_jll", "GLU_jll", "GMP_jll", "HDF5_jll", "JLLWrappers", "JpegTurbo_jll", "LLVMOpenMP_jll", "Libdl", "Libglvnd_jll", "METIS_jll", "MMG_jll", "OCCT_jll", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "Xorg_libXft_jll", "Xorg_libXinerama_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "fdca60995cf57a52a571b3eb13284703a0b79f93" -uuid = "630162c2-fc9b-58b3-9910-8442a8a132e6" -version = "4.15.0+0" - -[[deps.libaec_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "13b760f97c6e753b47df30cb438d4dc3b50df282" -uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" -version = "1.1.5+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.15.0+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "e015f211ebb898c8180887012b938f3851e719ac" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.55+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.64.0+1" - -[[deps.oneTBB_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] -git-tree-sha1 = "1350188a69a6e46f799d3945beef36435ed7262f" -uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" -version = "2022.0.0+1" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.7.0+0" From a8ba3cae174fa5497bed695e09cc46e9972299a7 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 16 Aug 2026 16:52:07 +0200 Subject: [PATCH 6/9] Fix type instability --- src/Commons/ParametersDef/StabilizationStruct.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Commons/ParametersDef/StabilizationStruct.jl b/src/Commons/ParametersDef/StabilizationStruct.jl index 56e1dcf..55f55f0 100644 --- a/src/Commons/ParametersDef/StabilizationStruct.jl +++ b/src/Commons/ParametersDef/StabilizationStruct.jl @@ -108,7 +108,7 @@ end @with_kw struct TensorFormulation <: StabilizationFormulation r::Int64 = 2 - Ci::Vector{Real} = [4, 36] + Ci::Vector{Float64} = [4, 36] dt_limiter::TimestepLimiter = NoLimiter() @assert (Ci[1] >= 0 && Ci[2] >= 0) "Ci values must be non-negative" end From 9902ac3385de41fadda1f740792d6e6a8c80d9ef Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 16 Aug 2026 16:52:54 +0200 Subject: [PATCH 7/9] Fix callback signature --- src/Main.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Main.jl b/src/Main.jl index bb29e6f..10d7099 100644 --- a/src/Main.jl +++ b/src/Main.jl @@ -4,7 +4,7 @@ using SegregatedVMSSolver.CreateProblem using SegregatedVMSSolver.SolveProblem using PartitionedArrays, Gridap, GridapDistributed -function solve(simcase::SimulationCase,backend::Function; callback::Function=(() -> nothing)) +function solve(simcase::SimulationCase,backend::Function; callback::Function=((_...) -> nothing)) #check(simcase) backend() do distribute From c20c0080db3435d66afdc452eeb9d3aa4a902041 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 16 Aug 2026 16:53:28 +0200 Subject: [PATCH 8/9] Assembly performance improvements --- .../Equations/StabilizationOperations.jl | 25 ++++++------- src/Commons/Equations/StabilizedEquations.jl | 36 ++++++------------- src/Commons/MatrixCreation.jl | 24 ++++++++----- src/Commons/SolverOptions.jl | 13 +++++-- 4 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/Commons/Equations/StabilizationOperations.jl b/src/Commons/Equations/StabilizationOperations.jl index 29eed09..159e624 100644 --- a/src/Commons/Equations/StabilizationOperations.jl +++ b/src/Commons/Equations/StabilizationOperations.jl @@ -1,5 +1,7 @@ val_u(x) = x val_u(x::Gridap.Fields.ForwardDiff.Dual) = x.value +val_u(x::VectorValue{2,Gridap.Fields.ForwardDiff.Dual}) = VectorValue{2,Float64}(x[1].value, x[2].value) +val_u(x::VectorValue{3,Gridap.Fields.ForwardDiff.Dual}) = VectorValue{3,Float64}(x[1].value, x[2].value, x[3].value) # ── Effective Δt computation ─────────────────────────────────────────────────── @@ -14,9 +16,9 @@ function compute_dt_eff(dt::Float64, ::NoLimiter, uun, G, GG, ν::Float64) end function compute_dt_eff(dt::Float64, limiter::AdvectiveLimiter, uun, G, GG, ν::Float64) - uu_new = VectorValue(val_u.(uun)...) - iszero(norm(uu_new)) && return dt - adv = uu_new ⋅ G ⋅ uu_new + uun = val_u(uun) + iszero(norm(uun)) && return dt + adv = uun ⋅ G ⋅ uun iszero(adv) && return dt return max(dt, limiter.C_adv / sqrt(adv)) end @@ -27,9 +29,9 @@ function compute_dt_eff(dt::Float64, limiter::DiffusiveLimiter, uun, G, GG, ν:: end function compute_dt_eff(dt::Float64, limiter::CombinedLimiter, uun, G, GG, ν::Float64) - uu_new = VectorValue(val_u.(uun)...) - adv = uu_new ⋅ G ⋅ uu_new - dt_adv = (iszero(norm(uu_new)) || iszero(adv)) ? Inf : limiter.C_adv / sqrt(adv) + uun = val_u(uun) + adv = uun ⋅ G ⋅ uun + dt_adv = (iszero(norm(uun)) || iszero(adv)) ? Inf : limiter.C_adv / sqrt(adv) dt_diff = iszero(ν) ? Inf : limiter.C_diff / (ν * sqrt(GG)) return max(dt, min(dt_adv, dt_diff)) end @@ -57,7 +59,6 @@ function compute_stab_coeff(simcase::SimulationCase, params::Dict{Symbol,Any}) end # ── Momentum stabilization ───────────────────────────────────────────────────── - """ momentum_stabilization(uu, stab_coeff::TensorStabilization, simcase) @@ -73,18 +74,18 @@ function momentum_stabilization(uu, stab_coeff::TensorStabilization, simcase::Si @sunpack ν, dt = simcase - function τm(uun, G, GG) - dt_eff = compute_dt_eff(dt, dt_limiter, uun, G, GG, ν) + function τm(uun, G, GG)::Float64 + uun = val_u(uun) + dt_eff = compute_dt_eff(dt, dt_limiter, uun, G, GG, ν)::Float64 τ₁ = Ci[1] * (2 / dt_eff)^2 τ₃ = Ci[2] * (ν^2 * GG) - uu_new = VectorValue(val_u.(uun)...) - if iszero(norm(uu_new)) + if iszero(norm(uun)) return (τ₁ .+ τ₃) .^ (-1 / 2) end - τ₂ = uu_new ⋅ G ⋅ uu_new + τ₂ = uun ⋅ G ⋅ uun return (τ₁ .+ τ₂ .+ τ₃) .^ (-1 / 2) end diff --git a/src/Commons/Equations/StabilizedEquations.jl b/src/Commons/Equations/StabilizedEquations.jl index bb644e6..ad27275 100644 --- a/src/Commons/Equations/StabilizedEquations.jl +++ b/src/Commons/Equations/StabilizedEquations.jl @@ -16,46 +16,30 @@ function segregated_equations(u_adv,params::Dict{Symbol,Any},simcase::Simulation skewcoeff = skew * 0.5 # ==0 if skew == false vms_activation = is_VMS(sprob.method) - visc_term = 0.0 #- ν* compute_Δ(u_adv,D) # compute the laplacian of the previous time step stab_coeff = compute_stab_coeff(simcase,params) Tm = momentum_stabilization(u_adv, stab_coeff, simcase) Tc = continuity_stabilization(u_adv, stab_coeff, simcase) - ### VMS extra equations - Auu_vms1(u, v) = ∫(vms_activation .* u_adv ⋅ (∇(v))'*Tm⊙ (cconv ∘ (u_adv, ∇(u)) ) )dΩ + - ∫((vms_activation *skewcoeff) .* u_adv ⋅ (∇(v))'*Tm⊙ (u_adv ⋅ (∇ ⋅ u)) )dΩ - - Tuu_vms1(u, v) = ∫(vms_activation .* u_adv ⋅ (∇(v))'*Tm⊙u )dΩ # VMS1 - - Aup_vms1(p, v) = ∫(vms_activation .* u_adv ⋅ (∇(v))'*Tm⊙ (∇(p)) )dΩ - - #### SUPG equations - Tuu(u, v) = ∫((v + Tm * (cconv ∘ (u_adv, ∇(v)))) ⊙ u)dΩ + Tuu_vms1(u, v) + Tuu(u, v) = ∫((v + (Tm*u_adv) ⋅ (∇(v)+(∇(v))')) ⊙ u)dΩ Tpu(u, q) = ∫(Tm * (∇(q)) ⊙ u)dΩ - Auu1(u, v) = ∫(ν * ∇(v) ⊙ ∇(u) + (cconv ∘ (u_adv, ∇(u))) ⋅ v + (Tm * (cconv ∘ (u_adv, ∇(v)))) ⊙ (cconv ∘ (u_adv, ∇(u)) ))dΩ - - Auu2(u, v) = ∫((Tc * (∇ ⋅ v)) ⊙ (∇ ⋅ u) + skewcoeff .* u_adv ⋅ (v + Tm * (cconv ∘ (u_adv, ∇(v)))) ⋅ (∇ ⋅ u))dΩ - - Auu(u, v) = Auu1(u, v) + Auu2(u, v) + Auu_vms1(u, v) + + function Auu(u, v) + uconv = u_adv ⋅ ∇(u) + vconv = u_adv ⋅ ∇(v) + return ∫(ν * ∇(v) ⊙ ∇(u) + uconv ⋅ v + (Tm * (vconv + u_adv ⋅ (∇(v))')) ⊙ uconv + (Tc * (∇ ⋅ v)) ⊙ (∇ ⋅ u))dΩ + end - Aup(p, v) = ∫( v⋅(∇(p) ) + (Tm * (cconv ∘ (u_adv, ∇(v)))) ⊙ ∇(p))dΩ + Aup_vms1(p, v) + Aup(p, v) = ∫((v + (Tm*u_adv) ⋅ (∇(v)+(∇(v))')) ⊙ ∇(p))dΩ - Apu(u, q) = ∫(q * (∇ ⋅ u) + skewcoeff .* Tm ⋅ (∇(q)) ⋅ u_adv ⋅ (∇ ⋅ u) + Tm * (∇(q)) ⊙ (cconv ∘ (u_adv, ∇(u)) ))dΩ + Apu(u, q) = ∫(q * (∇ ⋅ u) + Tm * (∇(q)) ⊙ (u_adv ⋅ ∇(u)))dΩ App(p, q) = ∫((Tm * ∇(q)) ⊙ (∇(p)))dΩ - ML(u, v) = Tuu(u, v) + (θ * dt) * Auu(u, v) - S(p, q) = - θ * ∫((dt .+ Tm) ⋅ ((∇(q))' ⊙ (∇(p))))dΩ rhs(v) = 0.0 - - if typeof(simcase) <: TaylorGreen - writevtk(Ω, "Stab_$dt", nsubcells=order, cellfields=["tm"=>Tm, "tc"=>Tc] ) - @info "Exporting Stabilization Parameters" - end - return Tuu,Tpu,Auu,Aup,Apu,App,ML,S,rhs + return Tuu,Tpu,Auu,Aup,Apu,App,S,rhs end diff --git a/src/Commons/MatrixCreation.jl b/src/Commons/MatrixCreation.jl index ae8a4be..528c78b 100644 --- a/src/Commons/MatrixCreation.jl +++ b/src/Commons/MatrixCreation.jl @@ -25,7 +25,7 @@ export update_all_matrices_vectors! Allocate a zero PVector where the inverse of the lumped mass matrix is stored. """ function allocate_Mat_inv_ML(Mat_ML::PSparseMatrix) - return pzeros(Mat_ML.row_partition) + return pzeros(partition(axes(Mat_ML,1))) end @@ -36,7 +36,7 @@ Compute the row-sum (lumped) approximation of `Mat_ML`, then store its reciprocal in `Mat_inv_ML`. Operates locally on each rank. """ function inv_lump_vel_mass!(Mat_inv_ML::PVector, Mat_ML::PSparseMatrix) - values = map(Mat_ML.matrix_partition) do val + map!(partition(Mat_inv_ML), partition(Mat_ML)) do val N = maximum(rowvals(val)) V = zeros(N) vals = nonzeros(val) @@ -48,7 +48,6 @@ function inv_lump_vel_mass!(Mat_inv_ML::PVector, Mat_ML::PSparseMatrix) @. V = 1 / V V end - Mat_inv_ML .= PVector(values, Mat_ML.row_partition) end @@ -94,12 +93,12 @@ end function allocate_all_matrices_vectors(u_adv, params, simcase) - Tuu, Tpu, Auu, Aup, Apu, App, ML, S, rhs = segregated_equations(u_adv, params, simcase) + Tuu, Tpu, Auu, Aup, Apu, App, S, rhs = segregated_equations(u_adv, params, simcase) + @sunpack θ, dt = simcase @unpack Utn1, Ptn1, tests = params V, Q = tests - Mat_Tuu = allocate_matrix(Tuu, rhs, Utn1, V) Mat_Tpu = allocate_matrix(Tpu, rhs, Utn1, Q) Mat_Auu, Vec_Auu = allocate_matrix_and_vector(Auu, rhs, Utn1, V) @@ -107,7 +106,9 @@ function allocate_all_matrices_vectors(u_adv, params, simcase) Mat_Apu, Vec_Apu = allocate_matrix_and_vector(Apu, rhs, Utn1, Q) Mat_App, Vec_App = allocate_matrix_and_vector(App, rhs, Ptn1, Q) - Mat_ML = allocate_matrix(ML, rhs, Utn1, V) + Mat_Tuu = copy(Mat_Auu) + Mat_ML = copy(Mat_Auu) + Mat_S = allocate_matrix(S, rhs, Ptn1, Q) Mat_inv_ML = allocate_Mat_inv_ML(Mat_ML) @@ -143,10 +144,11 @@ function update_all_matrices_vectors!(matrices::Tuple, u_adv, params, simcase) Mat_ML, Mat_inv_ML, Mat_S, Vec_Auu, Vec_Aup, Vec_Apu, Vec_App, Vec_Au, Vec_Ap = matrices + @sunpack θ, dt = simcase @unpack Utn1, Ptn1, tests = params V, Q = tests - Tuu, Tpu, Auu, Aup, Apu, App, ML, S, _ = segregated_equations(u_adv, params, simcase) + Tuu, Tpu, Auu, Aup, Apu, App, S, _ = segregated_equations(u_adv, params, simcase) update_matrix!(Tuu, Mat_Tuu, Utn1, V) update_matrix!(Tpu, Mat_Tpu, Utn1, Q) @@ -156,7 +158,13 @@ function update_all_matrices_vectors!(matrices::Tuple, u_adv, params, simcase) update_matrix_vector!(Apu, Mat_Apu, Vec_Apu, Utn1, Q) update_matrix_vector!(App, Mat_App, Vec_App, Ptn1, Q) - update_matrix!(ML, Mat_ML, Utn1, V) + map(partition(Mat_ML),partition(Mat_Tuu),partition(Mat_Auu)) do ml, tuu, auu + ml .= auu + ml .*= θ*dt + ml .+= tuu + return + end + update_matrix!(S, Mat_S, Ptn1, Q) inv_lump_vel_mass!(Mat_inv_ML, Mat_ML) diff --git a/src/Commons/SolverOptions.jl b/src/Commons/SolverOptions.jl index 5b7e41e..d7ad51f 100644 --- a/src/Commons/SolverOptions.jl +++ b/src/Commons/SolverOptions.jl @@ -4,6 +4,7 @@ using GridapDistributed using GridapPETSc using GridapPETSc.PETSC using PartitionedArrays +using SparseArrays using Gridap.Algebra using MPI @@ -80,9 +81,15 @@ end function Algebra.numerical_setup!(vmsns::VMSPETScNS,A::AbstractMatrix) ns = vmsns.ns ns.A = A - GridapPETSc._copy!(ns.B.mat[], ns.A) - #ns.B = convert(PETScMatrix,A) - #@check_error_code PETSC.KSPSetOperators(ns.ksp[],ns.B.mat[],ns.B.mat[]) + nnz_a = sum(map(x -> count(!iszero, nonzeros(x)), partition(ns.A))) + nnz_b = nnz(ns.B) + if nnz_a != nnz_b + @info "Updating PETSc Matrix" + ns.B = convert(PETScMatrix,A) + # @check_error_code PETSC.KSPSetOperators(ns.ksp[],ns.B.mat[],ns.B.mat[]) + else + GridapPETSc._copy!(ns.B.mat[], ns.A) + end return ns end From b9e3aa786634149a8347d6654b712a18ace49dac Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Fri, 28 Aug 2026 15:27:48 +0200 Subject: [PATCH 9/9] Output number of DOFs and nnz. --- src/Commons/MatrixCreation.jl | 5 +++++ src/Commons/SolverOptions.jl | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Commons/MatrixCreation.jl b/src/Commons/MatrixCreation.jl index 528c78b..6cbc715 100644 --- a/src/Commons/MatrixCreation.jl +++ b/src/Commons/MatrixCreation.jl @@ -115,6 +115,11 @@ function allocate_all_matrices_vectors(u_adv, params, simcase) Vec_Ap = Vec_Apu + Vec_App Vec_Au = Vec_Auu + Vec_Aup + nnzM = sum(map(x -> nnz(x), partition(Mat_ML))) + nnzS = sum(map(x -> nnz(x), partition(Mat_S))) + + @info "Allocated matrices with $(size(Mat_ML,1)) equations and $nnzM nonzeros for velocity and $(size(Mat_S,1)) equations and $nnzS nonzeros for pressure." + return Mat_Tuu, Mat_Tpu, Mat_Auu, Mat_Aup, Mat_Apu, Mat_App, Mat_ML, Mat_inv_ML, Mat_S, Vec_Auu, Vec_Aup, Vec_Apu, Vec_App, Vec_Au, Vec_Ap diff --git a/src/Commons/SolverOptions.jl b/src/Commons/SolverOptions.jl index d7ad51f..521fa87 100644 --- a/src/Commons/SolverOptions.jl +++ b/src/Commons/SolverOptions.jl @@ -84,7 +84,7 @@ function Algebra.numerical_setup!(vmsns::VMSPETScNS,A::AbstractMatrix) nnz_a = sum(map(x -> count(!iszero, nonzeros(x)), partition(ns.A))) nnz_b = nnz(ns.B) if nnz_a != nnz_b - @info "Updating PETSc Matrix" + @info "Updating PETSc Matrix to increase nonzeros from $(nnz_b) to $(nnz_a)" ns.B = convert(PETScMatrix,A) # @check_error_code PETSC.KSPSetOperators(ns.ksp[],ns.B.mat[],ns.B.mat[]) else