github SciML/ModelingToolkit.jl ModelingToolkitBase-v1.2.0

ModelingToolkitBase ModelingToolkitBase-v1.2.0

Merged pull requests:

Closed issues:

  • ReactionSystem -> Affine Noise? (as well as non parameterized noise) (#456)
  • Derivatives (#1)
  • Function registration macro (#2)
  • ODEFunction translation (#3)
  • operations_to_ast (#4)
  • Variable sizes (#5)
  • Variable start values (#6)
  • Handle literals (#7)
  • Idea: Typed axes for array variables and parameters (#9)
  • Functors or Interpolation objects as inputs (#13)
  • Conversion to first-order ODEs (#17)
  • DAE Index Reduction (#18)
  • Jacobian, W, and inverse W calculation for ODE systems (#19)
  • Intermediate computations in the ODE DSL (#20)
  • Add flags and metadata (#21)
  • Add Domains for variables. (#22)
  • Add Brownian motion or differential white noise variable (#24)
  • Simplification macros (#25)
  • Add functions of parameters (#27)
  • Multi-arg function derivatives and the return of the chain rule (#29)
  • Remove distinction between dependent and independent variables (#31)
  • Display mechanism for operations (#33)
  • Should we drop Variable <: Real and make everything <: Expression? (#34)
  • Components (#36)
  • Support for events (#38)
  • Using a binary operator with lower precedence instead of == (#41)
  • Optimal Control API (#42)
  • Inequalities (#43)
  • Build DiffEqSystem out of Expressions (#44)
  • Rename the repository? What should we call ourselves? (#46)
  • Decouple names from system construction (#48)
  • order lowering should be a transformation (#49)
  • Fix order_lowering failure (#54)
  • More simplification routines (#55)
  • Error with @IVar t (#56)
  • Overwrite in operations.jl (#57)
  • Getting the function creations correct (#61)
  • Identity crisis: performance with context (#62)
  • Warnings thrown by MacroTools (#65)
  • Ambiguity error with power of a variable (#66)
  • Replace Expression abstract type with a union type for union splitting optimizations (#68)
  • Package compatibility caps (#70)
  • Documentation? (#73)
  • Segfault in Derivative (#82)
  • What does context mean in this context? (#83)
  • Variable uniqueness (#89)
  • Formalism around models (#91)
  • Variable name uniqueness in compilation (#93)
  • Use "variable" instead of "unknown" (#99)
  • Don't use capitals for macros (#100)
  • Parsing of <= (#101)
  • Allow arrays of variables (#102)
  • Not recognizing unknown or generate function (#104)
  • Allow as alias for <= (#106)
  • Time-varying parameters and delay differential equations part 2 (#108)
  • Add gradient, jacobian and hessian functions (#109)
  • Confusing error message for @variables x, y (#110)
  • Too many small files in the src folder (#114)
  • Clean up ode_order_lowering (#115)
  • Support mass matrices on ODESystem (#120)
  • Keep track of all functions which are used to make new function. (#121)
  • Fast symbolic derivatives (#127)
  • Redefinition of an Unknown creates two instances for hashing (#128)
  • Fix variable printing (#129)
  • Detecting Operations that are Variables (#130)
  • When DiffRules produces an if/then then Derivative fails (#132)
  • Automatic sparsity detection (#133)
  • FMI support? (#135)
  • How to avoid needing CSE? (#136)
  • Catlab.Formula as a potential application of MT (#138)
  • Reaction Network DSL in modeling toolkit / new equation types (#143)
  • Add modelingtoolkitize function (#145)
  • Register (#147)
  • Doctests fail (#148)
  • Register (#150)
  • Inconsistent Differential across Julia versions. (#152)
  • Change printing of variables (#158)
  • ODESystem auto-parse is duplicating values (#163)
  • Roadmap questions (#165)
  • Tree flattening (#166)
  • Solving Lorenz system errors (#169)
  • Parameter Identifiability Analysis (#170)
  • Variable order bug? (#172)
  • Function created by MT in parallel usage (#174)
  • RFC: Domain symbolics (#175)
  • Creation of ODEFunction broken (#177)
  • Nonlinear Solving Tearing (and differential equations?) (#181)
  • Please add installation instructions (#182)
  • README: Is t a parameter? (#183)
  • Please clarify connection with NLsolve.jl: (#184)
  • Please add example ODE to README.md (#185)
  • Please improve motivation in README.md (#186)
  • Please add instructions on how to contribute (#187)
  • Dulmage-Mendelson Decompositions (#188)
  • Automated Model Learning and Construction (#189)
  • Hessian fails with sin (#192)
  • Koopman decompositions (#194)
  • ModelingToolkitize failure (#195)
  • Defining mixed stock flow models in ModelingToolkit (#196)
  • convert(::Type{Expr}, O::Operation) defined twice (#201)
  • Short term milestones (#206)
  • Missing Method for Gradients involving * (?) (#208)
  • bug when using GeneralizedGenerated.NGG.RuntimeFn object? (#210)
  • vars() function when the operation is a variable (#211)
  • Semantic Difference b/t Variables and Parameters (#212)
  • Naming, Laziness, and Ordering (#214)
  • The README is really hard to read (#215)
  • ModelingToolkit failed to understand rational exponents (#216)
  • The tutorial needs updating (#217)
  • Wrong solution for simple second order ODE (#219)
  • EOF Error while importing ModelingToolkit (#221)
  • Error from gradient of a constant (#225)
  • Bug in MTK.simplify_constant (#226)
  • MTK.build_function lose the shape of the original matrix (#227)
  • Inconsistent types from MTK+DI (#228)
  • Simplification plan (#230)
  • Incorrect lengths of Jacobians (#231)
  • Memory limit hit in computational graph building? (#232)
  • Bug in build_function (#235)
  • Function evaluation doesn't boil down to a single number (#239)
  • checkbounds=true not working (#243)
  • Missing differentiation function on one() (#252)
  • Determinants (#258)
  • Unpacking Additional Arguments (#260)
  • Handle reaction combinatorics (#261)
  • Support for arrays of arrays datastructures in output (#262)
  • Block calculations of derivative quantities (#270)
  • Type validation (#271)
  • Flattening removes Variable typing (#276)
  • Latexify needs to be updated to new ODESystem (#279)
  • Sparse Jacobian calculation currently needs to go through dense (#281)
  • Common model type generated by DSLs (#286)
  • Support more intense variable mappings (#297)
  • JumpSystem design discussion (#307)
  • ode_order_lowering state ordering is incorrect (#308)
  • Allow providing parameters to ODEProblem as a Dict (#311)
  • How to connect two ODEs? (#315)
  • Nicer parameter indexing (#318)
  • broken macros when using import (#319)
  • Hash of Operations and Equations (#320)
  • Proper syntax of ODESystem unclear (#321)
  • ModelingToolkit broken for SteadyStateProblems (#322)
  • generate_jacobian returns expression not function (#323)
  • Link to stable documentation is broken (#325)
  • Error in High Level Example from GitHub front page (#327)
  • Block Lower Triangular Transform (#337)
  • DAE Model Translation and Symbolic Processing Meta Issue (#338)
  • Link to SymbolicUtils Substitution (#339)
  • Aliases, intermediates, explicit algebraic variables, and system simplification (#340)
  • NetworkSystem (#341)
  • Crash with Hessians (Bus Error: 10) (#350)
  • Failed to Apply Rule (#351)
  • ModelingToolkit.jl name (#352)
  • zero order Jump causing crash through GeneralizedGenerated (#359)
  • SpecialFunctions support seems broken (#360)
  • Input/Output Functions (#362)
  • Document ReactionSystem and JumpSystem (#363)
  • Unused parameter raises ArgumentError (#364)
  • Order of parameters (#365)
  • Compiler Target: Dagger or Neural Schedulers (#366)
  • Extend dependency graphs to AbstractSystems and document them (#368)
  • Formulating and solving intertemporal optimization problems (#372)
  • SDESystems don't set noise_rate_prototype (#375)
  • Operation times a sparse array errors (#381)
  • DAE auto detection not available (#389)
  • DAE system solve produces singularity when jac = true (#390)
  • Callbacks don't update parameters in algebraic equations (#399)
  • extra variables that are not states in ODESystem (#401)
  • Symbolic derivation of Jacobian no longer working (#403)
  • MTK generated function printing out a lot of messages (#406)
  • Arrays of sparse matrices not sparse (#407)
  • Unit tests for arrays of matrices not hooked up (#408)
  • Converting Derivative to Variable does not depend on type of Derivative (#409)
  • Support for initial conditions depending on parameters (#414)
  • make_sub! in ReactionSystem -> NonlinearSystem should be substitute (#418)
  • Use substitute() in convert(::Type{<:NonlinearSystem},rs::ReactionSystem) (#419)
  • Slow jump construction likely due to substitute (#426)
  • Harmonise parameter input praxis into Problems (#428)
  • Replace using eval in MassActionJump construction (#429)
  • Operation vs Variable (#433)
  • No support for integer or float rates for JumpSystems. (#436)
  • subber not evaluating numerical expressions (#437)
  • Error when creating JumpProblem while ignoring mass action and reaction rate is a parameter (#441)
  • Matrix square root for operations? (#449)
  • Crash on solving an identical ODEProblem a large number of times (#450)
  • Crash on solving an identical JumpProblem a large number of times (#452)
  • Make diagonal matrix with variables? (#454)
  • Problem with inversion of symbolic matrices (#458)
  • Problem for ldiv when left matrix is diagonal and right matrix is symbolic (#460)
  • MethodError in qr() and pinv() for matrices with symbols (#464)
  • Simplification only occurs for variables which are functions (but not constants) (#468)
  • How to remake with a Vector{Pair}? (#472)
  • Error substituting with a dictionary (#475)
  • Document the parallel forms and targets better (#479)
  • What does IR mean? (#480)
  • Expose Dagger scheduler options in DaggerForm (#483)
  • kappa language like specification of modular models? (#486)
  • Possible Julia Multithreading issue exposed by MTK generated functions? (#487)
  • Tutorial ODE Problem does not run (#493)
  • build_function doesn't like array expressions with single scalar variable (#495)
  • component doesn't work? (#500)
  • fail to generate jacobian (#503)
  • expand_derivatives doesn't expand sum of derivatives (#505)
  • Multi-level ODESystem (#514)
  • Mixed derivatives (#520)
  • Compilation for CTarget outputs (#525)
  • Support for piecewise functions (#531)
  • Latexify for ODEs uses inconsistent notation for variables. (#533)
  • Simple derivative example fails (#545)
  • Add a function to extract all the variables used in an expression (#549)
  • Build function allocating on large expressions? (#551)
  • Significant performance regression generating BCR vs DEBio (#553)
  • New release? (#557)
  • build_function is allocating for StaticArrays (#559)
  • Make EvalFunc hold world age and deprecate GeneralizedGenerated (#560)
  • Comment on terminology: parameter vs. (independent) variable t (#564)
  • Bug in creating an ODESystem from an array of equations (incorrect parsing of summation of terms) (#565)
  • Feature request: support for discrete-time (function maps, Markov processes) (#571)
  • Slowdown (and possible memory leak?) when solving SDEs using MTK (#573)
  • Handling of independent variables in OptimizationSystems (#574)
  • World Age Problem when solving JumpSystem from function (#577)
  • flatten could work in this case, but does not (#578)
  • alias elimination of non-linear equations which only require linear solve (#579)
  • Minimal cyclic dependent DAEs (#580)
  • eval(build_function): invalid named tuple field name "derivative(qˍt(t), t)" (#584)
  • MT ODE solution very different from manual OrdinaryDiffEq (#585)
  • build_function (CTarget) generates wrong code (#586)
  • build_function needs vector of independent variables (#588)
  • No method matching Expression(::Int) (#590)
  • ControlSystem with parameters (#594)
  • Error on precompilation (#601)
  • composed SDESystems (#602)
  • ODESystem does not accept matrix variables (#604)
  • Symbolic arrays instead of arrays of symbolics (#605)
  • readme example not working (#608)
  • BoundsError with DAE system when defining t as a variable instead of parameter (#609)
  • Simplification of inverses (#615)
  • Unexpected behaviour of build_function on constant expressions (#616)
  • Derivatives, chain rule, external dependencies (#619)
  • Inversion of anti-symmetric matrix fails (#622)
  • Differential & expand_derivatives missing derivatives of linear terms (#624)
  • Simplifying floating point exponents sometimes doesn't cancel terms (#630)
  • remove .op and .args (#633)
  • Help needed with evaluating oderatelaws() using build_function() (#634)
  • Enhancement -- Full differentials and Delta (#635)
  • Variable names incorrect in plot legends on 4.0+ (#636)
  • ODEProblem construction crashing when converted from ReactionSystem (#637)
  • Fix and/or test NonlinearSystem conversion from ReactionSystems (#639)
  • logorithms not differentiated (#641)
  • TagBot trigger issue (#644)
  • "Automated sparse parallelism of ODE's" example failing (#647)
  • Missing isone(::Num) method? (#653)
  • Unable to do derivative of fractions with symbols (#654)
  • build_function errors with type Int64 has no field value (#659)
  • unable to update ModelingToolkit to a newer version (v4.0 +) due to conflict with other SciML package (#661)
  • multiple argument function build error (#662)
  • Doc string for Variable needs updating for v4 (#667)
  • Failed to apply rule ~(z::_isone) * ~x => ~x and TypeError: non-boolean (Term{Bool}) used in boolean context (#670)
  • [Regression] RuntimeGeneratedFunctions tagged under ModelingToolkit instead of precompiled user module (#678)
  • What to do with derivative (#684)
  • TypeError: non-boolean (Term{Bool}) used in boolean context when trying to modelingtoolkitize a DifferentialEquations.jl SDEProblem (#685)
  • Alias elimination (#686)
  • expand_derivatives issues (#688)
  • Latexify with various functions of states/params broken (#689)
  • typeparameters of Terms changes during substitution (#699)
  • no method matching iterate(::Sym{ModelingToolkit.Parameter{Real}}) (#701)
  • AutoOptimize produces wrong results, ode_order_lowering produces defect model, StructuralTransformations.dae_index_lowering fails (#708)
  • NonlinearProblem generation from NonlinearSystem errors (#711)
  • Empty Equation array leads to incorrect type for connections function. Causes flatten to fail. (#716)
  • Automatically add initial condition for the Liouville transformation term (#718)
  • Implicit ODE / DAE system (#721)
  • Clarify relationship between pins, states and namespaces (#722)
  • Open pins are not kept when combining systems (#723)
  • StackOverflow on trying to alias_eliminate equations with circular dependency (#724)
  • Alias elimination can miss an equality? (#725)
  • MethodError: no method matching lower_mapnames(::Array{Any,1}) when trying to pass distributions as parameters (#727)
  • @variable docstring mentions Operation (#730)
  • Matrix-output functions for CTarget build_function calls (#735)
  • Differentiation Test: Test Failed at test/derivatives.jl:76 (#737)
  • Initial conditions and default parameters handling (#739)
  • ERROR: MethodError: no method matching Diagonal(::Num) when modelingtoolkitizing a model that uses LinearAlgebra functions (#744)
  • CTarget, MATLABTarget, StanTarget Rewrite (#745)
  • Add indepsym to the generated functions (#761)
  • Better system printing (#763)
  • ERROR: type PDESystem has no field eqs (#770)
  • DiffEqFlux fails with ReactionSystem, but not with system declared with a normal function (#771)
  • Fix depwarns (#773)
  • ODESystem defined with ArrayPartitions cannot be converted to ODEFunction using modelingtoolkitize (#778)
  • unable to create ReactionSystems anymore on latest release (#779)
  • Calling a function with inputs and outputs created by @variables triggers a MethodError (#781)
  • ode_order_lowering equation ordering (#782)
  • build_function with sparse array inputs fail if nrow != ncol (#791)
  • warnings when accessing system fields (#796)
  • Matrix differential equations (#797)
  • Slowdown with build_function output in recent versions (#800)
  • Better error messages for missing equations in ODESystems (#803)
  • MethodError: no method matching derivative(::typeof(conj), ...) (#805)
  • Documentation revamping (#806)
  • Implement combine for inheritance of systems (#807)
  • ERROR: DimensionMismatch when defining ODESystem separately from connected system (#808)
  • Add check_consistency (#812)
  • @named macro to pass name from an assignment (#813)
  • Connectors (#814)
  • Build observable functions (#815)
  • System promotion (#817)
  • Require systems kwarg to all system types' constructors to have unique names (#819)
  • Rename / clarify that this is a CAS? (#821)
  • Use in ApproxFun (#822)
  • Ambiguous method error (#823)
  • Deprecate gensym naming (#831)
  • Ignore namespacing of highest level values in default handling (#832)
  • Images for documentation (#833)
  • Calculating observed variables which are functions of algebraic variables fails (#834)
  • Serialization of ODEProblemExpr based models broke in 5.7 (#841)
  • Default value metadata (#846)
  • Automatically shuffle derivative terms to the left hand side of an ODESystem? (#860)
  • Prevent ODEProblem construction when not providing parameters (#863)
  • Allow empty u0 in DEProblem constructors (#869)
  • Sparsity pattern without calculating the Jacobian? (#871)
  • modelingtoolkitize tutorial: automated sparsity handling (#872)
  • New opening tutorial (#874)
  • Pirated functions with Symbolics.jl (#875)
  • @nAmed not defined when running the Copy-Paste Example from the documentation (#877)
  • calling structural_simplify(sys) leads to InexactError: Int64(float) (#879)
  • Use metadata to store "parameter" flag (#881)
  • Component library (#883)
  • Detecting and solving small dense linear subsystems symbolically after tearing (#887)
  • Incorrect result (#889)
  • Building ODEProblem of non-simplified, connected system: cryptic error (#890)
  • Indexing and dot-assignment of parameters/variables in nested systems (#892)
  • Discrete-Time (Sub-)Systems (#894)
  • default_u0 and default_p -> defaults (#898)
  • t missing from variable map (#901)
  • Documenting how to generate namespaced names for AbstractSystem variables (#902)
  • Error when supplying default_u0: Dict(kv): kv needs to be an iterator of tuples or pairs (#903)
  • structural_simplify of hierarchical system results in empty system (#906)
  • Display of systems not copyable (#907)
  • Access to vector of variables (#908)
  • Error in modelingtoolkitize, if no parameters are provided in ODEProblem (#911)
  • broadcasted component instantiation (#912)
  • Variable access from solution (#914)
  • Visual model representation and interaction (#918)
  • dae_index_lowering hangs for System with incomplete dependent variables (#922)
  • Boundary Value Problem (#924)
  • structural_simplify(SDESystem) throws an error (#928)
  • Degenerate equalities of differential variables requiring specific values of parameters cannot be reduced (#931)
  • Tearing issue with simplifying equations (#932)
  • structural_simplify throws for a high index circuit model (#933)
  • Redundant equations causes a crash (#936)
  • Missing occursin dispatches (#937)
  • Feature Request: cosmetics for NonlinearSolve (#938)
  • Testing equality of Reactions (#945)
  • Creating ODESystem with defaults from ReactionSystem and default u0/pars (#947)
  • Defaults on ReactionSystem (#950)
  • Delay differential equation handling (#955)
  • Internal error when using structural_simplify (#958)
  • PDAESystem and Index Reduction (#961)
  • Issue with alias_elimination (#963)
  • Support for DAE's without differential terms (#969)
  • logo? (#970)
  • Variable naming in states vs. equations (#971)
  • TypeError: non-boolean (Num) used in boolean context when accessing ODESolution generated saveat (#972)
  • substitute error for an equation with a parameter (#974)
  • Error when specifying a time variable forcing function if ModelingToolkit.jl is only imported (instead of using) (#975)
  • Error related to model parameter using structural_simplify() (#979)
  • Problem to run RC circuit tutorial (#980)
  • Better variable identification (#981)
  • SDESystem composition (#983)
  • ArgumentError: Term are missing from the variable map when trying to supply defaults for subsystems (#987)
  • State selection (#988)
  • Simulation fails when using parameters in the initial value map (#991)
  • Duplicate Global Parameters (#992)
  • Finish pieces around DiscreteSystem (docs, DiscreteFunction, DiscreteProblemExpr) (#993)
  • exporting MTK model to FMU (#994)
  • No method matching operation(::Sym{Real, Nothing}) error during index reduction (#998)
  • passing NamedTuple as parameters (#1001)
  • structural_simplify cannot detect variables depending on Differentials (#1003)
  • Error trying modelingtoolkitize for single equation ODE (#1004)
  • structural_simplify() Eliminates Key Equation (#1006)
  • structural_simplify() bug with 2nd derivative (#1008)
  • Allow generic array types in modelingtoolkitize (#1009)
  • delay function from Modelica (#1010)
  • Creating an "ImageProblem" problem type in MTK (#1012)
  • Nested systems with symbolic defaults/initial values don't get de-aliased (#1013)
  • Support for derivatives/interpolation with simplified systems? (#1014)
  • Possible Inconsistent Initial Values of Some State Variables (#1015)
  • Plotting fails for simplified system that was solved with the saveat keyword (#1018)
  • Handling of conv in build_function (#1020)
  • Nonlinear optimal control tutorial equation inconsistency (#1024)
  • Nonlinear Problem sparse keyword error (#1027)
  • Help needed ...How to use bareiss! function from MTK ? (#1029)
  • Unitful/Units in Systems for model validation (#1031)
  • Copy/Paste Bug in Exposing More Parallelism Documentation (#1032)
  • Move expressions to RHS during lowering (#1037)
  • Plotly plot is blank when plotting observed variable against another variable (#1038)
  • Extending the metadata system from Symbolics to AbstractSystem (#1039)
  • ControlSystem without defined loss function (#1041)
  • Error when creating JumpProblem from a ReactionSystem with keyword arguments (#1042)
  • inequality constraints? (#1048)
  • Accessing and referring to ODESystem states (#1049)
  • particle simulations; how to define forces which depend on several sub systems (#1050)
  • ode_order_lowering does nothing (#1051)
  • Composition vs inheritance (#1052)
  • Documentation comments (#1053)
  • explicit handling of LabelledArrays (and NamedTuples?) (#1054)
  • KeyError running ODEProblem (#1056)
  • modelingtoolkitize doesn't work with pre-allocated variables (#1058)
  • 'Freezing' time by setting initial time value (#1063)
  • Independent variable of differential is ignored (#1065)
  • Order of spring-mass-damper not lowered (#1066)
  • Model Debugging: Return the unbalanced equations/variables (#1068)
  • Dispatchable systems (#1071)
  • Nonlinear problems does not seem to follow the same interface as ODESystems (#1074)
  • Abstract time dependent/independent system types (#1082)
  • Add sparsity to ODEProblem on construction (#1087)
  • Parameter representation for controls (#1088)
  • Allow passing kwargs to connect (#1094)
  • SDESystem(sys::ODESystem, noise_eqs) dispatch (#1098)
  • Identity matrix multiplied by z[3:4] gives z[1:2] (#1099)
  • reparametrizing ODESystem independent variable (#1100)
  • remake doesn't handle parameter Dicts gracefully (#1101)
  • Variable access feature is very slow (#1102)
  • macro + begin block (#1106)
  • ODESystem with equations in symbolic matrix form throws hasmetadata error (#1109)
  • Input & output systems (#1111)

Don't miss a new ModelingToolkit.jl release

NewReleases is sending notifications on new releases.