You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove ModelingToolkit dependency from ODEProblemLibrary for faster compilation
This PR rewrites the ModelingToolkit-dependent example problems to use direct ODE function definitions instead of symbolic computation, which significantly improves compilation speed and eliminates circular dependency issues.
## Changes Made
- **Removed ModelingToolkit dependency**: Eliminated ModelingToolkit from dependencies in Project.toml
- **Rewritten ODE problems**: Converted all symbolic ODE definitions to direct function definitions
- **Maintained API compatibility**: All problem exports remain the same
- **Preserved problem accuracy**: Same initial conditions, parameters, and mathematical formulations
## Problems Rewritten
### ode_simple_nonlinear_prob.jl
- Van der Pol equations (prob_ode_vanderpol, prob_ode_vanderpol_stiff)
- ROBER biochemical reactions (prob_ode_rober)
- Rigid body equations (prob_ode_rigidbody)
- Hires problem (prob_ode_hires)
- Orego problem (prob_ode_orego)
### strange_attractors.jl
- Thomas cyclically symmetric attractor (prob_ode_thomas)
- Lorenz equations (prob_ode_lorenz)
- Aizawa equations (prob_ode_aizawa)
- Dadras equations (prob_ode_dadras)
- Chen equations (prob_ode_chen)
- Rössler equations (prob_ode_rossler)
- Rabinovich-Fabrikant equations (prob_ode_rabinovich_fabrikant)
- Sprott equations (prob_ode_sprott)
- Hindmarsh-Rose equations (prob_ode_hindmarsh_rose)
## Benefits
- **Faster compilation**: No symbolic computation overhead
- **Eliminated circular dependencies**: No more ModelingToolkit → DiffEqCallbacks → ODEProblemLibrary → ModelingToolkit cycle
- **Reduced dependency footprint**: Fewer dependencies to install and manage
- **Better test reliability**: No more precompilation failures due to circular dependencies
## Testing
- All tests pass (Aqua.jl quality assurance)
- All rewritten problems maintain correct dimensions, initial conditions, and parameters
- ODE functions are callable and produce finite derivatives
- Maintains backward compatibility with existing code
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
0 commit comments