Source code for algorithm introduced in "Rapid Integrator for a Class of Multi-Contact Systems" DOI:https://doi.org/10.48550/arXiv.2402.00279
The integrator is implemented in the class odeESS
, contained within
ess.py. In its current implementation, it requires odedp5.py
,
numpy
, andscipy
to run. However, the odeDP5 dependency can be removed by
altering the dp5
attribute of odeESS
.
For an N-dimensional state space with M guards, requires
f
-- (N,M)->N vector ode mapping state, region to state derivativeh
-- N->M vector of the M guard functionsDh
-- jacobian ofh
eps
-- a precision parameter for integration speedup
>>> o = odeESS(f, h, Dh, eps)
>>> t, y = o(x0, t0, tf)
Marion Anderson marand@umich.edu, Shai Revzen shrevzen@umich.edu
The license governing this code is the GNU GPLv3.0, as per GPL-LICENSE.md, with one additional provision set forth below.
If you use this code for academic work, you must cite the either the arXiv publication (https://doi.org/10.48550/arXiv.2402.00279) or the peer-reviewed publication (TBD).