@@ -125,10 +125,10 @@ function remake(prob::ODEProblem; f = missing,
125
125
126
126
if f === missing
127
127
if build_initializeprob
128
- initializeprob, update_initializeprob!, initializeprobmap, initializeprobpmap = remake_initializeprob (
128
+ initialization_data = remake_initialization_data (
129
129
prob. f. sys, prob. f, u0, tspan[1 ], p)
130
130
else
131
- initializeprob = update_initializeprob! = initializeprobmap = initializeprobpmap = nothing
131
+ initialization_data = nothing
132
132
end
133
133
if specialization (prob. f) === FunctionWrapperSpecialize
134
134
ptspan = promote_tspan (tspan)
@@ -137,45 +137,21 @@ function remake(prob::ODEProblem; f = missing,
137
137
wrapfun_iip (
138
138
unwrapped_f (prob. f. f),
139
139
(newu0, newu0, newp,
140
- ptspan[1 ]));
141
- initializeprob, update_initializeprob!, initializeprobmap, initializeprobpmap)
140
+ ptspan[1 ])); initialization_data)
142
141
else
143
142
_f = ODEFunction {iip, FunctionWrapperSpecialize} (
144
143
wrapfun_oop (
145
144
unwrapped_f (prob. f. f),
146
145
(newu0, newp,
147
- ptspan[1 ]));
148
- initializeprob, update_initializeprob!, initializeprobmap, initializeprobpmap)
146
+ ptspan[1 ])); initialization_data)
149
147
end
150
148
else
151
149
_f = prob. f
152
- if __has_initializeprob (_f)
150
+ if __has_initialization_data (_f)
153
151
props = getproperties (_f)
154
- @reset props. initializeprob = initializeprob
152
+ @reset props. initialization_data = initialization_data
155
153
props = values (props)
156
- _f = parameterless_type (_f){
157
- iip, specialization (_f), map (typeof, props)... }(props... )
158
- end
159
- if __has_update_initializeprob! (_f)
160
- props = getproperties (_f)
161
- @reset props. update_initializeprob! = update_initializeprob!
162
- props = values (props)
163
- _f = parameterless_type (_f){
164
- iip, specialization (_f), map (typeof, props)... }(props... )
165
- end
166
- if __has_initializeprobmap (_f)
167
- props = getproperties (_f)
168
- @reset props. initializeprobmap = initializeprobmap
169
- props = values (props)
170
- _f = parameterless_type (_f){
171
- iip, specialization (_f), map (typeof, props)... }(props... )
172
- end
173
- if __has_initializeprobpmap (_f)
174
- props = getproperties (_f)
175
- @reset props. initializeprobpmap = initializeprobpmap
176
- props = values (props)
177
- _f = parameterless_type (_f){
178
- iip, specialization (_f), map (typeof, props)... }(props... )
154
+ _f = parameterless_type (_f){iip, specialization (_f), map (typeof, props)... }(props... )
179
155
end
180
156
end
181
157
elseif f isa AbstractODEFunction
206
182
"""
207
183
remake_initializeprob(sys, scimlfn, u0, t0, p)
208
184
185
+ !! WARN
186
+ This method is deprecated. Please see `remake_initialization_data`
187
+
209
188
Re-create the initialization problem present in the function `scimlfn`, using the
210
189
associated system `sys`, and the user-provided new values of `u0`, initial time `t0` and
211
190
`p`. By default, returns `nothing, nothing, nothing, nothing` if `scimlfn` does not have an
@@ -223,6 +202,21 @@ function remake_initializeprob(sys, scimlfn, u0, t0, p)
223
202
scimlfn. update_initializeprob!, scimlfn. initializeprobmap, scimlfn. initializeprobpmap
224
203
end
225
204
205
+ """
206
+ remake_initialization_data(sys, scimlfn, u0, t0, p)
207
+
208
+ Re-create the initialization data present in the function `scimlfn`, using the
209
+ associated system `sys` and the user provided new values of `u0`, initial time `t0` and
210
+ `p`. By default, this calls `remake_initializeprob` for backward compatibility and
211
+ attempts to construct an `OverrideInitData` from the result.
212
+
213
+ Note that `u0` or `p` may be `missing` if the user does not provide a value for them.
214
+ """
215
+ function remake_initialization_data (sys, scimlfn, u0, t0, p)
216
+ return reconstruct_initialization_data (
217
+ nothing , remake_initializeprob (sys, scimlfn, u0, t0, p)... )
218
+ end
219
+
226
220
"""
227
221
remake(prob::BVProblem; f = missing, u0 = missing, tspan = missing,
228
222
p = missing, kwargs = missing, problem_type = missing, _kwargs...)
0 commit comments