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 ofheps-- 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).