|
3 | 3 | t = nothing, eval_expression = false, eval_module = @__MODULE__, sparse = false,
|
4 | 4 | steady_state = false, checkbounds = false, sparsity = false, analytic = nothing,
|
5 | 5 | simplify = false, cse = true, initialization_data = nothing, expression = Val{false},
|
6 |
| - check_compatibility = true, kwargs...) where {iip, spec} |
| 6 | + check_compatibility = true, nlstep = false, kwargs...) where {iip, spec} |
7 | 7 | check_complete(sys, ODEFunction)
|
8 | 8 | check_compatibility && check_compatible_system(ODEFunction, sys)
|
9 | 9 |
|
|
41 | 41 | M = calculate_massmatrix(sys)
|
42 | 42 | _M = concrete_massmatrix(M; sparse, u0)
|
43 | 43 |
|
| 44 | + if nlstep |
| 45 | + ode_nlstep = generate_ODENLStepData(sys, u0, p, M) |
| 46 | + else |
| 47 | + ode_nlstep = nothing |
| 48 | + end |
| 49 | + |
44 | 50 | observedfun = ObservedFunctionCache(
|
45 | 51 | sys; expression, steady_state, eval_expression, eval_module, checkbounds, cse)
|
46 | 52 |
|
|
57 | 63 | observed = observedfun,
|
58 | 64 | sparsity = sparsity ? _W_sparsity : nothing,
|
59 | 65 | analytic = analytic,
|
60 |
| - initialization_data) |
| 66 | + initialization_data, |
| 67 | + nlstep_data = ode_nlstep) |
61 | 68 |
|
62 | 69 | maybe_codegen_scimlfn(expression, ODEFunction{iip, spec}, args; kwargs...)
|
63 | 70 | end
|
|
0 commit comments