v11.38.1
ModelingToolkit v11.38.1
Merged pull requests:
- feat: [AI] allow passing an operating point to
linearizeusing a solution (#4443) (@AayushSabharwal) - Add the homotopy operator and HomotopyProblem construction (#4601) (@BatchZero)
- refactor: ensure init system is in terms of unknowns of DAE (#4631) (@AayushSabharwal)
- feat: add reversible transformation API (#4655) (@AayushSabharwal)
- feat: [AI] add
isolate_subsystem(#4658) (@AayushSabharwal) - refactor: update MTK to reversible transformations API (#4659) (@AayushSabharwal)
- build: restore accidentally removed
sourcesentries (#4664) (@AayushSabharwal) - build: bump MTKBase minor version (#4665) (@AayushSabharwal)
- Add
analyze_initialization_jacobian— diagnose rank-deficient initialization (#4666) (@baggepinnen) - build: bump MTK patch version (#4667) (@AayushSabharwal)
- refactor: store
mminTearingState(#4668) (@AayushSabharwal) - Declare public API (unlock downstream ExplicitImports allow-lists) (#4669) (@ChrisRackauckas-Claude)
- As/bump version (#4673) (@AayushSabharwal)
- refactor: eliminate unnecessary maxiters warnings if
missing_guess_valueis notError(#4674) (@AayushSabharwal) - Release 1 subpackage(s) (#4676) (@ChrisRackauckas)
- Raise downgrade floors in ModelingToolkitBase (FunctionWrappers/ImplicitDiscreteSolve/OffsetArrays/BipartiteGraphs) (#4677) (@ChrisRackauckas-Claude)
- fix: fix bugs, improve type-stability (#4678) (@AayushSabharwal)
- Trajectory linearization: avoid per-timepoint recompilation; require op for loop-opening parameters (#4679) (@baggepinnen)
- Init test: accept NonlinearLeastSquaresProblem fallback for HydraulicSystem (#4681) (@singhharsh1708)
- fix: handle non-
mtkcompilesystems infull_equationsinitialization (#4682) (@AayushSabharwal) build_explicit_observed_function: remove unuseddervals(#4683) (@KristofferC)reorder_parameters: avoid double lookup for identical key (haskey+getindex) and usegetinstead (#4684) (@KristofferC)- cache
parameters,namespacemapandreorder_parameters(#4685) (@KristofferC) - build: bump MTKBase minor, MTK minor versions (#4686) (@AayushSabharwal)
- test: make tests less dependent on equation ordering (#4687) (@AayushSabharwal)
- Skip parameter args when rebuilding non-parameter array variables (#4689) (@KristofferC)
- use the cached
reorder_parametersin a few more places (#4690) (@KristofferC) - cache the
concrete_getucall (#4691) (@KristofferC) - compile one observed function for all CopyParamsByTemplate fallback batches (#4692) (@KristofferC)
- test: make inline linear SCC test more reliable (#4695) (@AayushSabharwal)
- Memoize
split_indexed_varandget_stable_index(#4696) (@KristofferC) - propagate the cached
reorder_parametersto the SCC subsystems (#4697) (@KristofferC) - Propagate
ParameterArrayAssignmentsto SCC subsystems (#4698) (@KristofferC) - As/bump version (#4699) (@AayushSabharwal)
- feat: set
Initial(x)when settingxinLinearizationProblem(#4700) (@AayushSabharwal) - [AI] Use declared inputs for input-aware codegen on compiled systems (#4702) (@SebastianM-C)
- feat: add necessary initial conditions API (#4703) (@AayushSabharwal)
- fix: properly eliminate identically zero variables in
alias_elimination!(#4704) (@AayushSabharwal) - avoid recompiling multiple instances of
build_function_wrapperin some cases (#4705) (@KristofferC) - build: bump MTKBase minor, MTK minor versions (#4707) (@AayushSabharwal)
- Raise ModelingToolkitBase DiffEqBase 7.x floor to 7.4.2 (fix downgrade VectorContinuousCallback crash) (#4709) (@ChrisRackauckas-Claude)
- Raise ModelingToolkitBase JumpProcesses floor to 9.27.0 (fix downgrade SSAIntegrator crash) (#4710) (@ChrisRackauckas-Claude)
- fix nospecialize syntax in
wrap_symbolic_linear_interface(#4713) (@KristofferC) - refactor: use
Symbolics.CodegenOptions, cleanup kwargs (#4718) (@AayushSabharwal) - Bump version to 11.31.1 (#4719) (@ChrisRackauckas)
- Add Symbolic Analysis of MTK System on Exiting Integration (#4720) (@Shreyas-Ekanathan)
- ci: use targeted monorepo TagBot (#4722) (@ChrisRackauckas-Claude)
- analyze_initialization_jacobian: finite differences by default, ADTypes autodiff option (#4724) (@baggepinnen)
- Fix initialization inference test on Julia 1.11 (#4725) (@ChrisRackauckas-Claude)
- Fix homotopy lambda spell check (#4726) (@ChrisRackauckas-Claude)
- Run Runic on initialization diagnostics (#4727) (@ChrisRackauckas-Claude)
- Raise downgrade compat floors (#4728) (@ChrisRackauckas-Claude)
- Remove docs DiffEqDevTools dependency (#4729) (@ChrisRackauckas-Claude)
- Release prep: batched version bumps for 1 package (#4732) (@ChrisRackauckas)
- Release prep: bump ModelingToolkitBase to 1.51.1 (#4733) (@ChrisRackauckas)
- Fix ModelingToolkitBase julia compat floor: 1.9 -> 1.10 (#4734) (@ChrisRackauckas)
- Raise ModelingToolkitBase JumpProcesses floor to 9.28 (#4735) (@ChrisRackauckas-Claude)
- Raise ModelingToolkitBase OffsetArrays floor to 1.11 (#4736) (@ChrisRackauckas-Claude)
- Fix ModelingToolkitBase QA metadata (#4737) (@ChrisRackauckas-Claude)
- Fix ModelingToolkitBase Aqua unbound arguments (#4738) (@ChrisRackauckas-Claude)
- Raise ModelingToolkitBase SymbolicUtils floor to 4.35.3 (#4739) (@ChrisRackauckas-Claude)
- Fix root OffsetArrays downgrade floor (#4741) (@ChrisRackauckas-Claude)
- Allow current LinearSolve for downstream ControlSystemsMTK tests (#4742) (@ChrisRackauckas-Claude)
- fix: handle case in
SCCNonlinearProblemwhen no guesses are provided (#4743) (@AayushSabharwal) - Correct alias elimination docstring typo (#4745) (@ChrisRackauckas-Claude)
- Fix documentation examples for current dependency APIs (#4746) (@ChrisRackauckas-Claude)
- Resolve benchmark MTKBase before runner startup (#4747) (@ChrisRackauckas-Claude)
- Require BifurcationKit 0.8 in docs (#4748) (@ChrisRackauckas-Claude)
- fix:
Constargument of operator is not considered a variable (#4750) (@AayushSabharwal) - build: bump MTKBase minor, MTK minor, MTKBase compat, Symbolics compat (#4751) (@AayushSabharwal)
- feat: Introduce
BuildFunctionWrapperOptionsforbuild_function_wrapper(#4752) (@AayushSabharwal) - fix: allow scalarizing
instream_rt(#4753) (@AayushSabharwal) - Add
deepcopy_internal methodfor GeneratedFunctionWrappers (#4754) (@jClugstor) - Fix workflow tag concurrency checks (#4755) (@ChrisRackauckas-Claude)
- build: bump MTKBase minor version (#4756) (@AayushSabharwal)
- refactor: Migrate
build_function_wrappercallsites toBuildFunctionWrapperOptions(#4757) (@AayushSabharwal) - Allow SciMLTesting v2.1 in QA envs (#4758) (@ChrisRackauckas-Claude)
- Propagate integration resolver failures (#4759) (@ChrisRackauckas-Claude)
- Fix stale downstream test groups (#4760) (@ChrisRackauckas-Claude)
- feat: Introduce
GeneratedFunctionOptionsfor the code-generation entry points (#4762) (@AayushSabharwal) - Allow DataInterpolations 9 in ModelingToolkit tests (#4763) (@ChrisRackauckas-Claude)
- refactor: defer scalarization in
mtkcompile(#4765) (@AayushSabharwal) - Route DAE/ODE initialization through the homotopy continuation solver (#4766) (@ChrisRackauckas-Claude)
- refactor: Introduce
GeneratedFunctionOptionsfor the code-generation entry points (#4768) (@AayushSabharwal) - build: bump MTKBase, MTK minor versions (#4769) (@AayushSabharwal)
- build: use accidentally skipped MTKBase minor version (#4770) (@AayushSabharwal)
- build: bump MTK minor version (#4771) (@AayushSabharwal)
- fix: handle variable discover of
x[i]whereiis a variable (#4772) (@AayushSabharwal) - Raise JumpProcesses downgrade floor (#4773) (@ChrisRackauckas-Claude)
- build: bump MTKBase patch version (#4775) (@AayushSabharwal)
- fix: retain clock information after
isolate_subsystem(#4777) (@AayushSabharwal) - build: bump MTK patch version (#4779) (@AayushSabharwal)
- fix: allow parameter-only equations after
mtkcompile(#4780) (@AayushSabharwal) - refactor: various performance improvements (#4781) (@AayushSabharwal)
- fix: fix
eliminate_perfect_aliases!when higher orderdtargetdoesn't exist (#4782) (@AayushSabharwal) - feat: add
set_defaults(#4783) (@AayushSabharwal) - build: bump MTK minor version (#4785) (@AayushSabharwal)
- refactor: make MTK robust to
inline_linear_sccs = trueby default (#4786) (@AayushSabharwal) - fix: avoid eliminating irreducibles in
eliminate_zero_variables!(#4787) (@AayushSabharwal) - Raise OptimizationOptimJL minimum to 0.4.14 (#4788) (@ChrisRackauckas-Claude)
- Drop Compat 3 support from ModelingToolkitBase (#4789) (@ChrisRackauckas-Claude)
- Drop ArrayInterface 6 support from ModelingToolkitBase (#4791) (@ChrisRackauckas-Claude)
- Drop Reexport 0.2 support (#4792) (@ChrisRackauckas-Claude)
- Drop stale DiffRules 0.1 compatibility (#4793) (@ChrisRackauckas-Claude)
- Drop stale NaNMath 0.3 compatibility (#4794) (@ChrisRackauckas-Claude)
- Drop UnPack 0.1 compatibility (#4795) (@ChrisRackauckas-Claude)
- Drop SpecialFunctions 1 compatibility (#4796) (@ChrisRackauckas-Claude)
- Drop unsupported DiffEqCallbacks 2 and 3 compat (#4797) (@ChrisRackauckas-Claude)
- Drop Setfield 0.x support (#4798) (@ChrisRackauckas-Claude)
- Bump ModelingToolkit and ModelingToolkitBase for release (#4799) (@ChrisRackauckas-Claude)
- refactor: simplify
eliminate_zero_variables!(#4800) (@AayushSabharwal) - Fix Runic indentation in parse_variable (#4801) (@ChrisRackauckas-Claude)
- refactor: bug fixes, pass
GeneratedFunctionOptionstoObservedFunctionCache(#4802) (@AayushSabharwal) - fix: retain
DiffCacheparameter info in SDE system simplification (#4803) (@AayushSabharwal) - Change
SampleTimeto be like otherOperators (#4806) (@kpamnany) - Require SciMLTesting 2.4 (#4807) (@ChrisRackauckas-Claude)
- Lock SciCompDSL downgrade tests to in-repo sources (#4808) (@ChrisRackauckas-Claude)
- build: bump MTKBase minor, MTK patch (#4809) (@AayushSabharwal)
- Fix flattened array lookup in parse_variable (#4811) (@ChrisRackauckas-Claude)
- test: fix some more tests, mark some BVP tests as broken (#4812) (@AayushSabharwal)
- feat: add
SciMLFunctionOptions(#4813) (@AayushSabharwal) - Document public API coverage gaps (docs-only) (#4814) (@ChrisRackauckas-Claude)
- Make toparam and tobrownian public (#4815) (@oameye)
- refactor: change
GeneratedFunctionWrappertype parameters (#4816) (@AayushSabharwal) - Build a HomotopyProblem for a single-block homotopy init system (#4817) (@ChrisRackauckas-Claude)
- fix: handle duplicated boundary connections in
isolate_subsystem(#4818) (@AayushSabharwal) - build: support OrderedCollections@2 (#4819) (@AayushSabharwal)
- test: ControlSystemsMTK now uses
inline_linear_sccs = trueby default (#4820) (@AayushSabharwal) - build: bump MTKBase minor, MTK minor, MTKBase compat (#4821) (@AayushSabharwal)
- Bump ModelingToolkitBase to v1.56.1 (#4823) (@ChrisRackauckas-Claude)
- Fix Runic format-check on master (ModelingToolkitBase) (#4824) (@ChrisRackauckas-Claude)
- refactor: Convert
SemilinearODEFunctionto useSciMLFunctionOptions(#4828) (@AayushSabharwal) - build: bump MTKBase minor, MTK minor, MTKBase compat (#4829) (@AayushSabharwal)
- fix: use
IRStructurefor homotopy checking (#4834) (@AayushSabharwal) - fix: add
input_timedomainandoutput_timedomainfor::SampleTime(#4835) (@kpamnany) - fix deprecations in Moshi 0.3.11 (#4836) (@SebastianM-C)
- Make ProblemTypeCtx public API (#4842) (@ChrisRackauckas-Claude)
- test: restore working MTKBase BVP assertions (#4843) (@ChrisRackauckas-Claude)
- Fix SampleTime clock inference formatting (#4844) (@ChrisRackauckas-Claude)
- build: bump MTKBase, MTK patch versions (#4846) (@AayushSabharwal)
- fix: fix promotion rules for
SampleTime(#4848) (@AayushSabharwal) - Fix ModelingToolkitBase method ambiguities (#4849) (@ChrisRackauckas-Claude)
- fix: handle
tinobserved_syms_to_timeseriescalculation (#4850) (@AayushSabharwal) - build: bump MTKBase patch version (#4851) (@AayushSabharwal)
- Fix collect_vars! after late invalidation on Julia 1.10 (#4852) (@ChrisRackauckas-Claude)
- Require Dual-safe BoundaryValueDiffEqMIRK (#4853) (@ChrisRackauckas-Claude)
- fix: properly forward
tkwarg inget_sensitivityand family (#4854) (@AayushSabharwal) - feat: allow passing
missingfor loop opening variables inlinearize(#4855) (@AayushSabharwal) - build: loosen Moshi compat bounds (#4856) (@AayushSabharwal)
- build: bump MTKBase patch version (#4857) (@AayushSabharwal)
- Revert "build: loosen Moshi compat bounds" (#4858) (@AayushSabharwal)
- refactor: backward compatible Moshi ADTs (#4859) (@AayushSabharwal)
- Make the QA group scan the package extensions (#4860) (@ChrisRackauckas-Claude)
- Mark ModelingToolkit's ModelingToolkitBase piracies as allowed (#4861) (@ChrisRackauckas-Claude)
- fix: correctly point to simplified system in continuous portion
TearingState(#4862) (@AayushSabharwal) - build: bump MTKBase, MTK minor versions (#4863) (@AayushSabharwal)
- Make
varmap_to_varspublic (#4865) (@j-fu) - test: cap dt in the marginal continuous-callback crossing-time tests (#4866) (@ChrisRackauckas-Claude)
- Bump 2 package versions for release (#4874) (@ChrisRackauckas-Claude)
- fix: consider
affect_negwhen figuring out when to save discretes (#4876) (@AayushSabharwal) - fix: handle deferred scalarization in SDE simplification (#4877) (@AayushSabharwal)
- fix: make the JET QA lane pass (include paths + 9 uncovered findings) (#4879) (@ChrisRackauckas-Claude)
- style: run Runic on ModelingToolkitBase's debugging.jl (#4884) (@ChrisRackauckas-Claude)
- fix: pin the unassigned type parameter of the observed dependency graph (#4887) (@ChrisRackauckas-Claude)
- build: bump MTKBase, MTK patch versions (#4895) (@AayushSabharwal)
Closed issues:
- Linearize in point from ODESolution (#4159)
- Invalid shapes for abs() error (#4642)
- Initialization test: HydraulicSystem returns NonlinearLeastSquaresProblem instead of SCCNonlinearProblem{LinearProblem} (#4680)
- linearize/get_sensitivity at a partial operating point on a DAE fails with OverrideInit instead of solving for the unspecified algebraic states (#4688)
- v11 regression for in plane multibody with rigid link (#4693)
- setsym/setu on a state of a LinearizationProblem silently no-ops; operating-point states must be set via Initial(state) (#4694)
- Equations with powers are broken (#4708)
- analyze_initialization_jacobian: first call dominated by Dual-specialized recompilation; finite differences are ~700x faster with identical rank result (#4723)
- no longer possible to keep a variable as an unknown if its derivative is 0 (#4764)
@component-style modeling requires listing settable syms as kw args (#4767)mtkcompileregression in ModelingToolkitTearing ≥ 1.18:ExtraVariablesSystemExceptionon prescribed positions with sensor-style derivative chains (compiles on 1.17.2); outcome also depends on variable name ordering (#4776)- Optimization tests are corrupted by JuMP 1.31 objectid subexpression cache (#4810)
- Bouncing ball like example does not respect unilateral contact conditions (#4822)
- Master CI red: format-check (Runic) + ReleaseTest (Catalyst parent_sys) + Inverse Models size mismatch (#4825)
- Loop openings: allow
missingfor the broken inputs together with a steady-state condition for the broken outputs? (#4830) - How to get a sensitivity function at a nonzero linearization time? (t kwarg accepted but ignored, iv in op errors) (#4838)
- SampleTime() loses its scalar shape when maketerm rebuilds the term (#4847)
- make_eqs_zero_equals! fails on array-valued differential equations with brownian variables (#4875)