- Dropped support for Python 3.8.
- Added support for Python 3.13.
- Added explicit dependency on setuptools.
ConstraintCollocator
raises an error if all equations of motion
are algebraic, i.e. none are differential equations.plot_constraint_violations()
now returns a variable number of
subplot rows depending on the number of instance constraints. This
makes the plot readable with large numbers of instance constraints.- Internal common sub expression replacement symbols are now assumed
to be real. - Improvements to docstrings of
Problem.solve()
. - Added
Problem.parse_free()
to simplify use of theparse_free()
function. - Added attribute descriptions to
ConstraintCollocator
docstring. - Support for single first order differential equation instead of
limiting to two first order (i.e. only second order systems). - Enabled math constants on Windows to support
sympy.pi
, for
example. - Made SciPy an optional dependency (was required).
- Fixed bug from backwards incompatible change in Python 3.13 for
docstring indentation. - Fixed bug where
Problem.plot_
methods did not return anything. - Fixed bug in trajectory plots so that the input trajectories are
labeled with known, unknown, or both types of inputs. - Made all
ConstraintCollocator
attributes properties with no setter
methods, i.e. everything must be passed into the constructor to
properly construct the object. - Separated examples into beginner, intermediate, and advanced groups.
- Added
MathJaxRepr
for printing SymPy expressions in the example
gallery. - Use MathJax v2 in the documentation so that long expressions will
line wrap. - Examples added:
- Ball rolling on spinning disc
- Car moving around pylons
- Car parking into a garage
- Crane moving a load
- Delay equation (inequality constraints example)
- Human gait
- Mississippi steamboat
- Non-contiguous parameter identification
- ODE vs DAE comparison
- Particle moving through a helical tube
- Single EoM & hypersensitive control
- Sit-to-stand
- Standing balance control identification
What's Changed
- Subexpression replacements in the Jacobian should be real. by @moorepants in #216
- Plot constraint violations by @Peter230655 in #218
- Added a example: crane moving a load by @Peter230655 in #197
- Handle variable h by @Peter230655 in #221
- ball rolling on a spinning disc by @Peter230655 in #210
- make plot_trajectories work if no input trajectories are given by @Peter230655 in #231
- Ensure number of instance constraints is valid and use inside plot me… by @moorepants in #232
- Drop support for Python 3.8. by @moorepants in #233
- check that equations_of_motion are not AEs by @Peter230655 in #236
- reduced number of frames in animation form 300 to about 75 by @Peter230655 in #242
- New Example: Parameter Identification from Non-Contiguous Measurements by @Peter230655 in #246
- Mississippi steamboat on a lake by @Peter230655 in #208
- Deal with loss of whitespace in Python 3.13. by @moorepants in #254
- Correcting time step width of trajectory plots to equal node_time_int… by @chris-konrad in #283
- Make setuptools a required dependency, fixes #295. by @moorepants in #296
- changed a typo in line 434 by @Peter230655 in #300
- add parse_free method to Problem class, add test fubction by @Peter230655 in #303
- improved HTML rendering by @Peter230655 in #305
- trial push whether layout is o.k. by @Peter230655 in #306
- Testing the RTD preview builds. by @moorepants in #307
- park a car in a garage by @Peter230655 in #289
- docstrings changed for solve to match opty by @Peter230655 in #301
- Allow for one differential equation only. Removed lines near 1300, 1680 by @Peter230655 in #311
- betts 10 103 and 104. Replaces PR # 261 by @Peter230655 in #312
- car around pylons by @Peter230655 in #298
- corrected error in rounding part of the method plot_constraint_violat… by @Peter230655 in #288
- Betts 10 50 by @Peter230655 in #272
- Simplified the code and improve wording/formatting in Betss 10 103-104. by @moorepants in #314
- Load math constants on Windows, fixes #257. by @moorepants in #320
- Added Ackermann & van den Bogert 2010 example. by @moorepants in #29
- Linting, spelling, and wording cleanup on the ball rolling on disc example. by @moorepants in #322
- raise ValueError if duplicate state symbols are present. Fixes #317 by @Peter230655 in #323
- changed I / we wordings by @Peter230655 in #329
- removed I /we wordings, some small changes by @Peter230655 in #328
- Make SciPy an optional dependency, fixes #319. by @moorepants in #327
- removed I wordings by @Peter230655 in #330
- I wording removed by @Peter230655 in #332
- particle-in-tube-new by @Peter230655 in #286
- Break examples into beginner, intermediate, and advanced. Fixes #334 by @moorepants in #338
- Changes ConstraintCollocator attributes to read only properties. Replaces PR #315 by @Peter230655 in #337
- probable typo corrected by @Peter230655 in #341
- removed leading minus by @Peter230655 in #342
- examples-gallery now has three subdirectories by @Peter230655 in #343
- Move the Park 2004 example to the gallery. by @moorepants in #340
- using windows explorer by @Peter230655 in #346
- added more textrm, first attempt at structure as per #348 by @Peter230655 in #350
- Added a sit-to-stand example with the gait2d model. by @moorepants in #356
- Release Version 1.4.0 by @moorepants in #352
New Contributors
- @chris-konrad made their first contribution in #283
Full Changelog: v1.3.0...v1.4.0