@@ -118,12 +118,12 @@ struct SymbolicContinuousCallback
118118 affect_neg:: Union{Vector{Equation}, FunctionalAffect, Nothing}
119119 rootfind:: SciMLBase.RootfindOpt
120120 reinitializealg:: SciMLBase.DAEInitializationAlgorithm
121- function SymbolicContinuousCallback (;
122- eqs:: Vector{Equation} ,
123- affect = NULL_AFFECT,
124- affect_neg = affect,
125- rootfind = SciMLBase. LeftRootFind,
126- reinitializealg= SciMLBase. CheckInit ())
121+ function SymbolicContinuousCallback (;
122+ eqs:: Vector{Equation} ,
123+ affect = NULL_AFFECT,
124+ affect_neg = affect,
125+ rootfind = SciMLBase. LeftRootFind,
126+ reinitializealg = SciMLBase. CheckInit ())
127127 new (eqs, make_affect (affect), make_affect (affect_neg), rootfind, reinitializealg)
128128 end # Default affect to nothing
129129end
@@ -194,8 +194,10 @@ function affect_negs(cbs::Vector{SymbolicContinuousCallback})
194194end
195195
196196reinitialization_alg (cb:: SymbolicContinuousCallback ) = cb. reinitializealg
197- reinitialization_algs (cbs:: Vector{SymbolicContinuousCallback} ) =
198- mapreduce (reinitialization_alg, vcat, cbs, init = SciMLBase. DAEInitializationAlgorithm[])
197+ function reinitialization_algs (cbs:: Vector{SymbolicContinuousCallback} )
198+ mapreduce (
199+ reinitialization_alg, vcat, cbs, init = SciMLBase. DAEInitializationAlgorithm[])
200+ end
199201
200202namespace_affects (af:: Vector , s) = Equation[namespace_affect (a, s) for a in af]
201203namespace_affects (af:: FunctionalAffect , s) = namespace_affect (af, s)
@@ -241,7 +243,8 @@ struct SymbolicDiscreteCallback
241243 affects:: Any
242244 reinitializealg:: SciMLBase.DAEInitializationAlgorithm
243245
244- function SymbolicDiscreteCallback (condition, affects = NULL_AFFECT, reinitializealg= SciMLBase. CheckInit ())
246+ function SymbolicDiscreteCallback (
247+ condition, affects = NULL_AFFECT, reinitializealg = SciMLBase. CheckInit ())
245248 c = scalarize_condition (condition)
246249 a = scalarize_affects (affects)
247250 new (c, a, reinitializealg)
@@ -302,8 +305,10 @@ function affects(cbs::Vector{SymbolicDiscreteCallback})
302305end
303306
304307reinitialization_alg (cb:: SymbolicDiscreteCallback ) = cb. reinitializealg
305- reinitialization_algs (cbs:: Vector{SymbolicDiscreteCallback} ) =
306- mapreduce (reinitialization_alg, vcat, cbs, init = SciMLBase. DAEInitializationAlgorithm[])
308+ function reinitialization_algs (cbs:: Vector{SymbolicDiscreteCallback} )
309+ mapreduce (
310+ reinitialization_alg, vcat, cbs, init = SciMLBase. DAEInitializationAlgorithm[])
311+ end
307312
308313function namespace_callback (cb:: SymbolicDiscreteCallback , s):: SymbolicDiscreteCallback
309314 af = affects (cb)
@@ -598,14 +603,15 @@ function generate_single_rootfinding_callback(
598603 initfn = SciMLBase. INITIALIZE_DEFAULT
599604 end
600605 return ContinuousCallback (
601- cond, affect_function. affect, affect_function. affect_neg, rootfind = cb. rootfind,
606+ cond, affect_function. affect, affect_function. affect_neg, rootfind = cb. rootfind,
602607 initialize = initfn,
603608 initializealg = reinitialization_alg (cb))
604609end
605610
606611function generate_vector_rootfinding_callback (
607612 cbs, sys:: AbstractODESystem , dvs = unknowns (sys),
608- ps = parameters (sys); rootfind = SciMLBase. RightRootFind, reinitialization = SciMLBase. CheckInit (), kwargs... )
613+ ps = parameters (sys); rootfind = SciMLBase. RightRootFind,
614+ reinitialization = SciMLBase. CheckInit (), kwargs... )
609615 eqs = map (cb -> flatten_equations (cb. eqs), cbs)
610616 num_eqs = length .(eqs)
611617 # fuse equations to create VectorContinuousCallback
@@ -670,7 +676,8 @@ function generate_vector_rootfinding_callback(
670676 initfn = SciMLBase. INITIALIZE_DEFAULT
671677 end
672678 return VectorContinuousCallback (
673- cond, affect, affect_neg, length (eqs), rootfind = rootfind, initialize = initfn, initializealg = reinitialization)
679+ cond, affect, affect_neg, length (eqs), rootfind = rootfind,
680+ initialize = initfn, initializealg = reinitialization)
674681end
675682
676683"""
@@ -711,21 +718,23 @@ function generate_rootfinding_callback(cbs, sys::AbstractODESystem, dvs = unknow
711718 # groupby would be very useful here, but alas
712719 cb_classes = Dict{
713720 @NamedTuple {
714- rootfind:: SciMLBase.RootfindOpt ,
721+ rootfind:: SciMLBase.RootfindOpt ,
715722 reinitialization:: SciMLBase.DAEInitializationAlgorithm }, Vector{SymbolicContinuousCallback}}()
716723 for cb in cbs
717724 push! (
718- get! (() -> SymbolicContinuousCallback[], cb_classes, (
719- rootfind = cb. rootfind,
720- reinitialization = reinitialization_alg (cb))),
725+ get! (() -> SymbolicContinuousCallback[], cb_classes,
726+ (
727+ rootfind = cb. rootfind,
728+ reinitialization = reinitialization_alg (cb))),
721729 cb)
722730 end
723731
724732 # generate the callbacks out; we sort by the equivalence class to ensure a deterministic preference order
725733 compiled_callbacks = map (collect (pairs (sort! (
726734 OrderedDict (cb_classes); by = p -> p. rootfind)))) do (equiv_class, cbs_in_class)
727735 return generate_vector_rootfinding_callback (
728- cbs_in_class, sys, dvs, ps; rootfind = equiv_class. rootfind, reinitialization= equiv_class. reinitialization, kwargs... )
736+ cbs_in_class, sys, dvs, ps; rootfind = equiv_class. rootfind,
737+ reinitialization = equiv_class. reinitialization, kwargs... )
729738 end
730739 if length (compiled_callbacks) == 1
731740 return compiled_callbacks[]
@@ -796,10 +805,12 @@ function generate_timed_callback(cb, sys, dvs, ps; postprocess_affect_expr! = no
796805 end
797806 if cond isa AbstractVector
798807 # Preset Time
799- return PresetTimeCallback (cond, as; initialize = initfn, initializealg= reinitialization_alg (cb))
808+ return PresetTimeCallback (
809+ cond, as; initialize = initfn, initializealg = reinitialization_alg (cb))
800810 else
801811 # Periodic
802- return PeriodicCallback (as, cond; initialize = initfn, initializealg= reinitialization_alg (cb))
812+ return PeriodicCallback (
813+ as, cond; initialize = initfn, initializealg = reinitialization_alg (cb))
803814 end
804815end
805816
@@ -824,7 +835,8 @@ function generate_discrete_callback(cb, sys, dvs, ps; postprocess_affect_expr! =
824835 else
825836 initfn = SciMLBase. INITIALIZE_DEFAULT
826837 end
827- return DiscreteCallback (c, as; initialize = initfn, initializealg= reinitialization_alg (cb))
838+ return DiscreteCallback (
839+ c, as; initialize = initfn, initializealg = reinitialization_alg (cb))
828840 end
829841end
830842
0 commit comments