Rob, the "monolithic" EOM is working great using finite differencing, thanks for the recommendation. Will try jax in the near future.