From 071ecd4d9c05e9d0512522f1be11fabf9cf32e54 Mon Sep 17 00:00:00 2001 From: Abdulaziz Date: Thu, 15 Aug 2024 20:24:03 +0200 Subject: [PATCH] assume only one problem --- src/solver/adaptivity.jl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/solver/adaptivity.jl b/src/solver/adaptivity.jl index 6acfbae5..8dcc4266 100644 --- a/src/solver/adaptivity.jl +++ b/src/solver/adaptivity.jl @@ -41,6 +41,7 @@ end """ get_reaction_tangent(integrator::OS.OperatorSplittingIntegrator) Returns the maximal reaction magnitude using the [`PointwiseODEFunction`](@ref) of an operator splitting integrator that uses [`LieTrotterGodunov`](@ref) [Lie:1880:tti,Tro:1959:psg,God:1959:dmn](@cite). +It is assumed that the problem containing the reaction tangent is a [`PointwiseODEFunction`](@ref). """ @inline function get_reaction_tangent(integrator::OS.OperatorSplittingIntegrator) reaction_subintegrators = unrolled_filter(subintegrator -> subintegrator.f isa PointwiseODEFunction, integrator.subintegrators) @@ -48,12 +49,13 @@ Returns the maximal reaction magnitude using the [`PointwiseODEFunction`](@ref) _get_reaction_tangent(reaction_subintegrators) end -@inline @unroll function _get_reaction_tangent(subintegrators) - @unroll for subintegrator in subintegrators +@inline #=@unroll=# function _get_reaction_tangent(subintegrators) + subintegrator = subintegrators[1] + # @unroll for subintegrator in subintegrators #TODO: It should be either all the the same type or just one subintegrator after filtering, don't unroll? - φₘidx = transmembranepotential_index(subintegrator.f.ode) - return maximum(@view subintegrator.cache.dumat[:, φₘidx]) - end + φₘidx = transmembranepotential_index(subintegrator.f.ode) + return maximum(@view subintegrator.cache.dumat[:, φₘidx]) + # end end @inline function OS.stepsize_controller!(integrator::OS.OperatorSplittingIntegrator, alg::AdaptiveOperatorSplittingAlgorithm)