diff --git a/Project.toml b/Project.toml index 877c60c..4bbf834 100644 --- a/Project.toml +++ b/Project.toml @@ -11,7 +11,6 @@ OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8" RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" Unrolled = "9602ed7d-8fef-5bc8-8597-8f21381861e8" [compat] @@ -27,7 +26,6 @@ RecursiveArrayTools = "3.39.0" SafeTestsets = "0.1.0" SciMLBase = "2.77.0" TimerOutputs = "0.5.28" -UnPack = "1.0.2" Unrolled = "0.1.5" julia = "1.10" diff --git a/docs/src/devdocs/index.md b/docs/src/devdocs/index.md index 80e32e4..82708fc 100644 --- a/docs/src/devdocs/index.md +++ b/docs/src/devdocs/index.md @@ -77,7 +77,7 @@ end solution_indices::Tuple, synchronizers::Tuple, cache::MySimpleFirstOrderAlgorithmCache, tnext) # We assume that the integrators are already synced - @unpack inner_caches = cache + (;inner_caches) = cache # Advance first subproblem OrdinaryDiffEqOperatorSplitting.forward_sync_subintegrator!( diff --git a/src/OrdinaryDiffEqOperatorSplitting.jl b/src/OrdinaryDiffEqOperatorSplitting.jl index ccbb012..1ccee6d 100644 --- a/src/OrdinaryDiffEqOperatorSplitting.jl +++ b/src/OrdinaryDiffEqOperatorSplitting.jl @@ -13,8 +13,6 @@ import RecursiveArrayTools import OrdinaryDiffEqCore -import UnPack: @unpack - abstract type AbstractOperatorSplitFunction <: SciMLBase.AbstractODEFunction{true} end abstract type AbstractOperatorSplittingAlgorithm end abstract type AbstractOperatorSplittingCache end diff --git a/src/integrator.jl b/src/integrator.jl index 1490d56..45b2df0 100644 --- a/src/integrator.jl +++ b/src/integrator.jl @@ -413,7 +413,7 @@ function DiffEqBase.solve!(integrator::OperatorSplittingIntegrator) step_header!(integrator) @timeit_debug "check_error" SciMLBase.check_error!(integrator) ∉ ( ReturnCode.Success, ReturnCode.Default, - )&&return + ) && return __step!(integrator) step_footer!(integrator) if !SciMLBase.has_tstop(integrator) @@ -438,7 +438,7 @@ function DiffEqBase.step!(integrator::OperatorSplittingIntegrator) step_header!(integrator) @timeit_debug "check_error" SciMLBase.check_error!(integrator) ∉ ( ReturnCode.Success, ReturnCode.Default, - )&&return + ) && return __step!(integrator) step_footer!(integrator) if !SciMLBase.has_tstop(integrator) @@ -449,14 +449,14 @@ function DiffEqBase.step!(integrator::OperatorSplittingIntegrator) step_header!(integrator) @timeit_debug "check_error" SciMLBase.check_error!(integrator) ∉ ( ReturnCode.Success, ReturnCode.Default, - )&&return + ) && return __step!(integrator) step_footer!(integrator) while !should_accept_step(integrator) step_header!(integrator) @timeit_debug "check_error" SciMLBase.check_error!(integrator) ∉ ( ReturnCode.Success, ReturnCode.Default, - )&&return + ) && return __step!(integrator) step_footer!(integrator) end @@ -508,7 +508,7 @@ function DiffEqBase.step!(integrator::OperatorSplittingIntegrator, dt, stop_at_t step_header!(integrator) @timeit_debug "check_error" SciMLBase.check_error!(integrator) ∉ ( ReturnCode.Success, ReturnCode.Default, - )&&return + ) && return __step!(integrator) step_footer!(integrator) end @@ -675,7 +675,7 @@ end function synchronize_subintegrator!( subintegrator::DEIntegrator, integrator::OperatorSplittingIntegrator ) - @unpack t, dt = integrator + (; t, dt) = integrator @assert subintegrator.t == t return if !isadaptive(subintegrator) SciMLBase.set_proposed_dt!(subintegrator, dt) diff --git a/src/solver.jl b/src/solver.jl index c638fd5..b2b0070 100644 --- a/src/solver.jl +++ b/src/solver.jl @@ -33,7 +33,7 @@ end synchronizers::Tuple, cache::LieTrotterGodunovCache, tnext ) # We assume that the integrators are already synced - @unpack inner_caches = cache + (; inner_caches) = cache # For each inner operator i = 0 @unroll for subinteg in subintegrators