diff --git a/packages/algjulia-interop/.gitignore b/packages/algjulia-interop/.gitignore index 57e3341df..1bd50e475 100644 --- a/packages/algjulia-interop/.gitignore +++ b/packages/algjulia-interop/.gitignore @@ -17,6 +17,9 @@ deps/src/ docs/build/ docs/site/ +# Build artifacts from tests +tests/build/ + # Julia sys images *.so diff --git a/packages/algjulia-interop/Manifest.toml b/packages/algjulia-interop/Manifest.toml index c1bbb7e0d..9c0f721a0 100644 --- a/packages/algjulia-interop/Manifest.toml +++ b/packages/algjulia-interop/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.12.6" manifest_format = "2.0" -project_hash = "9451d3fd8333dba6c13ebb67dfb76723fc303e64" +project_hash = "12858cc48af06aedad48433b2bbf167a53d6e1c9" [[deps.ACSets]] deps = ["AlgebraicInterfaces", "Base64", "CompTime", "DataStructures", "JSON3", "MLStyle", "OrderedCollections", "PEG", "Permutations", "Pkg", "PrettyTables", "Random", "Reexport", "SHA", "StaticArrays", "StructEquality", "StructTypes", "Tables"] @@ -20,30 +20,202 @@ version = "0.2.28" XLSX = "fdbf4ff8-1666-58a4-91e7-1b58723a45e0" nauty_jll = "55c6dc9b-343a-50ca-8ff2-b71adb3733d5" +[[deps.ADTypes]] +git-tree-sha1 = "bbc22a9a08a0ef6460041086d8a7b27940ed4ffd" +uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" +version = "1.22.0" +weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] + + [deps.ADTypes.extensions] + ADTypesChainRulesCoreExt = "ChainRulesCore" + ADTypesConstructionBaseExt = "ConstructionBase" + ADTypesEnzymeCoreExt = "EnzymeCore" + +[[deps.ANSIColoredPrinters]] +git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" +uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" +version = "0.0.1" + +[[deps.AbstractTrees]] +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.5" + +[[deps.Accessors]] +deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "MacroTools"] +git-tree-sha1 = "2eeb2c9bef11013efc6f8f97f32ee59b146b09fb" +uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" +version = "0.1.44" + + [deps.Accessors.extensions] + AxisKeysExt = "AxisKeys" + IntervalSetsExt = "IntervalSets" + LinearAlgebraExt = "LinearAlgebra" + StaticArraysExt = "StaticArrays" + StructArraysExt = "StructArrays" + TestExt = "Test" + UnitfulExt = "Unitful" + + [deps.Accessors.weakdeps] + AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5" + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + +[[deps.Adapt]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "28e1637322d4019ed2577cbec9268fab9b7da117" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "4.6.0" +weakdeps = ["SparseArrays", "StaticArrays"] + + [deps.Adapt.extensions] + AdaptSparseArraysExt = "SparseArrays" + AdaptStaticArraysExt = "StaticArrays" + [[deps.AlgebraicInterfaces]] git-tree-sha1 = "28cca88bde1068ccf57f950e639df67975517c25" uuid = "23cfdc9f-0504-424a-be1f-4892b28e2f0c" version = "0.1.4" +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" + [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.2" +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra"] +git-tree-sha1 = "3d0cabd25fab32390e3bcb82cd67e700aebd9816" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.25.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 = "b8651b2eb5796a386b0398a20b519a6a6150f75c" +uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" +version = "1.1.3" + + [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.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" version = "1.11.0" +[[deps.BibInternal]] +deps = ["TestItems"] +git-tree-sha1 = "b3107800faf461eca3281f89f8d768f4b3e99969" +uuid = "2027ae74-3657-4b95-ae00-e2f7d55c3e64" +version = "0.3.7" + +[[deps.BibParser]] +deps = ["BibInternal", "DataStructures", "Dates", "JSONSchema", "TestItems", "YAML"] +git-tree-sha1 = "2c9ed5108e3317571ef92c1cb0766fdd38c7d459" +uuid = "13533e5b-e1c2-4e57-8cef-cac5e52f6474" +version = "0.2.3" + +[[deps.Bibliography]] +deps = ["BibInternal", "BibParser", "DataStructures", "Dates", "FileIO", "TestItems", "YAML"] +git-tree-sha1 = "0b3e1837077d570bb0c231b9548093de4fa46629" +uuid = "f1be7e48-bf82-45af-a471-ae754a193061" +version = "0.3.1" + +[[deps.Bijections]] +git-tree-sha1 = "a2d308fcd4c2fb90e943cf9cd2fbfa9c32b69733" +uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" +version = "0.2.2" + [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" version = "0.1.9" +[[deps.BitTwiddlingConvenienceFunctions]] +deps = ["Static"] +git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" +uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" +version = "0.1.6" + +[[deps.BracketingNonlinearSolve]] +deps = ["CommonSolve", "ConcreteStructs", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "7ad7171d693ae5552ac43862e7f6b61df4471c2b" +uuid = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e" +version = "1.12.1" +weakdeps = ["ChainRulesCore", "ForwardDiff"] + + [deps.BracketingNonlinearSolve.extensions] + BracketingNonlinearSolveChainRulesCoreExt = ["ChainRulesCore", "ForwardDiff"] + BracketingNonlinearSolveForwardDiffExt = "ForwardDiff" + +[[deps.CPUSummary]] +deps = ["CpuId", "IfElse", "PrecompileTools", "Preferences", "Static"] +git-tree-sha1 = "f3a21d7fc84ba618a779d1ed2fcca2e682865bab" +uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" +version = "0.2.7" + [[deps.CatColabInterop]] -deps = ["ACSets", "Catlab", "HTTP", "MLStyle", "Oxygen", "Reexport", "StructTypes"] +deps = ["ACSets", "Catlab", "HTTP", "JSON3", "MLStyle", "Oxygen", "Reexport", "StructTypes", "Test"] path = "." uuid = "9ecda8fb-39ab-46a2-a496-7285fa6368c1" version = "0.1.1" @@ -72,6 +244,22 @@ version = "0.17.5" SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13" TikzPictures = "37f6aa50-8035-52d0-81c2-5a1d08754b2d" +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "12177ad6b3cad7fd50c8b3825ce24a99ad61c18f" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.26.1" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" + +[[deps.CloseOpenIntervals]] +deps = ["Static", "StaticArrayInterface"] +git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" +uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" +version = "0.1.13" + [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" @@ -94,11 +282,45 @@ git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.13.1" +[[deps.CombinatorialSpaces]] +deps = ["ACSets", "Artifacts", "Catlab", "FileIO", "GATlab", "GeometryBasics", "JSON", "KernelAbstractions", "Krylov", "LazyArrays", "LinearAlgebra", "MeshIO", "Parameters", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TetGen"] +git-tree-sha1 = "8e0682584b39d67f2820bfac58a57d4e183d3eca" +uuid = "b1c52339-7909-45ad-8b6a-6e388f7c67f2" +version = "0.10.0" + + [deps.CombinatorialSpaces.extensions] + CombinatorialSpacesCUDAExt = "CUDA" + CombinatorialSpacesDelaunayTriangulationExt = "DelaunayTriangulation" + CombinatorialSpacesMakieExt = "Makie" + CombinatorialSpacesMeshesExt = "Meshes" + + [deps.CombinatorialSpaces.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + DelaunayTriangulation = "927a84f5-c5f4-47a5-9785-b46e178433df" + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" + Meshes = "eacbb407-ea5a-433e-ab97-5258b1ca43fa" + [[deps.Combinatorics]] git-tree-sha1 = "c761b00e7755700f9cdf5b02039939d1359330e1" uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.1.0" +[[deps.CommonSolve]] +git-tree-sha1 = "78ea4ddbcf9c241827e7035c3a03e2e456711470" +uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" +version = "0.2.6" + +[[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.CompTime]] deps = ["MLStyle", "MacroTools"] git-tree-sha1 = "8c05059bc293a17f71cae4cd58b1fc18d4ede271" @@ -120,18 +342,89 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.3.0+1" +[[deps.ComponentArrays]] +deps = ["Adapt", "ArrayInterface", "ChainRulesCore", "ConstructionBase", "Functors", "LinearAlgebra", "StaticArrayInterface", "StaticArraysCore"] +git-tree-sha1 = "ce9d222dfc35f3608dc4dda9e8e150d06d2623bc" +uuid = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66" +version = "0.15.38" + + [deps.ComponentArrays.extensions] + ComponentArraysGPUArraysExt = "GPUArrays" + ComponentArraysKernelAbstractionsExt = "KernelAbstractions" + ComponentArraysMooncakeExt = "Mooncake" + ComponentArraysOptimisersExt = "Optimisers" + ComponentArraysReactantExt = "Reactant" + ComponentArraysRecursiveArrayToolsExt = "RecursiveArrayTools" + ComponentArraysReverseDiffExt = "ReverseDiff" + ComponentArraysSciMLBaseExt = "SciMLBase" + ComponentArraysTrackerExt = "Tracker" + ComponentArraysZygoteExt = "Zygote" + + [deps.ComponentArrays.weakdeps] + GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" + KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" + Reactant = "3c362404-f566-11ee-1572-e11a4b42c853" + RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + [[deps.Compose]] deps = ["Base64", "Colors", "DataStructures", "Dates", "IterTools", "JSON", "LinearAlgebra", "Measures", "Printf", "Random", "Requires", "Statistics", "UUIDs"] git-tree-sha1 = "b137aa32bfe5b89996f8f87825b64ac41b9f2e16" uuid = "a81c6b42-2e10-5240-aca2-a61377ecd94b" version = "0.9.6" +[[deps.CompositionsBase]] +git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" +uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" +version = "0.1.2" +weakdeps = ["InverseFunctions"] + + [deps.CompositionsBase.extensions] + CompositionsBaseInverseFunctionsExt = "InverseFunctions" + +[[deps.ConcreteStructs]] +git-tree-sha1 = "ed1da4eac5ba9b3f6d061c90f3ca6ba190dd6595" +uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471" +version = "0.2.4" + [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] git-tree-sha1 = "21d088c496ea22914fe80906eb5bce65755e5ec8" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" version = "2.5.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.CoordRefSystems]] +deps = ["ForwardDiff", "Random", "Rotations", "StaticArrays", "Unitful"] +git-tree-sha1 = "c62f490667d13233f6b4df6d0821e46adf3908c3" +uuid = "b46f11dc-f210-4604-bfba-323c1ec968cb" +version = "0.19.18" + +[[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" @@ -158,50 +451,476 @@ deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" version = "1.11.0" +[[deps.Decapodes]] +deps = ["ACSets", "CombinatorialSpaces", "ComponentArrays", "DiagrammaticEquations", "DocumenterCitations", "ForwardDiff", "Krylov", "LinearAlgebra", "MLStyle", "Markdown", "NaNMath", "PreallocationTools", "SparseArrays"] +git-tree-sha1 = "c2d20deec0e804c2cc156f398ffa0852756f9bec" +uuid = "679ab3ea-c928-4fe6-8d59-fd451142d391" +version = "0.6.8" + + [deps.Decapodes.extensions] + DecapodesCUDAExt = "CUDA" + + [deps.Decapodes.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + +[[deps.DiagrammaticEquations]] +deps = ["ACSets", "Catlab", "Colors", "DataStructures", "Latexify", "LinearAlgebra", "MLStyle", "PEG", "Reexport", "StatsBase", "StructEquality", "SymbolicUtils", "Unicode"] +git-tree-sha1 = "666279424faad2595dfe81cbcce827595e309158" +uuid = "6f00c28b-6bed-4403-80fa-30e0dc12f317" +version = "0.2.6" + +[[deps.DiffEqBase]] +deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"] +git-tree-sha1 = "c5fe5125fcba8f98cdc5c7221b6c324883899c07" +uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" +version = "6.213.0" + + [deps.DiffEqBase.extensions] + DiffEqBaseCUDAExt = "CUDA" + DiffEqBaseChainRulesCoreExt = "ChainRulesCore" + DiffEqBaseDynamicQuantitiesExt = "DynamicQuantities" + DiffEqBaseEnzymeExt = ["ChainRulesCore", "Enzyme"] + DiffEqBaseFlexUnitsExt = "FlexUnits" + DiffEqBaseForwardDiffExt = ["ForwardDiff"] + DiffEqBaseGTPSAExt = "GTPSA" + DiffEqBaseGeneralizedGeneratedExt = "GeneralizedGenerated" + DiffEqBaseMPIExt = "MPI" + DiffEqBaseMeasurementsExt = "Measurements" + DiffEqBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" + DiffEqBaseMooncakeExt = "Mooncake" + DiffEqBaseReverseDiffExt = "ReverseDiff" + DiffEqBaseSparseArraysExt = "SparseArrays" + DiffEqBaseTrackerExt = "Tracker" + DiffEqBaseUnitfulExt = "Unitful" + + [deps.DiffEqBase.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" + DynamicQuantities = "06fc5a27-2a28-4c7c-a15d-362465fb6821" + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + FlexUnits = "76e01b6b-c995-4ce6-8559-91e72a3d4e95" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8" + GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" + MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + +[[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 = "2147a95a217cc8a78ec96ee03581adf129468e49" +uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" +version = "0.7.18" + + [deps.DifferentiationInterface.extensions] + DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" + DifferentiationInterfaceDiffractorExt = "Diffractor" + DifferentiationInterfaceEnzymeExt = ["EnzymeCore", "Enzyme"] + DifferentiationInterfaceFastDifferentiationExt = "FastDifferentiation" + DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" + DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" + DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"] + DifferentiationInterfaceGPUArraysCoreExt = ["GPUArraysCore", "Adapt"] + DifferentiationInterfaceGTPSAExt = "GTPSA" + DifferentiationInterfaceHyperHessiansExt = "HyperHessians" + 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] + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + 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" + HyperHessians = "06b494a0-c8e0-40cc-ad32-d99506a00a6c" + 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.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +version = "1.11.0" + +[[deps.Distributions]] +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "e421c1938fafab0165b04dc1a9dbe2a26272952c" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.125" + + [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]] +git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.5" + +[[deps.Documenter]] +deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"] +git-tree-sha1 = "56e9c37b5e7c3b4f080ab1da18d72d5c290e184a" +uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +version = "1.17.0" + +[[deps.DocumenterCitations]] +deps = ["AbstractTrees", "Bibliography", "Bijections", "Dates", "Documenter", "Logging", "Markdown", "MarkdownAST", "OrderedCollections", "Unicode"] +git-tree-sha1 = "c9953a03a0049333bec89ac254ea28e86fa7a1a9" +uuid = "daee34ce-89f3-4625-b898-19384cb65244" +version = "1.4.1" + [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.7.0" +[[deps.DynamicPolynomials]] +deps = ["Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Reexport", "Test"] +git-tree-sha1 = "ca693f8707a77a0e365d49fe4622203b72b6cf1d" +uuid = "7c1d4256-1411-5781-91ec-d7bc3513ac07" +version = "0.6.3" + +[[deps.EarCut_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" +uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" +version = "2.2.4+0" + +[[deps.EnumX]] +git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.7" + +[[deps.EnzymeCore]] +git-tree-sha1 = "c6ee69ee502060982d12dbaaf3d8fcb4e835a0d1" +uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" +version = "0.8.20" +weakdeps = ["Adapt", "ChainRulesCore"] + + [deps.EnzymeCore.extensions] + AdaptExt = "Adapt" + EnzymeCoreChainRulesCoreExt = "ChainRulesCore" + [[deps.ExceptionUnwrapping]] deps = ["Test"] git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" version = "0.1.11" +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8f05e9a2e7c2e3eb524102bb2926c5743c07fbe1" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.8.0+0" + +[[deps.ExponentialUtilities]] +deps = ["Adapt", "ArrayInterface", "GPUArraysCore", "GenericSchur", "LinearAlgebra", "PrecompileTools", "Printf", "SparseArrays", "libblastrampoline_jll"] +git-tree-sha1 = "cc294ead6a85e975a8519dd4a0a6cb294eeb18d1" +uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" +version = "1.30.0" +weakdeps = ["StaticArrays"] + + [deps.ExponentialUtilities.extensions] + ExponentialUtilitiesStaticArraysExt = "StaticArrays" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.ExproniconLite]] +git-tree-sha1 = "c13f0b150373771b0fdc1713c97860f8df12e6c2" +uuid = "55351af7-c7e9-48d6-89ff-24e801d99491" +version = "0.10.14" + +[[deps.Extents]] +git-tree-sha1 = "b309b36a9e02fe7be71270dd8c0fd873625332b4" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.6" + +[[deps.FastBroadcast]] +deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] +git-tree-sha1 = "ab1b34570bcdf272899062e1a56285a53ecaae08" +uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" +version = "0.3.5" + +[[deps.FastClosures]] +git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" +uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" +version = "0.3.2" + +[[deps.FastGaussQuadrature]] +deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "ad29c8cb0ea5fb1816926d2a49683f890a8daf64" +uuid = "442a2c76-b920-505d-bb47-c5924d526838" +version = "1.2.0" + +[[deps.FastPower]] +git-tree-sha1 = "862831f78c7a48681a074ecc9aac09f2de563f71" +uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b" +version = "1.3.1" + + [deps.FastPower.extensions] + FastPowerEnzymeExt = "Enzyme" + FastPowerForwardDiffExt = "ForwardDiff" + FastPowerMeasurementsExt = "Measurements" + FastPowerMonteCarloMeasurementsExt = "MonteCarloMeasurements" + FastPowerMooncakeExt = "Mooncake" + FastPowerReverseDiffExt = "ReverseDiff" + FastPowerTrackerExt = "Tracker" + + [deps.FastPower.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "8e9c059d6857607253e837730dbf780b6b151acd" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.19.0" +weakdeps = ["HTTP"] + + [deps.FileIO.extensions] + HTTPExt = "HTTP" + [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" version = "1.11.0" +[[deps.FillArrays]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "2f979084d1e13948a3352cf64a25df6bd3b4dca3" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.16.0" +weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStaticArraysExt = "StaticArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FiniteDiff]] +deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] +git-tree-sha1 = "f7017a4f337f8df189fcce98e32b67a1298a2115" +uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" +version = "2.31.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.FixedPointNumbers]] deps = ["Statistics"] git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.5" +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cddeab6487248a39dae1a960fff0ac17b2a28888" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "1.3.3" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" + +[[deps.FunctionWrappers]] +git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" +uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" +version = "1.1.3" + +[[deps.FunctionWrappersWrappers]] +deps = ["FunctionWrappers"] +git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" +uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" +version = "0.1.3" + +[[deps.Functors]] +deps = ["Compat", "ConstructionBase", "LinearAlgebra", "Random"] +git-tree-sha1 = "60a0339f28a233601cb74468032b5c302d5067de" +uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" +version = "0.5.2" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" +version = "1.11.0" + [[deps.GATlab]] deps = ["AlgebraicInterfaces", "Colors", "Crayons", "DataStructures", "JSON", "MLStyle", "Markdown", "Random", "Reexport", "StructEquality", "UUIDs"] git-tree-sha1 = "70ba9859a1a62ff8af931d7ab0bc5df65e090ac1" uuid = "f0ffcf3b-d13a-433e-917c-cc44ccf5ead2" version = "0.2.2" +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "83cf05ab16a73219e5f6bd1bdfa9848fa24ac627" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.2.0" + [[deps.GeneralizedGenerated]] deps = ["DataStructures", "JuliaVariables", "MLStyle", "Serialization"] git-tree-sha1 = "60f1fa1696129205873c41763e7d0920ac7d6f1f" uuid = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" version = "0.3.3" +[[deps.GenericSchur]] +deps = ["LinearAlgebra", "Printf"] +git-tree-sha1 = "a694e2a57394e409f7a11ee0977362a9fafcb8c7" +uuid = "c145ed77-6b09-5dd9-b285-bf645a82121e" +version = "0.5.6" + +[[deps.GeometryBasics]] +deps = ["EarCut_jll", "Extents", "IterTools", "LinearAlgebra", "PrecompileTools", "Random", "StaticArrays"] +git-tree-sha1 = "1f5a80f4ed9f5a4aada88fc2db456e637676414b" +uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" +version = "0.5.10" + + [deps.GeometryBasics.extensions] + GeometryBasicsGeoInterfaceExt = "GeoInterface" + + [deps.GeometryBasics.weakdeps] + GeoInterface = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" + +[[deps.Ghostscript_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Zlib_jll"] +git-tree-sha1 = "38044a04637976140074d0b0621c1edf0eb531fd" +uuid = "61579ee1-b43e-5ca0-a5da-69d92c66a64b" +version = "9.55.1+0" + +[[deps.Git]] +deps = ["Git_LFS_jll", "Git_jll", "JLLWrappers", "OpenSSH_jll"] +git-tree-sha1 = "824a1890086880696fc908fe12a17bcf61738bd8" +uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" +version = "1.5.0" + +[[deps.Git_LFS_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8c66e385d631bb934ff05e76d4a566c640c8df69" +uuid = "020c3dae-16b3-5ae5-87b3-4cb189e250b2" +version = "3.7.1+0" + +[[deps.Git_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "0dd4cfb426924210c8f42742751cbde74b27bfa3" +uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" +version = "2.54.0+0" + [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] git-tree-sha1 = "51059d23c8bb67911a2e6fd5130229113735fc7e" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" version = "1.11.0" +[[deps.HypergeometricFunctions]] +deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "68c173f4f449de5b438ee67ed0c9c748dc31a2ec" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.28" + +[[deps.IOCapture]] +deps = ["Logging", "Random"] +git-tree-sha1 = "0ee181ec08df7d7c911901ea38baf16f755114dc" +uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" +version = "1.0.0" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.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.InverseFunctions]] +git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.17" +weakdeps = ["Dates", "Test"] + + [deps.InverseFunctions.extensions] + InverseFunctionsDatesExt = "Dates" + InverseFunctionsTestExt = "Test" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.6" + [[deps.IterTools]] git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" @@ -236,6 +955,28 @@ version = "1.14.3" [deps.JSON3.weakdeps] ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" +[[deps.JSONSchema]] +deps = ["Downloads", "JSON", "URIs"] +git-tree-sha1 = "d13f79c4242969874da7d00bda17d59bc7699aa7" +uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" +version = "1.5.0" +weakdeps = ["JSON3"] + + [deps.JSONSchema.extensions] + JSONSchemaJSON3Ext = "JSON3" + +[[deps.Jieko]] +deps = ["ExproniconLite"] +git-tree-sha1 = "2f05ed29618da60c06a87e9c033982d4f71d0b6c" +uuid = "ae98c720-c025-4a4a-838c-29b094483192" +version = "0.2.1" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c0c9b76f3520863909825cbecdef58cd63de705a" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.1.5+0" + [[deps.JuliaSyntaxHighlighting]] deps = ["StyledStrings"] uuid = "ac6e5ff7-fb65-4e79-a425-ec3bc9c03011" @@ -247,11 +988,81 @@ git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" version = "0.2.4" +[[deps.KernelAbstractions]] +deps = ["Adapt", "Atomix", "InteractiveUtils", "MacroTools", "PrecompileTools", "Requires", "StaticArrays", "UUIDs"] +git-tree-sha1 = "f2e76d3ced51a2a9e185abc0b97494c7273f649f" +uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" +version = "0.9.41" +weakdeps = ["EnzymeCore", "LinearAlgebra", "SparseArrays"] + + [deps.KernelAbstractions.extensions] + EnzymeExt = "EnzymeCore" + LinearAlgebraExt = "LinearAlgebra" + SparseArraysExt = "SparseArrays" + +[[deps.Krylov]] +deps = ["LinearAlgebra", "Printf", "SparseArrays"] +git-tree-sha1 = "c4d19f51afc7ba2afbe32031b8f2d21b11c9e26e" +uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" +version = "0.10.6" + [[deps.LaTeXStrings]] git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" version = "1.4.0" +[[deps.Latexify]] +deps = ["Format", "Ghostscript_jll", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Requires"] +git-tree-sha1 = "44f93c47f9cd6c7e431f2f2091fcba8f01cd7e8f" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.10" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SparseArraysExt = "SparseArrays" + SymEngineExt = "SymEngine" + TectonicExt = "tectonic_jll" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + tectonic_jll = "d7dd28d6-a5e6-559c-9131-7eb760cdacc5" + +[[deps.LayoutPointers]] +deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c" +uuid = "10f19ff3-798f-405d-979b-55457f8fc047" +version = "0.1.17" + +[[deps.LazilyInitializedFields]] +git-tree-sha1 = "0f2da712350b020bc3957f269c9caad516383ee0" +uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" +version = "1.3.0" + +[[deps.LazyArrays]] +deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "MacroTools", "SparseArrays"] +git-tree-sha1 = "33b5d8fafb7ab69eca907b359d00d0107feb2cbf" +uuid = "5078a376-72f3-5289-bfd5-ec5146d43c02" +version = "2.9.7" + + [deps.LazyArrays.extensions] + LazyArraysBandedMatricesExt = "BandedMatrices" + LazyArraysBlockArraysExt = "BlockArrays" + LazyArraysBlockBandedMatricesExt = "BlockBandedMatrices" + LazyArraysStaticArraysExt = "StaticArrays" + + [deps.LazyArrays.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[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" @@ -293,11 +1104,115 @@ git-tree-sha1 = "aa971a09f0f1fe92fe772713a564aa48abe510df" uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" version = "0.9.3" +[[deps.LineSearch]] +deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] +git-tree-sha1 = "fd58a77c92e7c8f1db25c9839127d52943a49349" +uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b" +version = "0.1.9" +weakdeps = ["LineSearches"] + + [deps.LineSearch.extensions] + LineSearchLineSearchesExt = "LineSearches" + +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Printf"] +git-tree-sha1 = "24dcd7871875cc8afdf2bb881137ea229aec16bc" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.6.2" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" version = "1.12.0" +[[deps.LinearSolve]] +deps = ["ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "GPUArraysCore", "InteractiveUtils", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "OpenBLAS_jll", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "Setfield", "StaticArraysCore"] +git-tree-sha1 = "91dfa6cbc23852a5b6802e9b98788361b31f2076" +uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" +version = "3.80.0" + + [deps.LinearSolve.extensions] + LinearSolveAMDGPUExt = "AMDGPU" + LinearSolveAlgebraicMultigridExt = "AlgebraicMultigrid" + LinearSolveBLISExt = ["blis_jll", "LAPACK_jll"] + LinearSolveBandedMatricesExt = "BandedMatrices" + LinearSolveBlockDiagonalsExt = "BlockDiagonals" + LinearSolveCUDAExt = ["cuSOLVER"] + LinearSolveCUDSSExt = "CUDSS" + LinearSolveCUSOLVERRFExt = ["CUSOLVERRF", "SparseArrays"] + LinearSolveChainRulesCoreExt = "ChainRulesCore" + LinearSolveCliqueTreesExt = ["CliqueTrees", "SparseArrays"] + LinearSolveElementalExt = "Elemental" + LinearSolveEnzymeExt = ["EnzymeCore", "SparseArrays"] + LinearSolveFastAlmostBandedMatricesExt = "FastAlmostBandedMatrices" + LinearSolveFastLapackInterfaceExt = "FastLapackInterface" + LinearSolveForwardDiffExt = "ForwardDiff" + LinearSolveGinkgoExt = ["Ginkgo", "SparseArrays"] + LinearSolveHYPREExt = "HYPRE" + LinearSolveIterativeSolversExt = "IterativeSolvers" + LinearSolveKernelAbstractionsExt = "KernelAbstractions" + LinearSolveKrylovKitExt = "KrylovKit" + LinearSolveMetalExt = "Metal" + LinearSolveMooncakeExt = "Mooncake" + LinearSolvePETScExt = ["PETSc", "SparseArrays", "SparseMatricesCSR"] + LinearSolvePETScMPIExt = ["PETSc", "PartitionedArrays", "SparseArrays", "SparseMatricesCSR"] + LinearSolveParUExt = ["ParU_jll", "SparseArrays"] + LinearSolvePardisoExt = ["Pardiso", "SparseArrays"] + LinearSolveRecursiveFactorizationExt = "RecursiveFactorization" + LinearSolveSTRUMPACKExt = ["SparseArrays", "STRUMPACK_jll"] + LinearSolveSparseArraysExt = "SparseArrays" + LinearSolveSparspakExt = ["SparseArrays", "Sparspak"] + + [deps.LinearSolve.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" + AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c" + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" + CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" + CUSOLVERRF = "a8cc9031-bad2-4722-94f5-40deabb4245c" + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" + Elemental = "902c3f28-d1ec-5e7e-8399-a24c3845ee38" + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" + FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e" + FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Ginkgo = "4c8bd3c9-ead9-4b5e-a625-08f1338ba0ec" + HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" + IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" + KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" + KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" + LAPACK_jll = "51474c39-65e3-53ba-86ba-03b1b862ec14" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0" + ParU_jll = "9e0b026c-e8ce-559c-a2c4-6a3d5c955bc9" + Pardiso = "46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2" + PartitionedArrays = "5a9dfac6-5c52-46f7-8278-5e2210713be9" + RecursiveFactorization = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" + STRUMPACK_jll = "86fbd0b9-476f-557c-b766-62c724b42d8c" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SparseMatricesCSR = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1" + Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac" + blis_jll = "6136c539-28a5-5bf0-87cc-b183200dce32" + cuSOLVER = "887afef0-6a32-4de5-add4-7827692ba8fc" + +[[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" @@ -313,6 +1228,12 @@ git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" version = "1.1.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.MLStyle]] git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" uuid = "d8e11817-5142-5d16-987a-aa16d5891078" @@ -323,11 +1244,32 @@ 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.MarkdownAST]] +deps = ["AbstractTrees", "Markdown"] +git-tree-sha1 = "93c718d892e73931841089cdc0e982d6dd9cc87b" +uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" +version = "0.1.3" + +[[deps.MaybeInplace]] +deps = ["ArrayInterface", "LinearAlgebra", "MacroTools"] +git-tree-sha1 = "54e2fdc38130c05b42be423e90da3bade29b74bd" +uuid = "bb5d69b7-63fc-4a16-80bd-7e42200c7bdb" +version = "0.1.4" +weakdeps = ["SparseArrays"] + + [deps.MaybeInplace.extensions] + MaybeInplaceSparseArraysExt = "SparseArrays" + [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] git-tree-sha1 = "8785729fa736197687541f7053f6d8ab7fc44f92" @@ -345,14 +1287,61 @@ git-tree-sha1 = "b513cedd20d9c914783d8ad83d08120702bf2c77" uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" version = "0.3.3" +[[deps.MeshIO]] +deps = ["ColorTypes", "FileIO", "GeometryBasics", "Printf"] +git-tree-sha1 = "c009236e222df68e554c7ce5c720e4a33cc0c23f" +uuid = "7269a6da-0436-5bbc-96c2-40638cbb6118" +version = "0.5.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.Moshi]] +deps = ["ExproniconLite", "Jieko"] +git-tree-sha1 = "53f817d3e84537d84545e0ad749e483412dd6b2a" +uuid = "2e0e35c7-a2e4-4343-998d-7ef72827ed2d" +version = "0.3.7" + [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2025.11.4" +[[deps.MuladdMacro]] +git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" +uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" +version = "0.2.4" + +[[deps.MultivariatePolynomials]] +deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] +git-tree-sha1 = "fade91fe9bee7b142d332fc6ab3f0deea29f637b" +uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" +version = "0.5.9" + +[[deps.MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "dc5b2c4c111c46bc79ac4405eeb563523b39c004" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "1.8.0" + +[[deps.NLSolversBase]] +deps = ["ADTypes", "DifferentiationInterface", "FiniteDiff", "LinearAlgebra"] +git-tree-sha1 = "b3f76b463c7998473062992b246045e6961a074e" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "8.0.0" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "9b8215b1ee9e78a293f99797cd31375471b2bcae" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.1.3" + [[deps.NameResolution]] deps = ["PrettyPrint"] git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" @@ -363,11 +1352,113 @@ version = "0.1.5" uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.3.0" +[[deps.NonlinearSolve]] +deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "NonlinearSolveBase", "NonlinearSolveFirstOrder", "NonlinearSolveQuasiNewton", "NonlinearSolveSpectralMethods", "PrecompileTools", "Preferences", "Reexport", "SciMLBase", "SciMLLogging", "SimpleNonlinearSolve", "StaticArraysCore", "SymbolicIndexingInterface"] +git-tree-sha1 = "d27bcf0cebf8786edcc2eaa4455c959e680334e7" +uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" +version = "4.16.0" + + [deps.NonlinearSolve.extensions] + NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt" + NonlinearSolveFixedPointAccelerationExt = "FixedPointAcceleration" + NonlinearSolveLeastSquaresOptimExt = "LeastSquaresOptim" + NonlinearSolveMINPACKExt = "MINPACK" + NonlinearSolveNLSolversExt = "NLSolvers" + NonlinearSolveNLsolveExt = ["NLsolve", "LineSearches"] + NonlinearSolvePETScExt = ["PETSc", "MPI", "SparseArrays"] + NonlinearSolveSIAMFANLEquationsExt = "SIAMFANLEquations" + NonlinearSolveSpeedMappingExt = "SpeedMapping" + NonlinearSolveSundialsExt = "Sundials" + + [deps.NonlinearSolve.weakdeps] + FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce" + FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176" + LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891" + LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" + MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9" + MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" + NLSolvers = "337daf1e-9722-11e9-073e-8b9effe078ba" + NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" + PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0" + SIAMFANLEquations = "084e46ad-d928-497d-ad5e-07fa361a48c4" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SpeedMapping = "f1835b91-879b-4a3f-a438-e4baacf14412" + Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4" + +[[deps.NonlinearSolveBase]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "Compat", "ConcreteStructs", "DifferentiationInterface", "EnzymeCore", "FastClosures", "LinearAlgebra", "LogExpFunctions", "Markdown", "MaybeInplace", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "SciMLBase", "SciMLJacobianOperators", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] +git-tree-sha1 = "a89529d343dbb09670a24df090787dc3475fba5d" +uuid = "be0214bd-f91f-a760-ac4e-3421ce2b2da0" +version = "2.19.0" + + [deps.NonlinearSolveBase.extensions] + NonlinearSolveBaseBandedMatricesExt = "BandedMatrices" + NonlinearSolveBaseChainRulesCoreExt = "ChainRulesCore" + NonlinearSolveBaseEnzymeExt = ["ChainRulesCore", "Enzyme"] + NonlinearSolveBaseForwardDiffExt = "ForwardDiff" + NonlinearSolveBaseLineSearchExt = "LineSearch" + NonlinearSolveBaseLinearSolveExt = "LinearSolve" + NonlinearSolveBaseMooncakeExt = "Mooncake" + NonlinearSolveBaseReverseDiffExt = "ReverseDiff" + NonlinearSolveBaseSparseArraysExt = "SparseArrays" + NonlinearSolveBaseSparseMatrixColoringsExt = "SparseMatrixColorings" + NonlinearSolveBaseTrackerExt = "Tracker" + + [deps.NonlinearSolveBase.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + LineSearch = "87fe0de2-c867-4266-b59a-2f0a94fc965b" + LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.NonlinearSolveFirstOrder]] +deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConcreteStructs", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "Setfield", "StaticArraysCore"] +git-tree-sha1 = "eea7cbe389b168c77df7ff779fb7277019c685c8" +uuid = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d" +version = "2.0.0" + +[[deps.NonlinearSolveQuasiNewton]] +deps = ["ArrayInterface", "CommonSolve", "ConcreteStructs", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLOperators", "StaticArraysCore"] +git-tree-sha1 = "ade27e8e9566b6cec63ee62f6a6650a11cf9a2eb" +uuid = "9a2c21bd-3a47-402d-9113-8faf9a0ee114" +version = "1.12.0" +weakdeps = ["ForwardDiff"] + + [deps.NonlinearSolveQuasiNewton.extensions] + NonlinearSolveQuasiNewtonForwardDiffExt = "ForwardDiff" + +[[deps.NonlinearSolveSpectralMethods]] +deps = ["CommonSolve", "ConcreteStructs", "LineSearch", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "eafd027b5cd768f19bb5de76c0e908a9065ddd36" +uuid = "26075421-4e9a-44e1-8bd1-420ed7ad02b2" +version = "1.6.0" +weakdeps = ["ForwardDiff"] + + [deps.NonlinearSolveSpectralMethods.extensions] + NonlinearSolveSpectralMethodsForwardDiffExt = "ForwardDiff" + [[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.OpenSSH_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll", "Zlib_jll"] +git-tree-sha1 = "57baa4b81a24c2910afbb6d853aa0685e4312bf7" +uuid = "9bd350c2-7e96-507f-8002-3f2e150b4e1b" +version = "10.3.1+0" + [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "NetworkOptions", "OpenSSL_jll", "Sockets"] git-tree-sha1 = "1d1aaa7d449b58415f97d2839c318b70ffb525a0" @@ -379,11 +1470,215 @@ 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.OrdinaryDiffEq]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FillArrays", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "MacroTools", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqAdamsBashforthMoulton", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqDefault", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqExplicitRK", "OrdinaryDiffEqExponentialRK", "OrdinaryDiffEqExtrapolation", "OrdinaryDiffEqFIRK", "OrdinaryDiffEqFeagin", "OrdinaryDiffEqFunctionMap", "OrdinaryDiffEqHighOrderRK", "OrdinaryDiffEqIMEXMultistep", "OrdinaryDiffEqLinear", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqNordsieck", "OrdinaryDiffEqPDIRK", "OrdinaryDiffEqPRK", "OrdinaryDiffEqQPRK", "OrdinaryDiffEqRKN", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqSDIRK", "OrdinaryDiffEqSSPRK", "OrdinaryDiffEqStabilizedIRK", "OrdinaryDiffEqStabilizedRK", "OrdinaryDiffEqSymplecticRK", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "Static", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"] +git-tree-sha1 = "3d7817c992df89788f770d856f96a1206cbcaa91" +uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" +version = "6.107.0" + +[[deps.OrdinaryDiffEqAdamsBashforthMoulton]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqLowOrderRK", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "79f756d4a593a99ab47c8a8ee72061e7d60cd9c0" +uuid = "89bda076-bce5-4f1c-845f-551c83cdda9a" +version = "1.10.0" + +[[deps.OrdinaryDiffEqBDF]] +deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqSDIRK", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays", "TruncatedStacktraces"] +git-tree-sha1 = "156f2623ac97e7cf340848ba606f1226998980af" +uuid = "6ad6398a-0878-4a85-9266-38940aa047c8" +version = "1.14.0" + +[[deps.OrdinaryDiffEqCore]] +deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "FastBroadcast", "FastClosures", "FastPower", "FillArrays", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "StaticArrayInterface", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"] +git-tree-sha1 = "8d8e8fd5c80b38c0cc2de5a8fcca8db1a2e77a06" +uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8" +version = "3.1.0" + + [deps.OrdinaryDiffEqCore.extensions] + OrdinaryDiffEqCoreEnzymeCoreExt = "EnzymeCore" + OrdinaryDiffEqCoreMooncakeExt = "Mooncake" + + [deps.OrdinaryDiffEqCore.weakdeps] + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + +[[deps.OrdinaryDiffEqDefault]] +deps = ["ADTypes", "DiffEqBase", "EnumX", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqRosenbrock", "OrdinaryDiffEqTsit5", "OrdinaryDiffEqVerner", "PrecompileTools", "Preferences", "Reexport", "SciMLBase"] +git-tree-sha1 = "5fbd116f93790ce79c4beff8206e1b8e45c492a2" +uuid = "50262376-6c5a-4cf5-baba-aaf4f84d72d7" +version = "1.14.0" + +[[deps.OrdinaryDiffEqDifferentiation]] +deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SciMLOperators", "SparseMatrixColorings", "StaticArrayInterface", "StaticArrays"] +git-tree-sha1 = "c3706545346a550a2669d8bcfe6db683af04a21c" +uuid = "4302a76b-040a-498a-8c04-15b101fed76b" +version = "1.22.0" +weakdeps = ["SparseArrays"] + + [deps.OrdinaryDiffEqDifferentiation.extensions] + OrdinaryDiffEqDifferentiationSparseArraysExt = "SparseArrays" + +[[deps.OrdinaryDiffEqExplicitRK]] +deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] +git-tree-sha1 = "0b70d2d78d21b3c9fb200c7921750ca863302204" +uuid = "9286f039-9fbf-40e8-bf65-aa933bdc4db0" +version = "1.10.0" + +[[deps.OrdinaryDiffEqExponentialRK]] +deps = ["ADTypes", "DiffEqBase", "ExponentialUtilities", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "RecursiveArrayTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "65f2e40d7e9b1415c41838ec762777a4c36e4804" +uuid = "e0540318-69ee-4070-8777-9e2de6de23de" +version = "1.12.0" + +[[deps.OrdinaryDiffEqExtrapolation]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastPower", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "e2f3ebd6cd7ed9c8d551fb10192644e8f6dd3cbb" +uuid = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4" +version = "1.13.0" + +[[deps.OrdinaryDiffEqFIRK]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "FastGaussQuadrature", "FastPower", "LinearAlgebra", "LinearSolve", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"] +git-tree-sha1 = "cbb6a36f09f1357a526c55a0a6805b60121eafb8" +uuid = "5960d6e9-dd7a-4743-88e7-cf307b64f125" +version = "1.20.0" + +[[deps.OrdinaryDiffEqFeagin]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "b2e0a69ad0eb515f2b30d412463a29b3aad13b4f" +uuid = "101fe9f7-ebb6-4678-b671-3a81e7194747" +version = "1.9.0" + +[[deps.OrdinaryDiffEqFunctionMap]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "f95b2b7eb76eafefc2751cd214ba13e661ec8826" +uuid = "d3585ca7-f5d3-4ba6-8057-292ed1abd90f" +version = "1.10.0" + +[[deps.OrdinaryDiffEqHighOrderRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "75a70f1e0dcb05f7fd3052447475771c697f9581" +uuid = "d28bc4f8-55e1-4f49-af69-84c1a99f0f58" +version = "1.10.0" + +[[deps.OrdinaryDiffEqIMEXMultistep]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Reexport", "SciMLBase"] +git-tree-sha1 = "23602428114124a3e3df85fcbc5b461c79fb91bf" +uuid = "9f002381-b378-40b7-97a6-27a27c83f129" +version = "1.11.0" + +[[deps.OrdinaryDiffEqLinear]] +deps = ["DiffEqBase", "ExponentialUtilities", "LinearAlgebra", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators"] +git-tree-sha1 = "e5704f7e11e97fff61973d59d24ec34cd92fccc1" +uuid = "521117fe-8c41-49f8-b3b6-30780b3f0fb5" +version = "1.11.0" + +[[deps.OrdinaryDiffEqLowOrderRK]] +deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "78223e34d4988070443465cd3f2bdc38d6bd14b0" +uuid = "1344f307-1e59-4825-a18e-ace9aa3fa4c6" +version = "1.10.0" + +[[deps.OrdinaryDiffEqLowStorageRK]] +deps = ["Adapt", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"] +git-tree-sha1 = "708c362418bd4503fd158f4f4e53151fbe57b46a" +uuid = "b0944070-b475-4768-8dec-fb6eb410534d" +version = "1.11.0" + +[[deps.OrdinaryDiffEqNonlinearSolve]] +deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "StaticArrays"] +git-tree-sha1 = "9f0be4bd586829a28a04c8f923598497f56ac226" +uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8" +version = "1.19.0" + +[[deps.OrdinaryDiffEqNordsieck]] +deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqTsit5", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "05f3319c3bf1440897dc613194eb3db4d2d3e692" +uuid = "c9986a66-5c92-4813-8696-a7ec84c806c8" +version = "1.8.0" + +[[deps.OrdinaryDiffEqPDIRK]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "Polyester", "Reexport", "SciMLBase", "StaticArrays"] +git-tree-sha1 = "7d63467f59f6504672ba93226f156f99c6095f60" +uuid = "5dd0a6cf-3d4b-4314-aa06-06d4e299bc89" +version = "1.10.0" + +[[deps.OrdinaryDiffEqPRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "Reexport", "SciMLBase"] +git-tree-sha1 = "055b0cc0eacd4821b25a60b17e0615836e373821" +uuid = "5b33eab2-c0f1-4480-b2c3-94bc1e80bda1" +version = "1.9.0" + +[[deps.OrdinaryDiffEqQPRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "ce2d279addbc1a05f3c058a0319d7661cdbfe787" +uuid = "04162be5-8125-4266-98ed-640baecc6514" +version = "1.9.0" + +[[deps.OrdinaryDiffEqRKN]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "e86e67113c7d228c0d54b3f72176109c4608648d" +uuid = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a" +version = "1.11.0" + +[[deps.OrdinaryDiffEqRosenbrock]] +deps = ["ADTypes", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static"] +git-tree-sha1 = "e4605c3930703b5d38083ce1a998ee824dd67266" +uuid = "43230ef6-c299-4910-a778-202eb28ce4ce" +version = "1.22.0" + +[[deps.OrdinaryDiffEqSDIRK]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] +git-tree-sha1 = "5d0a230f4e431e53af19502eaea8778f8f15edd4" +uuid = "2d112036-d095-4a1e-ab9a-08536f3ecdbf" +version = "1.11.0" + +[[deps.OrdinaryDiffEqSSPRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "StaticArrays"] +git-tree-sha1 = "5cad7fb244bf163df45deff09be5be9f05b32d29" +uuid = "669c94d9-1f4b-4b64-b377-1aa079aa2388" +version = "1.12.0" + +[[deps.OrdinaryDiffEqStabilizedIRK]] +deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqStabilizedRK", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"] +git-tree-sha1 = "1719060baf014a3c1a6506113bc09d82a0903f0e" +uuid = "e3e12d00-db14-5390-b879-ac3dd2ef6296" +version = "1.10.0" + +[[deps.OrdinaryDiffEqStabilizedRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays"] +git-tree-sha1 = "6382a6caa2cc4488f4b9654ca5f26ad0130bec7b" +uuid = "358294b1-0aab-51c3-aafe-ad5ab194a2ad" +version = "1.9.0" + +[[deps.OrdinaryDiffEqSymplecticRK]] +deps = ["DiffEqBase", "FastBroadcast", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "RecursiveArrayTools", "Reexport", "SciMLBase"] +git-tree-sha1 = "7276967b405c048adb52a090f1c5b1df88501631" +uuid = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8" +version = "1.12.0" + +[[deps.OrdinaryDiffEqTsit5]] +deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"] +git-tree-sha1 = "6e6173f4d0db8b8136d5fccdcdb7e8abe800a352" +uuid = "b1df2697-797e-41e3-8120-5422d3b24e4a" +version = "1.10.0" + +[[deps.OrdinaryDiffEqVerner]] +deps = ["DiffEqBase", "FastBroadcast", "LinearAlgebra", "MuladdMacro", "OrdinaryDiffEqCore", "Polyester", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "Static", "TruncatedStacktraces"] +git-tree-sha1 = "5ca5dbbfea89e14f283ce9fe2301c528ff4ec007" +uuid = "79d7bb75-1356-48c1-b8c0-6832512096c2" +version = "1.11.0" + [[deps.Oxygen]] deps = ["DataStructures", "Dates", "HTTP", "JSON3", "MIMEs", "Reexport", "RelocatableFolders", "Sockets", "Statistics", "StructTypes"] git-tree-sha1 = "c1f679c1e604d83388f397027b827e08af3c9984" @@ -408,11 +1703,32 @@ version = "1.7.5" TimeZones = "f269a46b-ccf7-5d73-abea-4c690281aa53" WGLMakie = "276b4fcb-3e11-5398-bf8b-a0c2d153d008" +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.44.0+1" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "e4cff168707d441cd6bf3ff7e4832bdf34278e4a" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.37" +weakdeps = ["StatsBase"] + + [deps.PDMats.extensions] + StatsBaseExt = "StatsBase" + [[deps.PEG]] git-tree-sha1 = "7ddadb443e48ae0293de19737c8defdc4c6ad89a" uuid = "12d937ae-5f68-53be-93c9-3a6f997a20a8" version = "1.0.4" +[[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 = "5d5e0a78e971354b1c7bff0655d11fdc1b0e12c8" @@ -434,6 +1750,34 @@ weakdeps = ["REPL"] [deps.Pkg.extensions] REPLExt = "REPL" +[[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.PreallocationTools]] +deps = ["Adapt", "ArrayInterface", "PrecompileTools"] +git-tree-sha1 = "e16b73bf892c55d16d53c9c0dbd0fb31cb7e25da" +uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" +version = "1.2.0" + + [deps.PreallocationTools.extensions] + PreallocationToolsForwardDiffExt = "ForwardDiff" + PreallocationToolsReverseDiffExt = "ReverseDiff" + PreallocationToolsSparseConnectivityTracerExt = "SparseConnectivityTracer" + + [deps.PreallocationTools.weakdeps] + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" + [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "edbeefc7a4889f528644251bdb5fc9ab5348bc2c" @@ -468,6 +1812,29 @@ deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" version = "1.11.0" +[[deps.PtrArrays]] +git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.4.0" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "5e8e8b0ab68215d7a2b14b9921a946fee794749e" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.11.3" + + [deps.QuadGK.extensions] + QuadGKEnzymeExt = "Enzyme" + + [deps.QuadGK.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + +[[deps.Quaternions]] +deps = ["LinearAlgebra", "Random", "RealDot"] +git-tree-sha1 = "4d8c1b7c3329c1885b857abb50d08fa3f4d9e3c8" +uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" +version = "0.7.7" + [[deps.REPL]] deps = ["InteractiveUtils", "JuliaSyntaxHighlighting", "Markdown", "Sockets", "StyledStrings", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -478,11 +1845,63 @@ deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" version = "1.11.0" +[[deps.RealDot]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" +uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" +version = "0.1.0" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecursiveArrayTools]] +deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "LinearAlgebra", "PrecompileTools", "RecipesBase", "StaticArraysCore", "SymbolicIndexingInterface"] +git-tree-sha1 = "76a9c4d3f7b256dd34074e714ffe0ced8d3d21de" +uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" +version = "3.50.0" + + [deps.RecursiveArrayTools.extensions] + RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" + RecursiveArrayToolsForwardDiffExt = "ForwardDiff" + RecursiveArrayToolsKernelAbstractionsExt = "KernelAbstractions" + RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" + RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"] + RecursiveArrayToolsSparseArraysExt = ["SparseArrays"] + RecursiveArrayToolsStatisticsExt = "Statistics" + RecursiveArrayToolsStructArraysExt = "StructArrays" + RecursiveArrayToolsTablesExt = ["Tables"] + RecursiveArrayToolsTrackerExt = "Tracker" + RecursiveArrayToolsZygoteExt = "Zygote" + + [deps.RecursiveArrayTools.weakdeps] + FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" + Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + [[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 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" @@ -495,10 +1914,138 @@ git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.3.1" +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "5b3d50eb374cea306873b371d3f8d3915a018f0b" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.9.0" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.5.1+0" + +[[deps.Rotations]] +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] +git-tree-sha1 = "5680a9276685d392c87407df00d57c9924d9f11e" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.7.1" +weakdeps = ["RecipesBase"] + + [deps.Rotations.extensions] + RotationsRecipesBaseExt = "RecipesBase" + +[[deps.RuntimeGeneratedFunctions]] +deps = ["ExprTools", "SHA", "Serialization"] +git-tree-sha1 = "cfcdc949c4660544ab0fdeed169561cb22f835f4" +uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" +version = "0.5.18" + [[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.SafeTestsets]] +git-tree-sha1 = "81ec49d645af090901120a1542e67ecbbe044db3" +uuid = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" +version = "0.1.0" + +[[deps.SciMLBase]] +deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "Moshi", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLLogging", "SciMLOperators", "SciMLPublic", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] +git-tree-sha1 = "bdbc7c751d36fdb104d437361950d884d489af85" +uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" +version = "2.153.1" + + [deps.SciMLBase.extensions] + SciMLBaseChainRulesCoreExt = "ChainRulesCore" + SciMLBaseDifferentiationInterfaceExt = "DifferentiationInterface" + SciMLBaseDistributionsExt = "Distributions" + SciMLBaseEnzymeExt = "Enzyme" + SciMLBaseForwardDiffExt = "ForwardDiff" + SciMLBaseMLStyleExt = "MLStyle" + SciMLBaseMakieExt = "Makie" + SciMLBaseMeasurementsExt = "Measurements" + SciMLBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" + SciMLBaseMooncakeExt = "Mooncake" + SciMLBasePartialFunctionsExt = "PartialFunctions" + SciMLBasePyCallExt = "PyCall" + SciMLBasePythonCallExt = "PythonCall" + SciMLBaseRCallExt = "RCall" + SciMLBaseReverseDiffExt = "ReverseDiff" + SciMLBaseTrackerExt = "Tracker" + SciMLBaseZygoteExt = ["Zygote", "ChainRulesCore"] + + [deps.SciMLBase.weakdeps] + ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" + Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078" + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" + PartialFunctions = "570af359-4316-4cb7-8c74-252c00c2016b" + PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" + PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" + RCall = "6f49c342-dc21-5d91-9882-a32aef131414" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.SciMLJacobianOperators]] +deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"] +git-tree-sha1 = "7156a5b51cba1bea33a82a036939ead4131f92bc" +uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e" +version = "0.1.13" + +[[deps.SciMLLogging]] +deps = ["Logging", "LoggingExtras", "Preferences"] +git-tree-sha1 = "4e1e21f14a284f892eb62923a356c70a2a0c68e1" +uuid = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1" +version = "1.10.1" + + [deps.SciMLLogging.extensions] + SciMLLoggingTracyExt = "Tracy" + + [deps.SciMLLogging.weakdeps] + Tracy = "e689c965-62c8-4b79-b2c5-8359227902fd" + +[[deps.SciMLOperators]] +deps = ["Accessors", "Adapt", "ArrayInterface", "DocStringExtensions", "LinearAlgebra", "SafeTestsets"] +git-tree-sha1 = "50e6ec6879eab12b039924d5a10b91c95bf9bf7f" +uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" +version = "1.21.0" + + [deps.SciMLOperators.extensions] + SciMLOperatorsLoopVectorizationExt = "LoopVectorization" + SciMLOperatorsSparseArraysExt = "SparseArrays" + SciMLOperatorsStaticArraysCoreExt = "StaticArraysCore" + + [deps.SciMLOperators.weakdeps] + LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + +[[deps.SciMLPublic]] +git-tree-sha1 = "0ba076dbdce87ba230fff48ca9bca62e1f345c9b" +uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b" +version = "1.0.1" + +[[deps.SciMLStructures]] +deps = ["ArrayInterface", "PrecompileTools"] +git-tree-sha1 = "607f6867d0b0553e98fc7f725c9f9f13b4d01a32" +uuid = "53ae85a6-f571-4167-b2af-e1d143709226" +version = "1.10.0" + [[deps.Scratch]] deps = ["Dates"] git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109" @@ -509,34 +2056,111 @@ version = "1.3.0" 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.SimpleBufferStream]] git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" version = "1.2.0" +[[deps.SimpleNonlinearSolve]] +deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "Setfield", "StaticArraysCore"] +git-tree-sha1 = "744c3f0fb186ad28376199c1e72ca39d0c614b5d" +uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" +version = "2.11.0" + + [deps.SimpleNonlinearSolve.extensions] + SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore" + SimpleNonlinearSolveReverseDiffExt = "ReverseDiff" + SimpleNonlinearSolveTrackerExt = "Tracker" + + [deps.SimpleNonlinearSolve.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + [[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.SparseMatrixColorings]] +deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "PrecompileTools", "Random", "SparseArrays"] +git-tree-sha1 = "f63d76c7b7c329cf11badd564fd8ba877b09c3fe" +uuid = "0a514795-09f3-496d-8182-132a7b665d35" +version = "0.4.27" + + [deps.SparseMatrixColorings.extensions] + SparseMatrixColoringsCUDAExt = ["CUDA", "cuSPARSE"] + SparseMatrixColoringsCliqueTreesExt = "CliqueTrees" + SparseMatrixColoringsColorsExt = "Colors" + SparseMatrixColoringsGPUArraysExt = "GPUArrays" + SparseMatrixColoringsJuMPExt = ["JuMP", "MathOptInterface"] + + [deps.SparseMatrixColorings.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" + Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" + GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" + JuMP = "4076af6c-e467-56ae-b986-b466b2749572" + MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" + cuSPARSE = "b26da814-b3bc-49ef-b0ee-c816305aa060" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2700b235561b0335d5bef7097a111dc513b8655e" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.7.2" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.Static]] +deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"] +git-tree-sha1 = "bb072715f158b59ad8819ff80da5ffa90cce6ceb" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "1.4.0" + +[[deps.StaticArrayInterface]] +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"] +git-tree-sha1 = "2a635e15d5035c53b345077c947f31ff91744078" +uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" +version = "1.10.0" + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" + + [deps.StaticArrayInterface.weakdeps] + OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + [[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.StaticArrays.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - [[deps.StaticArraysCore]] git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" @@ -552,6 +2176,41 @@ 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.StatsBase]] +deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "aceda6f4e598d331548e04cc6b2124a6148138e3" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.10" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "91f091a8716a6bb38417a6e6f274602a19aaa685" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.5.2" +weakdeps = ["ChainRulesCore", "InverseFunctions"] + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + +[[deps.StrideArraysCore]] +deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] +git-tree-sha1 = "5316097111523c9a970596a5b33cfea5f92e8581" +uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" +version = "0.5.9" + +[[deps.StringEncodings]] +deps = ["Libiconv_jll"] +git-tree-sha1 = "b765e46ba27ecf6b44faf70df40c57aa3a547dcb" +uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" +version = "0.3.7" + [[deps.StringManipulation]] deps = ["PrecompileTools"] git-tree-sha1 = "d05693d339e37d6ab134c5ab53c29fce5ee5d7d5" @@ -574,11 +2233,39 @@ version = "1.11.0" 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.SymbolicIndexingInterface]] +deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] +git-tree-sha1 = "173ecfe5f7c5a36043b5f2b8cecaa30a4fc958ef" +uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +version = "0.3.47" +weakdeps = ["PrettyTables"] + + [deps.SymbolicIndexingInterface.extensions] + SymbolicIndexingInterfacePrettyTablesExt = "PrettyTables" + +[[deps.SymbolicUtils]] +deps = ["AbstractTrees", "ArrayInterface", "Bijections", "ChainRulesCore", "Combinatorics", "ConstructionBase", "DataStructures", "DocStringExtensions", "DynamicPolynomials", "ExproniconLite", "LinearAlgebra", "MultivariatePolynomials", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicIndexingInterface", "TaskLocalValues", "TermInterface", "TimerOutputs", "Unityper"] +git-tree-sha1 = "8c103c491ccf3e2b4284635c24b5de768adc6be8" +uuid = "d1185830-fcd6-423d-90d6-eec64667417b" +version = "3.31.0" + + [deps.SymbolicUtils.extensions] + SymbolicUtilsLabelledArraysExt = "LabelledArrays" + SymbolicUtilsReverseDiffExt = "ReverseDiff" + + [deps.SymbolicUtils.weakdeps] + LabelledArrays = "2ee39098-c373-598a-b85f-a56591580800" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -601,16 +2288,67 @@ deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" version = "1.10.0" +[[deps.TaskLocalValues]] +git-tree-sha1 = "67e469338d9ce74fc578f7db1736a74d93a49eb8" +uuid = "ed4db957-447d-4319-bfb6-7fa9ae7ecf34" +version = "0.1.3" + +[[deps.TermInterface]] +git-tree-sha1 = "d673e0aca9e46a2f63720201f55cc7b3e7169b16" +uuid = "8ea1fca8-c5ef-4a55-8b96-4e9afe9c9a3c" +version = "2.0.0" + [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" version = "1.11.0" +[[deps.TestItems]] +git-tree-sha1 = "42fd9023fef18b9b78c8343a4e2f3813ffbcefcb" +uuid = "1c621080-faea-4a02-84b6-bbd5e436b8fe" +version = "1.0.0" + +[[deps.TetGen]] +deps = ["DocStringExtensions", "GeometryBasics", "LinearAlgebra", "Printf", "StaticArrays", "TetGen_jll"] +git-tree-sha1 = "ef2dc4d446a66dd5a84f36428d4bb51595ad229f" +uuid = "c5d3f3f7-f850-59f6-8a2e-ffc6dc1317ea" +version = "2.0.1" + +[[deps.TetGen_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "adac3a8b875f54a323d30f968d3c85e34fd6fed3" +uuid = "b47fdcd6-d2c1-58e9-bbba-c1cee8d8c179" +version = "1.6.0+0" + +[[deps.ThreadingUtilities]] +deps = ["ManualMemory"] +git-tree-sha1 = "d969183d3d244b6c33796b5ed01ab97328f2db85" +uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" +version = "0.5.5" + +[[deps.TimerOutputs]] +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "3748bd928e68c7c346b52125cf41fff0de6937d0" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.29" + + [deps.TimerOutputs.extensions] + FlameGraphsExt = "FlameGraphs" + + [deps.TimerOutputs.weakdeps] + FlameGraphs = "08572546-2f56-4bcf-ba4e-bab62c3a3f89" + [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" version = "0.11.3" +[[deps.TruncatedStacktraces]] +deps = ["InteractiveUtils", "MacroTools", "Preferences"] +git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" +uuid = "781d530d-4396-4725-bb49-402e4bee1e77" +version = "1.4.0" + [[deps.URIs]] git-tree-sha1 = "bef26fb046d031353ef97a82e3fdb6afe7f21b1a" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" @@ -621,16 +2359,59 @@ 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.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "57e1b2c9de4bd6f40ecb9de4ac1797b81970d008" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.28.0" +weakdeps = ["ConstructionBase", "ForwardDiff", "InverseFunctions", "LaTeXStrings", "Latexify", "NaNMath", "Printf"] + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + ForwardDiffExt = "ForwardDiff" + InverseFunctionsUnitfulExt = "InverseFunctions" + LatexifyExt = ["Latexify", "LaTeXStrings"] + NaNMathExt = "NaNMath" + PrintfExt = "Printf" + +[[deps.Unityper]] +deps = ["ConstructionBase"] +git-tree-sha1 = "25008b734a03736c41e2a7dc314ecb95bd6bbdb0" +uuid = "a7c27f48-0311-42f6-a7f8-2c11e75eb415" +version = "0.1.6" + +[[deps.UnsafeAtomics]] +git-tree-sha1 = "0f30765c32d66d58e41f4cb5624d4fc8a82ec13b" +uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f" +version = "0.3.1" + + [deps.UnsafeAtomics.extensions] + UnsafeAtomicsLLVM = ["LLVM"] + + [deps.UnsafeAtomics.weakdeps] + LLVM = "929cbde3-209d-540e-8aea-75f648917ca0" + [[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.YAML]] +deps = ["Base64", "Dates", "Printf", "StringEncodings"] +git-tree-sha1 = "a1c0c7585346251353cddede21f180b96388c403" +uuid = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" +version = "0.4.16" + [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" @@ -646,6 +2427,12 @@ 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 = "da8c1f6eee04831f14edcfa5dae611d309807e57" +uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" +version = "2022.3.0+0" + [[deps.p7zip_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" diff --git a/packages/algjulia-interop/Project.toml b/packages/algjulia-interop/Project.toml index 14fde7c13..b16e34c1c 100644 --- a/packages/algjulia-interop/Project.toml +++ b/packages/algjulia-interop/Project.toml @@ -7,22 +7,38 @@ authors = ["CatColab team"] [deps] ACSets = "227ef7b5-1206-438b-ac65-934d6da304b8" Catlab = "134e5e36-593f-5add-ad60-77f754baafbe" +CombinatorialSpaces = "b1c52339-7909-45ad-8b6a-6e388f7c67f2" +ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66" +CoordRefSystems = "b46f11dc-f210-4604-bfba-323c1ec968cb" +Decapodes = "679ab3ea-c928-4fe6-8d59-fd451142d391" +DiagrammaticEquations = "6f00c28b-6bed-4403-80fa-30e0dc12f317" +Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078" +OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" Oxygen = "df9a0d86-3283-4920-82dc-4555fc0d1d8b" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StructTypes = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ACSets = "0.2.26" Catlab = "0.17.2" +CombinatorialSpaces = "0.10.0" +ComponentArrays = "0.15.38" +CoordRefSystems = "0.19.18" +Decapodes = "0.6.8" +DiagrammaticEquations = "0.2.6" +Distributions = "0.25.125" HTTP = "1.10.19" JSON3 = "1.14.3" +LinearAlgebra = "1.12.0" MLStyle = "0.4.17" +OrdinaryDiffEq = "6.107.0" Oxygen = "1.7.5" Reexport = "1.2.2" +StaticArrays = "1.9.18" StructTypes = "1.11.0" -Test = "1.11.0" julia = "1.11" diff --git a/packages/algjulia-interop/src/CatColabInterop.jl b/packages/algjulia-interop/src/CatColabInterop.jl index cc35146fd..fa32ccee4 100644 --- a/packages/algjulia-interop/src/CatColabInterop.jl +++ b/packages/algjulia-interop/src/CatColabInterop.jl @@ -11,6 +11,7 @@ include("Types.jl") @reexport using .Types include("CatlabInterop.jl") +include("DecapodesInterop/DecapodesInterop.jl") # Add more interops here... diff --git a/packages/algjulia-interop/src/DecapodesInterop/DecapodesInterop.jl b/packages/algjulia-interop/src/DecapodesInterop/DecapodesInterop.jl new file mode 100644 index 000000000..c42aefa3b --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/DecapodesInterop.jl @@ -0,0 +1,59 @@ +module DecapodesInterop + +using ComponentArrays +using Distributions +using MLStyle +using StaticArrays +using LinearAlgebra +using OrdinaryDiffEq +using CoordRefSystems + +using CombinatorialSpaces +using DiagrammaticEquations +import DiagrammaticEquations: SummationDecapode +using Decapodes +using ACSets + +using CatColabInterop, Oxygen, HTTP +import CatColabInterop: endpoint + +struct ImplError <: Exception + name::String +end +export ImplError +Base.showerror(io::IO, e::ImplError) = print(io, "$(e.name) not implemented") + +# specifies the mesh +include("geometry.jl") + +# code specific to NS equations +include("ns_helper.jl") + +# for specifying the initial conditions +include("initial_conditions.jl") + +# build the decapode +include("model_diagram.jl") + +# for running the simulation +include("simulation.jl") + +# for formatting the data into the correct return type +include("formatting.jl") + +function endpoint(::Val{:Decapodes}) + @post "/decapodes" function (req::HTTP.Request) + analysis = json(req, Analysis) + system = DecapodesSystem(analysis) + result = run(system) + + end +end + +function endpoint(::Val{:DecapodesOptions}) + @get "/decapodes-options" function (req::HTTP.Request) + supported_decapodes_geometries() + end +end + +end # module diff --git a/packages/algjulia-interop/src/DecapodesInterop/formatting.jl b/packages/algjulia-interop/src/DecapodesInterop/formatting.jl new file mode 100644 index 000000000..eb272b0d3 --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/formatting.jl @@ -0,0 +1,80 @@ +""" +This is what is converted to JSON. +""" +struct SimulationResult + time::Vector{Float64} + state::Dict{Symbol, Vector{AbstractArray{SVector{3, Float64}}}} + x::Vector{Float64} + y::Vector{Float64} +end + +function Base.show(io::IO, res::SimulationResult) + println(io, "Duration: $(length(res.time))") + println(io, "State variables: $(keys(res.state))") +end + +# """ Given a simulation, a domain, and a variable, gets the state values over the duration of a simulation. +# Called by `var_to_state`[@ref] + +# ## Usage: + +# result[:u] # = [result[i][:u] for i in 1:length(result.soln.t)] + +# """ +# function Base.getproperty(result::SolutionResult, var::Symbol) +# [result.soln[i][var] for i in 1:length(result.soln.t)] +# end + +# FORMATTER ----------------------------------------------------------------------------------- + +struct Projector{S<:Domain,T<:Domain} + src::S # simulated on + tgt::T # displayed on +end + +function project(p::Projector, result::SolutionResult, var::Symbol) + [project(p, result, var, t) for t in 1:length(result.soln.t)] +end + +# TODO need a method for projecting without specifying time. this will substitute out the method above + +function project(::Projector{Rectangle, Rectangle}, result::SolutionResult, var::Symbol, t::Int) + (x, y) = indexing_bounds(result.system.geometry.domain) + coord(i, j) = (x+1)*(i-1) + j + # TODO scale + [SVector(i, j, result[var, t, coord(i,j)]) for i in 1:x+1, j in 1:y+1] +end + +indexing_bounds(p::Projector{Rectangle, Rectangle}) = indexing_bounds(p.tgt) + +function project(p::Projector{Sphere, Rectangle}, result::SolutionResult, var::Symbol, t::Int) + function grid(pt3::Point3, grid_size::Vector{Int}) + pt2 = [(pt3[1]+1)/2, (pt3[2]+1)/2] + [round(Int, pt2[1]*grid_size[1]), round(Int, pt2[2]*grid_size[2])] + end + pts = points(result.system) + l , _ = indexing_bounds(p.tgt) + northern_indices = filter(i -> pts[i][3] > 0, keys(pts)) + map(northern_indices) do n + i, j = grid(pts[n], [l, l]) # TODO + SVector(i, j, result[var, t, n]) + end +end + +indexing_bounds(p::Projector{Sphere, Rectangle}) = indexing_bounds(p.tgt) + +# ----- + +# TODO in the simple wedge case, we might want to simulate \dot{u} of \dot{u} = [u, v] +""" For the variables in a system, associate them to their state values over the duration of the simulation +""" +function var_to_state(p::Projector, result::SolutionResult) + Dict(var => project(p, result, var) for var in keys(result.system.init)) +end + +function SimulationResult(result::SolutionResult) + p = Projector(result.system.geometry.domain, PREDEFINED_MESHES[:Rectangle]) # TODO frontend should let us choose + idx_bounds = indexing_bounds(p.tgt) + var_to_formatted_state = var_to_state(p, result) # Dict("UUID1" => VectorMatrixSVectr...) + SimulationResult(result.soln.t, var_to_formatted_state, 0:idx_bounds.x, 0:idx_bounds.y) +end diff --git a/packages/algjulia-interop/src/DecapodesInterop/geometry.jl b/packages/algjulia-interop/src/DecapodesInterop/geometry.jl new file mode 100644 index 000000000..c5fcb1656 --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/geometry.jl @@ -0,0 +1,106 @@ +""" Supported domains. """ +const domain_names = [:Plane, :Sphere] + +""" Mapping from supported domains to meshes for the domain. """ +const mesh_names = Dict( + :Plane => [:Rectangle, :Periodic], + :Sphere => [:Icosphere6, :Icosphere7, :Icosphere8, :UV], +) + +""" Mapping from supported domains to initial/boundary conditions. """ +const initial_condition_names = Dict( + :Plane => [:Constant, :Gaussian], + :Sphere => [:TaylorVortex, :SixVortex], +) + +""" Supported geometries, in the JSON format expected by the frontend. """ +function supported_decapodes_geometries() + domains = map(domain_names) do domain + Dict( + :name => domain, + :meshes => mesh_names[domain], + :initialConditions => initial_condition_names[domain], + ) + end + Dict(:domains => domains) +end +export supported_decapodes_geometries + +## DOMAINS + +abstract type Domain end + +# meshes associated with Planes +@data Planar <: Domain begin + Constant + Rectangle(max_x::Int, max_y::Int, dx::Float64, dy::Float64) + Periodic # TODO +end + +# rectangle methods + +# TODO it is semantically better to case to Point2? +middle(r::Rectangle) = [r.max_x/2, r.max_y/2] + +function indexing_bounds(r::Rectangle) + (x=floor(Int, r.max_x/r.dx), y=floor(Int, r.max_y/r.dy)) +end + +# meshes associated with Spheres +@data Spheric <: Domain begin + Sphere(dim::Int, radius::Float64) + UV(minlat::Int, maxlat::Int, dlat::Float64, minlong::Int, maxlong::Int, dlong::Float64, radius::Float64) +end + +# default +Sphere(dim) = Sphere(dim, 1.0) + +# TODO XXX hardcoded alert! +indexing_bounds(m::Sphere) = (x=100, y=100) + +""" helper function for UV """ +makeSphere(m::UV) = makeSphere(m.minlat, m.maxlat, m.dlat, m.minlong, m.maxlong, m.dlong, m.radius) + +# GEOMETRY + +struct Geometry + domain::Domain + mesh::HasDeltaSet + dualmesh::HasDeltaSet +end + +function Geometry(dict::AbstractDict) + mesh = Symbol(dict["mesh"]) + domain = PREDEFINED_MESHES[mesh] + Geometry(domain) +end + +function Geometry(r::Rectangle, division::SimplexCenter=Circumcenter()) + s = triangulated_grid(r.max_x, r.max_y, r.dx, r.dy, Point2{Float64}) + sd = EmbeddedDeltaDualComplex2D{Bool, Float64, Point2{Float64}}(s) + subdivide_duals!(sd, division) + Geometry(r, s, sd) +end + +# function Geometry(r::Periodic, division::SimplexCenter=Circumcenter()) end + +function Geometry(m::Sphere, division::SimplexCenter=Circumcenter()) + s = loadmesh(Icosphere(m.dim, m.radius)) + sd = EmbeddedDeltaDualComplex2D{Bool, Float64, Point3{Float64}}(s) + subdivide_duals!(sd, division) + Geometry(m, s, sd) +end + +function Geometry(m::UV, division::SimplexCenter=Circumcenter()) + s, _, _ = makeSphere(m) + sd = EmbeddedDeltaDualComplex2D{Bool, Float64, Point3{Float64}}(s) + subdivide_duals!(sd, division) + Geometry(m, s, sd) +end + +const PREDEFINED_MESHES = Dict( + :Rectangle => Rectangle(100, 100, 2, 2), + :Icosphere6 => Sphere(6, 1.0), + :Icosphere7 => Sphere(7, 1.0), + :Icosphere8 => Sphere(8, 1.0), + :UV => UV(0, 180, 2.5, 0, 360, 2.5, 1.0)) diff --git a/packages/algjulia-interop/src/DecapodesInterop/initial_conditions.jl b/packages/algjulia-interop/src/DecapodesInterop/initial_conditions.jl new file mode 100644 index 000000000..a524c704c --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/initial_conditions.jl @@ -0,0 +1,107 @@ +## INITIAL CONDITIONS + +# This ADT defines the parameters for initial conditions data. +@data InitialConditionsData begin + GaussianData(μ::Vector{Float64}, Σ::Diagonal{Float64, Vector{Float64}}) + TaylorVortexData(lat::Float64, vortices::Int, p::AbstractVortexParams) +end + +function GaussianData(μ::Vector{Float64}, Σ::Vector{Float64}) + GaussianData(μ, LinearAlgebra.Diagonal(abs.(Σ))) +end + +# default method +function GaussianData(r::Rectangle) + μ = middle(r) + GaussianData(μ, μ/10) +end + +""" Normal distribution should understand GaussianData """ +Distributions.MvNormal(ξ::GaussianData) = MvNormal(ξ.μ, ξ.Σ) + +TaylorVortexData() = TaylorVortexData(0.2, 2, TaylorVortexParams(0.5, 0.1)) + +#= +This IC contains the domain and the initial conditions data. + +While these are currently tightly-interlinked with InitialConditionsData, they are formally separated to distinguish between the initial conditions schema and the data it might be parameterized over. +=# +@data InitialConditions begin + # planar + ConstantIC() # Constant is independent of domain + GaussianIC(r::Rectangle, ξ::GaussianData) + # spherical + TaylorVortexIC(d::Sphere, ξ::TaylorVortexData) + SixVortexIC(m::Sphere, data::Any) +end + +# DEFAULT METHOD +GaussianIC(r::Rectangle) = GaussianIC(r, GaussianData(r)) +# TODO because GaussianIC doesn't accept Sphere, it should not work +TaylorVortexIC(d::Sphere) = TaylorVortexIC(d, TaylorVortexData()) + +# raw ics +function initial_conditions(ic_specs::Dict{String, Any}, geometry::Geometry, uuid2symb::Dict{String, Symbol}) + # XXX + dict = Dict(uuid2symb[string(uuid)] => associate(ic_specs[uuid], geometry) for uuid ∈ keys(uuid2symb) if uuid ∈ keys(ic_specs) ) + # dict = Dict([uuid2symb[string(uuid)] => ic_specs[string(uuid)] for uuid ∈ keys(ic_specs)]...) + initial_conditions(dict, geometry) # the resulting sim will only have (C,) as initial conditions +end + +""" Takes a string, a domain, and a mesh and returns the initial conditios object associated to it. + +Example: +``` +associate("TaylorVortex", Sphere(6, 1.0), sd) == TaylorVortexIC(Sphere(6, 1.0), sd) +``` +""" +function associate(str::String, geometry::Geometry) + @match str begin + "Constant" => ConstantIC() + "Gaussian" => GaussianIC(geometry.domain) + "TaylorVortex" => TaylorVortexIC(geometry.domain) + _ => error("$str is not implemented") + end +end + +""" Methods for this function implement initial conditions for their given schema. There are also helper functions.""" +function initial_conditions end +export initial_conditions + +""" associates the values in a dictionary to their initial condition flags, and passes the output to initial_conditions +""" +function initial_conditions(ics::Dict{Symbol, String}, geometry::Geometry) + ic_dict = Dict(var => associate(ics[var], geometry) for var in keys(ics)) + # Now we have a mapping between variables and their initial condition specs. + initial_conditions(ic_dict, geometry) +end + +""" builds a mapping between symbols and their initial conditions """ +function initial_conditions(ics::Dict{Symbol,<:InitialConditions}, geometry::Geometry) + u0 = ComponentArray(; Dict(var => initial_conditions(ics[var], geometry) for var ∈ keys(ics))...) + return u0 +end + +function initial_conditions(ics::ConstantIC, geometry::Geometry) + return fill(2.0, nparts(geometry.dualmesh, :V)) +end + +function initial_conditions(ics::GaussianIC, geometry::Geometry) + c_dist = MvNormal(ics.ξ) + c = [Distributions.pdf(c_dist, [p[1], p[2]]) for p ∈ geometry.dualmesh[:point]] + return c +end + +vort_ring(ics::TaylorVortexIC, geometry::Geometry) = vort_ring(ics.d, ics.ξ.lat, ics.ξ.vortices, ics.ξ.p, geometry.dualmesh, taylor_vortex) + +function initial_conditions(ics::TaylorVortexIC, geometry::Geometry) + # TODO prefer not to load `s0` here but che sara sara + s0 = dec_hodge_star(0, geometry.dualmesh, GeometricHodge()) + X = vort_ring(ics, geometry) + du = s0 * X + return du +end + +function initial_conditions(ics::SixVortexIC, geometry::Geometry) + X = vort_ring(0.4, 6, PointVortexParams(3.0, 0.15), point_vortex) +end diff --git a/packages/algjulia-interop/src/DecapodesInterop/model_diagram.jl b/packages/algjulia-interop/src/DecapodesInterop/model_diagram.jl new file mode 100644 index 000000000..9839e69d1 --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/model_diagram.jl @@ -0,0 +1,109 @@ +""" Helper function to convert CatColab values (Obs) in Decapodes """ +function ob_type(name::String) + @match lowercase(name) begin + "form0" || "0-form" => :Form0 + "form1" || "1-form" => :Form1 + "form2" || "2-form" => :Form2 + "dualform0" || "dual 0-form" => :DualForm0 + "dualform1" || "dual 1-form" => :DualForm1 + "dualform2" || "dual 2-form" => :DualForm2 + x => throw(ImplError(x)) + end +end + +""" Helper function to convert CatColab values (Homs) in Decapodes """ +function mor_name(name::String) + @match replace(name," " => "") begin + "multiplication" || "*" => :* + "partial" || "∂t" || "∂ₜ" => :∂ₜ + "Δ" || "delta" || "laplace" => :Δ + "Δ⁻¹" || "inv-laplace" => :Δ⁻¹ + "d*" || "d̃₁" || "dual1-d" => :dual_d₁ + "⋆" || "⋆₁" || "★₁" || "★1" || "1-star" => :⋆₁ + "⋆⁻¹" || "⋆₀⁻¹" || "0-inv-star" => :⋆₀⁻¹ + "★" || "★⁻¹" => :⋆₁ + "d" || "d₀" || "d01" || "0-d" => :d₀ + "d12" => :d₁ + "⋆2" => :⋆₂ + "♭♯" || "sharp-flat" => :♭♯ + "-" => :neg + "wedge00" => :∧₀₀ + "dp-wedge-10" => :∧ᵈᵖ₁₀ + x => throw(ImplError(x)) + end +end + +function Base.getindex(names::Dict{String, T}, modality::CatColabInterop.Types.Modality) where T + [names[ob.content] for ob in modality.objects] +end + +function dec_model(m::Types.Model) + obs, mors = [], [] + names = Dict{String, String}() + for stmt in m.obGenerators + names[stmt.id] = only(stmt.label) + if stmt.obType.content == "Object" + push!(obs, names[stmt.id]) + end + end + for stmt in m.morGenerators + mor = only(stmt.label) + # Modality("List", [ObType("Basic", "..id")]) + dom = names[stmt.dom.content] + cod = names[stmt.cod.content] + names[stmt.id] = mor + if stmt.morType.content == "Nonscalar" + push!(mors, (mor, dom, cod)) + end + end + (names, obs, mors) +end + +function diagram_to_pode(m::Types.Model, d::Types.Diagram) + # TODO would be nice to just index the model + names, obs, mors = dec_model(m) + + vars = Dict{String, Int}() + pode = SummationDecapode(parse_decapode(quote end)) + diagram_names = Dict{String, Symbol}() + nanons = 0 + for stmt in d.obGenerators + if stmt.obType.content == "Object" + # TODO label can be a vector + name = only(stmt.label) # TODO may be integer + type = ob_type(names[stmt.over.content]) + id = add_part!(pode, :Var, name=Symbol(name), type=type) + push!(vars, stmt.id => id) + diagram_names[stmt.id] = Symbol(name) + end + end + for stmt in d.morGenerators + if stmt.morType.content == "Multihom" + dom = incident(pode, diagram_names[stmt.dom.content], :name) + if stmt.cod.content ∉ keys(diagram_names) + nanons += 1 + id = add_part!(pode, :Var, name=Symbol(nanons), type=:infer) + push!(vars, stmt.cod.content => id) + diagram_names[stmt.cod.content] = Symbol(nanons) + end + cod = incident(pode, diagram_names[stmt.cod.content], :name) + name = names[stmt.over.content] |> mor_name + if length(dom) == 1 + # TODO cursed because I don't like only∘only + id = add_part!(pode, :Op1, src=only(only(dom)), tgt=only(cod), op1=name) + end + if length(dom) == 2 + id = add_part!(pode, :Op2, proj1=only(dom[1]), proj2=only(dom[2]), res=only(cod), op2=Symbol(name)) + end + # TODO sum + if name == :∂ₜ + add_part!(pode, :TVar, incl=only(cod)) + end + end + end + infer_types!(pode) + return pode, vars +end +export diagram_to_pode + +diagram_to_pode(md::Types.ModelDiagram) = diagram_to_pode(md.model, md.diagram) diff --git a/packages/algjulia-interop/src/DecapodesInterop/ns_helper.jl b/packages/algjulia-interop/src/DecapodesInterop/ns_helper.jl new file mode 100644 index 000000000..f7a46000b --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/ns_helper.jl @@ -0,0 +1,83 @@ +### +#This code was lifted from the Navier-Stokes simulation `ns.jl` in the Decapodes docs page, originally authored by Luke Morris +### +abstract type AbstractVortexParams end + +struct TaylorVortexParams <: AbstractVortexParams + G::Real + a::Real +end + +struct PointVortexParams <: AbstractVortexParams + τ::Real + a::Real +end + +""" function ring_centers(lat, n) + +Find n equispaced points at the given latitude. +""" +function ring_centers(lat, n, radius=1.0) + ϕs = range(0.0, 2π; length=n+1)[1:n] + map(ϕs) do ϕ + # XXX not defined + v_sph = CoordRefSystems.Spherical(radius, lat, ϕ) + v_crt = convert(Cartesian, v_sph) + Point3D(v_crt.x.val, v_crt.y.val, v_crt.z.val) + end +end + +""" function great_circle_dist(pnt,G,a,cntr) + +Compute the length of the shortest path along a sphere, given Cartesian coordinates. +""" +function great_circle_dist(radius::Float64, pnt1::Point3D, pnt2::Point3D) + radius * acos(dot(pnt1,pnt2)) +end + +function taylor_vortex(sd::HasDeltaSet, radius::Float64, cntr::Point3D, p::TaylorVortexParams) + map(x -> taylor_vortex(x, radius, cntr, p), point(sd)) +end + +""" function taylor_vortex(pnt::Point3D, cntr::Point3D, p::TaylorVortexParams) + +Compute the value of a Taylor vortex at the given point. +""" +function taylor_vortex(pnt::Point3D, radius::Float64, cntr::Point3D, p::TaylorVortexParams) + gcd = great_circle_dist(radius, pnt, cntr) + (p.G/p.a) * (2 - (gcd/p.a)^2) * exp(0.5 * (1 - (gcd/p.a)^2)) +end + +""" function vort_ring(lat, n_vorts, p::T, formula) where {T<:AbstractVortexParams} + +Compute vorticity as primal 0-forms for a ring of vortices. + +Specify the latitude, number of vortices, and a formula for computing vortex strength centered at a point. +""" +function vort_ring(d::Sphere, lat, n_vorts, p::T, sd, formula) where {T<:AbstractVortexParams} + sum(map(x -> formula(sd, d.radius, x, p), ring_centers(lat, n_vorts, d.radius))) +end + +""" function vort_ring(lat, n_vorts, p::PointVortexParams, formula) + +Compute vorticity as primal 0-forms for a ring of vortices. + +Specify the latitude, number of vortices, and a formula for computing vortex strength centered at a point. + +Additionally, place a counter-balance vortex at the South Pole such that the integral of vorticity is 0. +""" +function vort_ring(radius, lat, n_vorts, p::PointVortexParams, formula) + Xs = sum(map(x -> formula(radius, sd, x, p), ring_centers(lat, n_vorts))) + Xsp = point_vortex(sd, Point3D(0.0, 0.0, -1.0), PointVortexParams(-1*n_vorts*p.τ, p.a)) + Xs + Xsp +end + +""" function point_vortex(pnt::Point3D, cntr::Point3D, p::PointVortexParams) + +Compute the value of a smoothed point vortex at the given point. +""" +function point_vortex(pnt::Point3D, cntr::Point3D, p::PointVortexParams) + gcd = great_circle_dist(pnt,cntr) + p.τ / (cosh(3gcd/p.a)^2) +end + diff --git a/packages/algjulia-interop/src/DecapodesInterop/simulation.jl b/packages/algjulia-interop/src/DecapodesInterop/simulation.jl new file mode 100644 index 000000000..5b0d3b8be --- /dev/null +++ b/packages/algjulia-interop/src/DecapodesInterop/simulation.jl @@ -0,0 +1,93 @@ +# SIMULATION + +function uuid_to_symb(decapode::SummationDecapode, vars::Dict{String, Int}) + Dict{String, Symbol}(key => (subpart(decapode, vars[key], :name)) for key ∈ keys(vars)) +end + +struct DecapodesSystem + pode::SummationDecapode + geometry::Geometry + init::ComponentArray + duration::Int + generate::Any + plotVariables::Dict{String, Any} + uuiddict::Dict{Symbol, String} +end + +mutable struct Operators + operators::Dict{Symbol, Any} + function Operators() + new(Dict()) + end +end + +Base.getindex(the::Operators, var::Symbol) = the.operators[var] + +function (ops::Operators)(mesh::Any, symbol::Symbol; hodge=GeometricHodge()) + op = @match symbol begin + :♭♯ => x -> ops[:♭♯_m] * x + :Δ⁻¹ => x -> begin + y = ops[:Δ0] \ x + y .- minimum(y) + end + :wedge00 => (x,y) -> ops[:∧₀₀](x,y) + _ => default_dec_matrix_generate(mesh, symbol, hodge) + end + return (args...) -> op(args...) +end + +function DecapodesSystem(a::Types.Analysis; hodge=GeometricHodge()) + pode, vars = diagram_to_pode(a.model, a.diagram) + analysis = a.analysis + # @assert Set([:duration, :plotVariables, :domain, :mesh, :initialConditions, :scalars]) == keys(analysis) + + duration = analysis["duration"] + plotVariables = Dict(key => key ∈ keys(vars) for key in analysis["plotVariables"]) + geometry = Geometry(analysis) + + # define the generate function + ops = Operators() + ops.operators[:♭♯_m] = ♭♯_mat(geometry.dualmesh) + ops.operators[:Δ0] = Δ(0,geometry.dualmesh) + # TODO we are fixing the hodge here + ops.operators[:s0inv] = dec_inv_hodge_star(0, geometry.dualmesh, GeometricHodge()) + + # dot_rename!(pode) + uuid2symb = uuid_to_symb(pode, vars) + + # initial conditions + u0 = initial_conditions(analysis["initialConditions"], geometry, uuid2symb) + + symb2uuid = Dict(v => k for (k, v) in pairs(uuid2symb)) + + # return the system + return DecapodesSystem(pode, geometry, u0, duration, ops, plotVariables, symb2uuid) +end + +function Base.show(io::IO, d::DecapodesSystem) + show(io, "$(d.pode)") +end + +points(system::DecapodesSystem) = system.geometry.dualmesh[:point] + +""" This stores the result of the simulation. +""" +struct SolutionResult + soln::ODESolution + system::DecapodesSystem +end + +function Base.run(system::DecapodesSystem)::SolutionResult + simulator = evalsim(system.pode) + f = Base.invokelatest(simulator, system.geometry.dualmesh, system.generate, DiagonalHodge()) + # TODO remove ComponentArray + prob = ODEProblem(f, system.init, system.duration, ComponentArray(k=0.5,)) + soln = solve(prob, Tsit5(), saveat=0.01) + # soln + SolutionResult(soln, system) +end + +function Base.getindex(result::SolutionResult, state_var::Symbol, t::Int, nth=nothing) + out = getproperty(result.soln.u[t], state_var) + isnothing(nth) ? out : out[nth] +end diff --git a/packages/algjulia-interop/src/Types.jl b/packages/algjulia-interop/src/Types.jl index 5d61abe8b..3f87caf38 100644 --- a/packages/algjulia-interop/src/Types.jl +++ b/packages/algjulia-interop/src/Types.jl @@ -2,8 +2,8 @@ """ Common types useful for deserializing CatColab JSON payloads """ module Types -export ObType, MorType, DiagramObGenerator, DiagramMorGenerator, ObGenerator, - MorGenerator, Diagram, Model, ModelDiagram +export ObType, Modality, MorType, DiagramObGenerator, DiagramMorGenerator, ObGenerator, + MorGenerator, Diagram, Model, ModelDiagram, Analysis using StructTypes @@ -13,6 +13,18 @@ struct ObType end StructTypes.StructType(::Type{ObType}) = StructTypes.Struct() +struct Modality + modality::String + objects::Vector{ObType} +end +StructTypes.StructType(::Type{Modality}) = StructTypes.Struct() + +struct ObTypeOrModality + tag::String + content::Union{String, Modality} +end +StructTypes.StructType(::Type{ObTypeOrModality}) = StructTypes.Struct() + struct MorType tag::String content::Union{String,ObType} @@ -31,15 +43,15 @@ struct DiagramMorGenerator id::String morType::MorType over::ObType - dom::ObType - cod::ObType + dom::ObTypeOrModality + cod::ObTypeOrModality end StructTypes.StructType(::Type{DiagramMorGenerator}) = StructTypes.Struct() struct ObGenerator id::String label::Vector{String} - obType::ObType + obType::ObType end StructTypes.StructType(::Type{ObGenerator}) = StructTypes.Struct() @@ -47,8 +59,8 @@ struct MorGenerator id::String label::Vector{String} morType::MorType - dom::ObType - cod::ObType + dom::ObTypeOrModality + cod::ObTypeOrModality end StructTypes.StructType(::Type{MorGenerator}) = StructTypes.Struct() @@ -64,11 +76,17 @@ struct Model end StructTypes.StructType(::Type{Model}) = StructTypes.Struct() - struct ModelDiagram model::Model diagram::Diagram end StructTypes.StructType(::Type{ModelDiagram}) = StructTypes.Struct() +struct Analysis + model::Model + diagram::Diagram + analysis::Dict +end +StructTypes.StructType(::Type{Analysis}) = StructTypes.Struct() + end # module diff --git a/packages/algjulia-interop/test/TestDecapodes.jl b/packages/algjulia-interop/test/TestDecapodes.jl new file mode 100644 index 000000000..1d5d6682b --- /dev/null +++ b/packages/algjulia-interop/test/TestDecapodes.jl @@ -0,0 +1,57 @@ +# module TestDecapodes + +using CatColabInterop +using ComponentArrays: ComponentArray + +D = CatColabInterop.DecapodesInterop + +using ComponentArrays +using HTTP, Test, Oxygen, JSON3 + +include("plotting.jl") + +body = read((@__DIR__)*"/data/diagrams/heat-eq.json", String) +analysis = JSON3.read(body, Analysis) +system = D.DecapodesSystem(analysis); +res = run(system) +D.SimulationResult(res) + +# TODO derive plot variable from system +record_gif(HeatEquation, "build/heat_eq.gif", res, Symbol("u")) + +# Parse the JSON +#--------------- +# @testset "Analysis - Simple Wedge" begin + +body = read((@__DIR__)*"/data/diagrams/ns-vorticity.json", String) +analysis = JSON3.read(body, Analysis) +system = D.DecapodesSystem(analysis); +res = run(system) +D.SimulationResult(res) + +record_gif(VorticityFc, "build/taylor.gif", res, Symbol("dv")) + +# end + +# Optinally test the endpoint if running endpoint.jl +# resp = HTTP.post("http://127.0.0.1:8080/decapodes"; body) +# @test resp.status == 200 + +# it does not infer 5 +# @testset "Analysis - Navier-Stokes Vorticity" begin + +# body = read((@__DIR__)*"/data/diagrams/ns-vorticity.json", String) +# analysis = JSON3.read(body, Analysis) +# system = D.DecapodesSystem(analysis) +# simulator = D.evalsim(system.pode) +# f = simulator(system.geometry.dualmesh, system.generate, D.DiagonalHodge()) +# soln = D.run_sim(f, system.init, system.duration, ComponentArray(k=0.5,)) + +# result = D.SimulationResult(soln, system); + +# end + + + + +# end diff --git a/packages/algjulia-interop/test/data/diagrams/heat-eq.json b/packages/algjulia-interop/test/data/diagrams/heat-eq.json new file mode 100644 index 000000000..7051ffda5 --- /dev/null +++ b/packages/algjulia-interop/test/data/diagrams/heat-eq.json @@ -0,0 +1,560 @@ +{ + "model": { + "obGenerators": [ + { + "id": "019df3f4-8443-71d6-a106-e211b1f1a359", + "label": [ + "0-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-56a6-7656-98e6-896813fa1052", + "label": [ + "1-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-6110-70d2-91fd-d81a3b4eab88", + "label": [ + "2-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df3f4-3ec3-7069-94bd-5f5097133079", + "label": [ + "Dual 0-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-6978-72bf-9362-0e085ed78843", + "label": [ + "Dual 1-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df3f4-7663-7519-ba02-9cadb41b87f0", + "label": [ + "Dual 2-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + } + ], + "morGenerators": [ + { + "id": "019df920-3a9a-70c4-821e-a871751e58ec", + "label": [ + "multiplication" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + }, + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df91e-8033-716b-8526-12e08e9bec59", + "label": [ + "laplace" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df50c-6981-7248-8a82-b1da5d63ab63", + "label": [ + "inv-laplace" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df509-e051-77aa-9899-db60385d3b57", + "label": [ + "0-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df50a-6e39-7216-9b89-87168f762a5c", + "label": [ + "1-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + }, + { + "id": "019df50b-da40-7399-9c85-094a02bde699", + "label": [ + "sharp-flat" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df50d-0c28-71f9-bcc4-643ca621044d", + "label": [ + "dual 0-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-3ec3-7069-94bd-5f5097133079" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + }, + { + "id": "019df508-fe6a-751c-92e0-ed1ffccbfb20", + "label": [ + "0-inv-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-3ec3-7069-94bd-5f5097133079" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6110-70d2-91fd-d81a3b4eab88" + } + }, + { + "id": "019df526-a755-75f8-8528-f381f4feec4d", + "label": [ + "dual 1-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + }, + { + "id": "019df526-5735-724b-b232-140c13a4a438", + "label": [ + "2-inv-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df509-9301-77d7-bdd5-3ffaea8a24a1", + "label": [ + "partial" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + }, + { + "id": "019df522-b423-7419-880c-7c8b6f62eb38", + "label": [ + "dp-wedge-10" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + }, + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df5ea-62d9-761e-8c9c-9b5cf73e7240", + "label": [ + "-" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + } + ] + }, + "diagram": { + "obGenerators": [ + { + "id": "019df91a-38ee-7001-89aa-0cdfb89f2b69", + "label": [ + "u" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df91a-6c2d-75d1-8089-9485a756151c", + "label": [ + "partial-u" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df91b-7974-738f-ab90-1474c2aa6914", + "label": [ + "k" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + } + ], + "morGenerators": [ + { + "id": "019df91e-0f0e-778e-838c-0de048eb9aa3", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df91e-8033-716b-8526-12e08e9bec59" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df91a-38ee-7001-89aa-0cdfb89f2b69" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df91e-5e6e-754a-99ef-47d3b5465a39" + } + }, + { + "id": "019df91e-cfe2-728f-81ef-fbf11b684885", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df509-9301-77d7-bdd5-3ffaea8a24a1" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df91a-38ee-7001-89aa-0cdfb89f2b69" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df91a-6c2d-75d1-8089-9485a756151c" + } + }, + { + "id": "019df91b-54c0-75ee-88d8-3a946f1d4ee2", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df920-3a9a-70c4-821e-a871751e58ec" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df91e-5e6e-754a-99ef-47d3b5465a39" + }, + { + "tag": "Basic", + "content": "019df91b-7974-738f-ab90-1474c2aa6914" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df91a-6c2d-75d1-8089-9485a756151c" + } + } + ] + }, + "analysis": { + "duration": 50, + "plotVariables": [ + "019df91a-6c2d-75d1-8089-9485a756151c" + ], + "domain": "Plane", + "mesh": "Rectangle", + "initialConditions": { + "019df91a-38ee-7001-89aa-0cdfb89f2b69": "Gaussian", + "019df91a-6c2d-75d1-8089-9485a756151c": "Gaussian", + "019df91b-7974-738f-ab90-1474c2aa6914": "Constant" + } + } +} diff --git a/packages/algjulia-interop/test/data/diagrams/ns-vorticity.json b/packages/algjulia-interop/test/data/diagrams/ns-vorticity.json new file mode 100644 index 000000000..bcb529ebd --- /dev/null +++ b/packages/algjulia-interop/test/data/diagrams/ns-vorticity.json @@ -0,0 +1,804 @@ +{ + "model": { + "obGenerators": [ + { + "id": "019df3f4-8443-71d6-a106-e211b1f1a359", + "label": [ + "0-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-56a6-7656-98e6-896813fa1052", + "label": [ + "1-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-6110-70d2-91fd-d81a3b4eab88", + "label": [ + "2-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df3f4-3ec3-7069-94bd-5f5097133079", + "label": [ + "Dual 0-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df509-6978-72bf-9362-0e085ed78843", + "label": [ + "Dual 1-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019df3f4-7663-7519-ba02-9cadb41b87f0", + "label": [ + "Dual 2-Form" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + } + ], + "morGenerators": [ + { + "id": "019df920-3a9a-70c4-821e-a871751e58ec", + "label": [ + "multiplication" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + }, + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df91e-8033-716b-8526-12e08e9bec59", + "label": [ + "laplace" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df50c-6981-7248-8a82-b1da5d63ab63", + "label": [ + "inv-laplace" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df509-e051-77aa-9899-db60385d3b57", + "label": [ + "0-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df50a-6e39-7216-9b89-87168f762a5c", + "label": [ + "1-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + }, + { + "id": "019df50b-da40-7399-9c85-094a02bde699", + "label": [ + "sharp-flat" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df50d-0c28-71f9-bcc4-643ca621044d", + "label": [ + "dual 0-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-3ec3-7069-94bd-5f5097133079" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + }, + { + "id": "019df508-fe6a-751c-92e0-ed1ffccbfb20", + "label": [ + "0-inv-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-3ec3-7069-94bd-5f5097133079" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-6110-70d2-91fd-d81a3b4eab88" + } + }, + { + "id": "019df526-a755-75f8-8528-f381f4feec4d", + "label": [ + "dual 1-d" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + }, + { + "id": "019df526-5735-724b-b232-140c13a4a438", + "label": [ + "2-inv-star" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + }, + { + "id": "019df509-9301-77d7-bdd5-3ffaea8a24a1", + "label": [ + "partial" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + }, + { + "id": "019df522-b423-7419-880c-7c8b6f62eb38", + "label": [ + "dp-wedge-10" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + }, + { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df509-56a6-7656-98e6-896813fa1052" + } + }, + { + "id": "019df5ea-62d9-761e-8c9c-9b5cf73e7240", + "label": [ + "-" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + } + ] + }, + "diagram": { + "obGenerators": [ + { + "id": "019df529-6dbc-74ef-b09b-e9033b1cd729", + "label": [ + "v" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df509-6978-72bf-9362-0e085ed78843" + } + }, + { + "id": "019df529-8da6-763a-b0b6-ef7faa28e8f2", + "label": [ + "dv" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df3f4-7663-7519-ba02-9cadb41b87f0" + } + }, + { + "id": "019df529-ab54-760c-a5d6-d16cd2905323", + "label": [ + "psi" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019df3f4-8443-71d6-a106-e211b1f1a359" + } + } + ], + "morGenerators": [ + { + "id": "019df53a-d21a-76b8-a969-a408c47360a3", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df508-fe6a-751c-92e0-ed1ffccbfb20" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df529-8da6-763a-b0b6-ef7faa28e8f2" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e1-f2ff-7458-9b18-7552e4ed2411" + } + }, + { + "id": "019df5e1-fe53-737f-ae36-9a8a537486c7", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df50c-6981-7248-8a82-b1da5d63ab63" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e1-f2ff-7458-9b18-7552e4ed2411" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df529-ab54-760c-a5d6-d16cd2905323" + } + }, + { + "id": "019df5e5-af2b-7008-9f4c-d6019e3131f4", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df509-e051-77aa-9899-db60385d3b57" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df529-ab54-760c-a5d6-d16cd2905323" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e5-c238-72a0-bfd8-07e43d5877bc" + } + }, + { + "id": "019df5e5-dc48-73d8-80ff-adce21a06334", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df50a-6e39-7216-9b89-87168f762a5c" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e5-c238-72a0-bfd8-07e43d5877bc" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df529-6dbc-74ef-b09b-e9033b1cd729" + } + }, + { + "id": "019df5e6-7de5-72dd-a1ca-c94fec27e219", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df526-a755-75f8-8528-f381f4feec4d" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df529-6dbc-74ef-b09b-e9033b1cd729" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e7-3b4f-769e-8b78-4e7aa6ed6cca" + } + }, + { + "id": "019df5e7-54dd-73a3-9d4d-fb851fab23eb", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df508-fe6a-751c-92e0-ed1ffccbfb20" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e7-3b4f-769e-8b78-4e7aa6ed6cca" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e7-cd6a-757d-989b-821888c27cc6" + } + }, + { + "id": "019df5e6-1b54-7791-b6d6-2b773528d386", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df522-b423-7419-880c-7c8b6f62eb38" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df529-6dbc-74ef-b09b-e9033b1cd729" + }, + { + "tag": "Basic", + "content": "019df5e7-cd6a-757d-989b-821888c27cc6" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e7-2dea-777b-beaf-1d649ae5dc63" + } + }, + { + "id": "019df5e8-04c5-76a7-94f0-ecd7e73b9b5a", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df50b-da40-7399-9c85-094a02bde699" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e7-2dea-777b-beaf-1d649ae5dc63" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e8-1e54-742a-a46b-e67afce0c7b9" + } + }, + { + "id": "019df5e8-a1a0-7387-ba3d-4a014db3e8dc", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df50a-6e39-7216-9b89-87168f762a5c" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e8-1e54-742a-a46b-e67afce0c7b9" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e8-d2b9-7747-a43b-13c7b6c6a0ff" + } + }, + { + "id": "019df5e8-3257-7148-b61b-3d04eb245d60", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df509-9301-77d7-bdd5-3ffaea8a24a1" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df529-8da6-763a-b0b6-ef7faa28e8f2" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e9-1ff1-76be-876c-9ca1ff79c322" + } + }, + { + "id": "019df5e9-3517-729b-8ead-98793f1ab691", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df526-a755-75f8-8528-f381f4feec4d" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5e8-d2b9-7747-a43b-13c7b6c6a0ff" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5ea-23eb-714f-aceb-d3c8130fb2a3" + } + }, + { + "id": "019df5ea-2af4-709f-8807-f8981a83d190", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019df5ea-62d9-761e-8c9c-9b5cf73e7240" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019df5ea-23eb-714f-aceb-d3c8130fb2a3" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019df5e9-1ff1-76be-876c-9ca1ff79c322" + } + } + ] + }, + "analysis": { + "duration": 5, + "plotVariables": [ + "019df529-8da6-763a-b0b6-ef7faa28e8f2" + ], + "domain": "Sphere", + "mesh": "Icosphere7", + "initialConditions": { + "019df529-6dbc-74ef-b09b-e9033b1cd729": "TaylorVortex", + "019df529-8da6-763a-b0b6-ef7faa28e8f2": "TaylorVortex", + "019df529-ab54-760c-a5d6-d16cd2905323": "TaylorVortex" + }, + "scalars": {} + } +} diff --git a/packages/algjulia-interop/test/data/diagrams/simple-wedge.json b/packages/algjulia-interop/test/data/diagrams/simple-wedge.json new file mode 100644 index 000000000..5598c3733 --- /dev/null +++ b/packages/algjulia-interop/test/data/diagrams/simple-wedge.json @@ -0,0 +1,323 @@ +{ + "diagram": { + "obGenerators": [ + { + "id": "019cde08-b1bf-76da-80f9-1af6fbcef269", + "label": [ + "u" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + }, + { + "id": "019cde09-32c7-761d-af2d-51b6011ef442", + "label": [ + "v" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + }, + { + "id": "019cde08-d8b7-772a-bb36-f8c84bc13460", + "label": [ + "dot-u" + ], + "obType": { + "tag": "Basic", + "content": "Object" + }, + "over": { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + } + ], + "morGenerators": [ + { + "id": "019cde08-f9b7-7120-9d20-ef3d6eea012d", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019cde08-0528-727f-8bae-5ef388ee01a2" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde09-32c7-761d-af2d-51b6011ef442" + }, + { + "tag": "Basic", + "content": "019cde08-b1bf-76da-80f9-1af6fbcef269" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde08-d8b7-772a-bb36-f8c84bc13460" + } + }, + { + "id": "019cde09-b45f-77b4-be4b-8c0faf76aa0f", + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "over": { + "tag": "Basic", + "content": "019cde07-a55f-7696-9399-6ae3b5f71002" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde08-b1bf-76da-80f9-1af6fbcef269" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde08-d8b7-772a-bb36-f8c84bc13460" + } + } + ] + }, + "model": { + "obGenerators": [ + { + "id": "019cde06-171a-718d-9e4c-82c943045e9f", + "label": [ + "Form0" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019cde07-07df-719e-8e96-e41ecc125bb4", + "label": [ + "DualForm0" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019cde06-368b-75e7-b538-9f859b1d7f2d", + "label": [ + "Form1" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019cde07-1957-777f-bdbe-1f778850176e", + "label": [ + "DualForm1" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019cde06-4d8e-77cb-922b-2fd09905027e", + "label": [ + "Form2" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + }, + { + "id": "019cde07-2b07-75a9-86dd-3d266c1e1195", + "label": [ + "DualForm2" + ], + "obType": { + "tag": "Basic", + "content": "Object" + } + } + ], + "morGenerators": [ + { + "id": "019cde06-6c67-770b-a9fa-3af2f350fc0e", + "label": [ + "d0" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde06-368b-75e7-b538-9f859b1d7f2d" + } + }, + { + "id": "019cde06-ae91-74c1-afba-4ad9d32ecd6c", + "label": [ + "d1" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde06-368b-75e7-b538-9f859b1d7f2d" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde06-4d8e-77cb-922b-2fd09905027e" + } + }, + { + "id": "019cde07-a55f-7696-9399-6ae3b5f71002", + "label": [ + "partial" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + }, + { + "id": "019cde08-0528-727f-8bae-5ef388ee01a2", + "label": [ + "wedge00" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + }, + { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + } + }, + { + "id": "019cde07-da78-7468-ac04-059fb33a4084", + "label": [ + "wedge01" + ], + "morType": { + "tag": "Basic", + "content": "Multihom" + }, + "dom": { + "tag": "List", + "content": { + "modality": "List", + "objects": [ + { + "tag": "Basic", + "content": "019cde06-171a-718d-9e4c-82c943045e9f" + }, + { + "tag": "Basic", + "content": "019cde06-368b-75e7-b538-9f859b1d7f2d" + } + ] + } + }, + "cod": { + "tag": "Basic", + "content": "019cde06-368b-75e7-b538-9f859b1d7f2d" + } + } + ] + }, + "analysis": { + "domain": "Plane", + "mesh": "Rectangle", + "initialConditions": { + "019cde08-b1bf-76da-80f9-1af6fbcef269": "Gaussian", + "019cde09-32c7-761d-af2d-51b6011ef442": "Gaussian" + }, + "plotVariables": {}, + "scalars": {}, + "duration": 10 + } +} diff --git a/packages/algjulia-interop/test/plotting.jl b/packages/algjulia-interop/test/plotting.jl new file mode 100644 index 000000000..4b97e9ac8 --- /dev/null +++ b/packages/algjulia-interop/test/plotting.jl @@ -0,0 +1,69 @@ +using CairoMakie + +struct HeatEquation end + +struct VorticityFc end + +function plot(::Type{VorticityFc}, sr::D.SolutionResult, var::Symbol) + fig = Figure(size=(2000,2000), fontsize=64) + Label(fig[1, 1, Top()], "Vorticity at $(last(sr.soln.t))", padding = (0, 0, 5, 0)) + ax = LScene(fig[1,1], scenekw=(lights=[],), show_axis=false) + update_cam!(ax.scene, Vec3f(0,0,0.8), Vec3f(0,0,0), Vec3f(0, 1, 1)) + clrrng = (-5.0,15.0) + s0inv = sr.system.generate.operators[:s0inv] + msh = CairoMakie.mesh!(ax, sr.system.geometry.mesh, + # Observe that s0inv converts d𝐮 from a dual 2-form to a primal 0-form. + color=s0inv*getproperty(sr.soln(last(sr.soln.t)), var), + colorrange=clrrng, + colormap=Reverse(:redsblues)) + Colorbar(fig[1,2], msh, size=32) + fig +end + +""" function save_vort_gif(file_name) + +Given a solution wih vorticity as a dual 2-form, make a GIF with vorticity as a primal 0-form. +""" +function record_gif(::Type{VorticityFc}, file_name, sr::D.SolutionResult, var::Symbol) + time = Observable(0.0) + fig = Figure() + Label(fig[1, 1, Top()], @lift("Vorticity at $($time)"), padding = (0, 0, 5, 0)) + ax = LScene(fig[1,1]) + clrrng = (-5.0,17) + s0inv = sr.system.generate.operators[:s0inv] + msh = CairoMakie.mesh!(ax, sr.system.geometry.mesh, + # Observe that s0inv converts d𝐮 from a dual 2-form to a primal 0-form. + color=@lift(s0inv*getproperty(sr.soln($time), var)), + colorrange=clrrng, + colormap=Reverse(:redsblues)) + Colorbar(fig[1,2], msh) + times = range(first(sr.soln.t), last(sr.soln.t), length=100) + record(fig, file_name, times; framerate = 30) do t + time[] = t + end +end + +function record_gif(::Type{HeatEquation}, file_name, sr::D.SolutionResult, var::Symbol) + time = Observable(0.0) + n = floor(Int64, sqrt(length(getproperty(sr.soln(first(sr.soln.t)), var)))) + fig = Figure() + Label(fig[1, 1, Top()], @lift("Diffusion at $($time)")) + ax = CairoMakie.Axis(fig[1,1]) + data = Observable(reshape(getproperty(sr.soln(first(sr.soln.t)), var), (n, n))) + heatmap!(ax, data) + Colorbar(fig[1,2], ax.scene.plots[end]) + times = range(first(sr.soln.t), last(sr.soln.t), length=100) + record(fig, file_name, times; framerate=30) do t + time[] = t + data[] = reshape(getproperty(sr.soln(t), var), (n, n)) + end +end + + +# fig, ax, ob = mesh(sr.system.geometry.mesh) +# times = range(0.0, sr.system.duration, length=150) +# record(fig, "diffusion.gif", times; framerate = 30) do t +# ob.color = getproperty(soln(t), var) +# end + + diff --git a/packages/algjulia-interop/test/runtests.jl b/packages/algjulia-interop/test/runtests.jl index 56ed0d76f..06bb769ba 100644 --- a/packages/algjulia-interop/test/runtests.jl +++ b/packages/algjulia-interop/test/runtests.jl @@ -1,5 +1,9 @@ using Test -@testset "Catlab" begin - include("TestCatlab.jl") +# @testset "Catlab" begin +# include("TestCatlab.jl") +# end + +@testset "Decapodes" begin + include("TestDecapodes.jl") end