Releases: SciML/ModelingToolkit.jl
Releases · SciML/ModelingToolkit.jl
v9.19.0
ModelingToolkit v9.19.0
Merged pull requests:
Closed issues:
- Niche case of
plotsol; idxs = [...])
fails (#2778)
v9.18.1
ModelingToolkit v9.18.1
Merged pull requests:
v9.18.0
ModelingToolkit v9.18.0
Merged pull requests:
- refactor: directly solve initialization problem in
linearization_function
(#2762) (@AayushSabharwal) - Better over-determined tearing (#2793) (@YingboMa)
- refactor: use common implementation of
observedfun
(#2796) (@AayushSabharwal) - Bye bye ₊, use var symbols with . (#2798) (@ChrisRackauckas)
Closed issues:
v9.17.1
ModelingToolkit v9.17.1
Merged pull requests:
- allow for late binding of initialization equations (#2789) (@ChrisRackauckas)
- feat: store observed equation lhs in
symbol_to_variable
mapping (#2791) (@AayushSabharwal)
Closed issues:
v9.17.0
ModelingToolkit v9.17.0
Merged pull requests:
- Add initialization_equations flattening constructor (#2591) (@ChrisRackauckas)
- Fixes for dependent parameters (#2668) (@SebastianM-C)
- error for hybrid continuous/discrete systems (#2765) (@baggepinnen)
- feat: allow specifying variable names in
modelingtoolkitize
(#2768) (@AayushSabharwal) - Remove unnecessary line in
calculate_massmatrix
function (#2771) (@bowenszhu) - fix: fix
build_explicit_observed_function
for array parameter expressions (#2772) (@AayushSabharwal) - Fix typos (#2773) (@ChrisRackauckas)
- Add propagation of guesses from parameters and observed (#2775) (@ChrisRackauckas)
- Fix accessing of
defaults
in BifurcationKit extensions (#2776) (@TorkelE) - Fix unnecessary type specification in BK extension (#2777) (@TorkelE)
- Test parameters + defaults in initialization propagation (#2781) (@ChrisRackauckas)
- Only use the observed for simplification in MTKParameters construction (#2783) (@ChrisRackauckas)
- fix: avoid infinite loops in MTKParameters initialization (#2785) (@AayushSabharwal)
Closed issues:
- Cannot solve for dependent parameters during initialization (#2665)
- Remake fails with mixed variable and parameter defaults (#2715)
- Initialization systems don't support parametric guesses (#2716)
- ForwardDiff fails to differentiate ODE, due to type error between tspan and u0 (#2721)
- Pass state and parameter names etc. to modelingtoolkitize so the equations are easier to compare (#2736)
getu
with vector observed fails (#2767)- New parameter type validation broke parameter splines (#2769)
- Cannot initialize unknown from observed that depends on parameter (#2774)
v9.16.0
ModelingToolkit v9.16.0
Merged pull requests:
- feat: add parameter type and size validation in
remake_buffer
andsetp
(#2657) (@AayushSabharwal) - fix: create and solve initialization system in linearization_function (#2676) (@AayushSabharwal)
- feat: relax type restrictions in
MTKParameters
construction (#2686) (@AayushSabharwal) - Backport #2719 to MTK v8 (#2726) (@devmotion)
- fix: fix bug in
remake_buffer
(#2729) (@AayushSabharwal) - CompatHelper: add new compat entry for DeepDiffs in [weakdeps] at version 1, (keep existing compat) (#2737) (@github-actions[bot])
- CompatHelper: add new compat entry for BifurcationKit in [weakdeps] at version 0.3, (keep existing compat) (#2738) (@github-actions[bot])
- Update to SymbolicUtils v2 (#2760) (@ChrisRackauckas)
- fix: error when simplified discrete system contains algebraic equations (#2766) (@AayushSabharwal)
Closed issues:
- Indexing and iterating in ODEProblem and modelingtoolkitize / error messages (#1678)
- Cannot beat OpenModelica score with ModelingToolkit.jl and OrdinaryDiffEq.jl (#1693)
- OOM on cyclical network (#2015)
- ForwardDiff does not work directly through ODEProblem (#2667)
- Error about missing parameter to
ODEProblem
reports it as a missing initial condition (#2694) - Using mixed data types with the remake function will lead to an error. (#2713)
- DiscreteProblem without and with
ifelse
(#2718) - MTK doesn't precompile on my Windows 11 laptop anymore (#2730)
- Unknowns of full sys used instead of for discrete partition (#2732)
split=false
required to simulate with uncertain parameters (#2746)- Bad latex display for equations with vector variables: (#2752)
- Use
Terminterface.iscall
isntead ofistree
(#2753) - SDE simulations broken (#2754)
- SDE simulation broken again (#2756)
- Vector parameters don't work with
parameter_dependencies
(#2764)
v8.76.0
ModelingToolkit v8.76.0
Merged pull requests:
- [BREAKING Don't merge] Support DynamicQuantities (#2349) (@YingboMa)
- add component-based hybrid system test (#2355) (@baggepinnen)
- Add support for component array in
@mtkmodel
(#2368) (@ven-k) - Getcoeffchunk (#2393) (@chriselrod)
- Preserve staticarrays in the problem construction (#2399) (@ChrisRackauckas)
- Fix up initializesystem for hierarchical models (#2403) (@ChrisRackauckas)
- Fix some warnings (#2405) (@isaacsas)
- add docs for sampled-data systems (#2410) (@baggepinnen)
- build(deps): bump crate-ci/typos from 1.16.25 to 1.17.0 (#2419) (@dependabot[bot])
- CompatHelper: bump compat for DynamicQuantities to 0.11, (keep existing compat) (#2424) (@github-actions[bot])
- Replace MacroTools with ExprTools & Base.remove_lines! (#2425) (@oxinabox)
- Add event support mtkmodel (#2427) (@cgutsche)
- Consistent variable creation (#2428) (@YingboMa)
- build(deps): bump actions/cache from 3 to 4 (#2430) (@dependabot[bot])
- fix(pdesystem): parameters are vector of Num instead of vector of pairs when analytic is also passed (#2431) (@sathvikbhagavan)
- refactor: rename states to unknowns, and related changes (#2432) (@AayushSabharwal)
- feat!: deprecate ODAEProblem (#2435) (@AayushSabharwal)
- refactor!: require systems to be
complete
d before creatingXProblem
/XProblemExpr
(#2436) (@AayushSabharwal) - feat: add
@defaults
to@mtkmodel
(#2437) (@ven-k) - Fix updating default value metadata of conditional parameters (#2438) (@ven-k)
- test: uncomment tests (#2439) (@AayushSabharwal)
- refactor!: remove old discrete system (#2440) (@AayushSabharwal)
- Add StateMachineOperators (#2441) (@YingboMa)
- feat!: add common definitions of t and D (#2442) (@AayushSabharwal)
- fix!: require explicit independent variable for ODESystem (#2443) (@AayushSabharwal)
- Update bifurcation_diagram_computation.md (#2444) (@rveltz)
- Update bifurcation_diagram_computation.md, add periodic orbits comput… (#2445) (@rveltz)
- chore: remove undefined exports (#2446) (@sathvikbhagavan)
- feat!: use SciMLStructures and add new
MTKParameters
(#2447) (@AayushSabharwal) - build(deps): bump codecov/codecov-action from 3 to 4 (#2448) (@dependabot[bot])
- build(deps): bump crate-ci/typos from 1.17.0 to 1.18.0 (#2449) (@dependabot[bot])
- Have CI tests depend on formatter passing (#2451) (@chriselrod)
- [skip ci] Update dependabot.yml (#2452) (@ArnoStrouwen)
- ci: explicitly specify token for codecov (#2454) (@thazhemadam)
- Pin JuliaFormatter (#2456) (@YingboMa)
- docs: use
@mtkbuild
instead of manually callingcomplete
(#2460) (@AayushSabharwal) - Fix test groupings and test setup (#2465) (@ChrisRackauckas)
- docs: update NEWS.md with v9 update notes (#2466) (@AayushSabharwal)
- build: bump compat of DomainSets (#2467) (@sathvikbhagavan)
- Correct number of srcs in
complete
(#2468) (@Keno) - feat!: do not scalarize parameters, fix some tests (#2469) (@AayushSabharwal)
- Format (#2471) (@YingboMa)
- docs: update NEWS.md (#2473) (@AayushSabharwal)
- Fix and update documentation for v9 (#2478) (@ChrisRackauckas)
- chore: add 0.12 of DynamicQuantities (#2479) (@ven-k)
- fix: fix jacobian generation for NonlinearSystem (#2480) (@AayushSabharwal)
- CompatHelper: bump compat for DiffEqCallbacks to 3, (keep existing compat) (#2486) (@github-actions[bot])
- CompatHelper: bump compat for ModelingToolkit to 9 for package docs, (keep existing compat) (#2487) (@github-actions[bot])
- docs: update docs for MTKv9 (#2489) (@AayushSabharwal)
- OptimizationSystem: Generate oop constraint derivatives (#2492) (@Vaibhavdixit02)
- SelectedUnknown -> SelectedState (#2494) (@YingboMa)
- Fix testing infrastructure (#2495) (@ChrisRackauckas)
- CompatHelper: bump compat for DynamicQuantities to 0.12 for package docs, (keep existing compat) (#2498) (@github-actions[bot])
- Parse constants in
@mtkmodel
(#2499) (@ven-k) - Provision to enforce types in parameters, variables and structural_parameters in
@mtkmodel
(#2500) (@ven-k) - Improve handling of expression in metadata (#2501) (@ven-k)
- Update NEWS.md for DAE Initialization changes (#2503) (@ChrisRackauckas)
- feat: initial implementation of new
DiscreteSystem
(#2507) (@AayushSabharwal) - Expose a non dummy derivative index lowering (#2510) (@ChrisRackauckas)
- 🚑 pass type to var generation (#2511) (@ven-k)
- Initialization on non-DAE models (#2512) (@ChrisRackauckas)
- fix: fix variable_index (#2514) (@AayushSabharwal)
- feat: add
SolverStepClock
(#2517) (@baggepinnen) - Add a tutorial for initialization handling (#2518) (@ChrisRackauckas)
- Add init for maximum (#2519) (@YingboMa)
- fix: type of array in the mtkmodel's
f
(#2521) (@ven-k) - [skip ci] add isconnection to ignored typos words (#2523) (@ArnoStrouwen)
- fix: avoid scalarizing params in structural_simplify, variable defaults in get_u0 (#2524) (@AayushSabharwal)
- Add
getindex
/setindex!
methods forMTKParameters
withParameterIndex
(#2531) (@MasonProtter) - Specialize symbolic
Struct
(#2532) (@YingboMa) - Avoid computing inputs if IO is unspecified (#2537) (@baggepinnen)
- fix: fix history function in DDEProblem constructor (#2541) (@AayushSabharwal)
- docs: update FAQ section with relevant MTKv9 questions (#2542) (@AayushSabharwal)
- refactor: implement new additions to SII interface (#2544) (@AayushSabharwal)
- Fix
_varmap_to_vars
, re-enable dde.jl test (#2545) (@MasonProtter) - fix: fix io handling in structural_simplify, input_output_handling tests (#2547) (@AayushSabharwal)
- fix: do not filter array unknowns in wrap_array_vars (#2549) (@AayushSabharwal)
- Fix iteration bounds in
tearing_with_dummy_derivatives
(#2557) (@YingboMa) - Add missing updates to sampled-data docs (#2560) (@baggepinnen)
- Update for StructuralIdentifiability API changes (#2561) (@ChrisRackauckas)
- Update DynamicQuantities compatibility (#2562) (@TorkelE)
- feat: allow parameter defaults to depend on initial values of unknowns (#2563) (@AayushSabharwal)
- fix: fix creation of JumpProblems with no parameters (#2564) (@AayushSabharwal)
- Document and export
continuous_events
anddiscrete_events
(#2567) (@MasonProtter) - refactor: use the
t
defined in the module (#2569) (@ven-k) - feat: implement SII.remake_buffer for MTKParameters, fix bugs, add tests (#2570) (@AayushSabharwal)
- initialization bypass (#2572) (@ChrisRackauckas)
- Handle derivatives of observed variables (#2574) (@ChrisRackauckas)
- fix: fix initialization and observed bugs (#2575) (@AayushSabharwal)
- test: add MTKParameters tests, fix bugs (#2581) (@AayushSabharwal)
- Empty events should be empty (#2582) (@YingboMa)
- fix: fix varmap_to_vars for variables with unspecified size (#2586) (@AayushSabharwal)
- Fix
tearing_reassemble
for under-determined systems (#2587) (@YingboMa) - refactor: remove undefined export
initializesystem
(#2588) (@sathvikbhagavan) - fix: fix hierarchical discrete systems (#2593) (@AayushSabharwal)
- fix: fix namespacing of defaults and equations (#2594) (@AayushSabharwal)
- Revert "fix: fix namespacing of defaults and equations" (#2595) (@ChrisRackauckas)
- Change wording from initial guess to initial condition (#2598) (@baggepinnen)
- docs: add tutorial for optimizing ODE solve and remake (#2600) (@AayushSabharwal)
- Accessors for differential and algebraic erquations (#2601) (@TorkelE)
- Support docstrings for
@connector
s and@component
s (#2602) (@devmotion) - fix: fix variable namespacing issues (#2603) (@AayushSabharwal)
- fix: fix callback codegen, observed eqs with non-scalarized symbolic arrays (#2605) (@AayushSabharwal)
- refactor: improve replace, remake_buffer (#2610) (@AayushSabharwal)
- Speed up
replace
andcanonicalize
by improving type stability (#2613) (@SebastianM-C) - feat: improve error messages for missing variables and subsystems (#2617) (@AayushSabharwal)
- Revert "feat: improve error messages for missing variables and subsystems" (#2620) (@YingboMa)
- Revert "feat: improve error messages for missing variables and subsystems" (#2622) (@ChrisRackauckas)
- Fix a minor issue in generate_initializesystem (#2627) (@YingboMa)
- fix: propagate parameter dependencies in
extend
(#2629) (@SebastianM-C) - fix: fix intialization of array parameters with unknown size (#2630) (@AayushSabharwal)
- feat: allow creating NonlinearSystem without specifying unknowns/parameters (#2631) (@AayushSabharwal)
- feat: support parameter dependencies for NonlinearSystem (#2632) (@AayushSabharwal)
- feat: support partial updates in
remake_buffer
(#2633) (@AayushSabharwal) - Fix steady state problem construction (#2636) (@ChrisRackauckas)
- fix: error when all parameters are not initialized (#2640) (@AayushSabharwal)
- collapse unneed branch (#2641) (@oxinabox)
- fix: fix incorrect indexes of array symbolics (#2647) (@AayushSabharwal)
- fix: implement
DiffEqBase.anyeltypedual
forMTKParameters
(#2649) (@AayushSabharwal) - fix: fix guesses in hierarchical system, getguess for array variables (#2654) (@AayushSabharwal)
- Allow Array unknowns in OptimizationSystem (#2655) (@Vaibhavdixit02)
- Always attach metadata in
similarterm
(#2666) (@YingboMa) - We need to unwrap guesses (#2684) (@YingboMa)
- preserve argument order for structural parameters (#2689) (@baggepinnen)
- add
sampletime
operator (#2690) (@baggepinnen) - refactor: remove
check_length
in the error message of unbalanced system (#2693) (@sathvikbhagavan) - Fix method redefinition (#2698) (@YingboMa)
- Generalize
substitute_sample_time
so that other backends and extend it (#2708) (@YingboMa) - Forward system in
ODEFunction
expression (#2719) (@devmotion) - Backport #2719 to MTK v8 (#2726) (@devmotion)
- Drastically reduce the number of imports that are inside
@recompile_invalidations
(#2734) (@oscardssmith) - CompatHelper: add new compat entry for DeepDiffs in [weakdeps] at version 1, (keep existing compat) (#2...
v9.15.0
ModelingToolkit v9.15.0
Merged pull requests:
- Drastically reduce the number of imports that are inside
@recompile_invalidations
(#2734) (@oscardssmith)
Closed issues:
- EXCEPTION_ACCESS_VIOLATION error during solving of Differential Equation provided by ModelingToolkit (#2722)
v9.14.0
ModelingToolkit v9.14.0
Merged pull requests:
- Forward system in
ODEFunction
expression (#2719) (@devmotion)
Closed issues:
- Forward MTK system to
ODEFunction
constructor inODEFunctionExpr
(#2550)
v9.13.0
ModelingToolkit v9.13.0
Merged pull requests:
- add
sampletime
operator (#2690) (@baggepinnen) - refactor: remove
check_length
in the error message of unbalanced system (#2693) (@sathvikbhagavan) - Fix method redefinition (#2698) (@YingboMa)
- Generalize
substitute_sample_time
so that other backends and extend it (#2708) (@YingboMa)
Closed issues:
- Model linearization fails when no parameter is used (#2400)
- Variables eliminated in
structural_simplify
are not included in simulation plots (#2678) - Add
sampletime()
andclock()
operators (#2687) - Silent and wrong derivatives of observed variables (#2697)
- Implicit variable erroneously required in initial condition (#2703)
structural_simplify
uses metadata of the variables instead of what is passed into the system (#2706)