# Sensitivity Analysis on ODE system

**URL:** <https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757>\
**Category:** Modelling & Simulations\
**Tags:** ode, forwarddiff\
**Created:** [June 23, 2026, 10:25am UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757 "2026-06-23T10:25:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![violabini](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/violabini/32/222225_2.png) [@violabini](https://discourse.julialang.org/u/violabini)\
**Post date:** [June 23, 2026, 10:25am UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757/1 "2026-06-23T10:25:42Z")

</div>

Hi everyone,  
I am trying to use automatic differentiation in julia to compute the Jacobian of my outputs wrt my design variables for local sensitivity, but my ODEs are nearly coupled as for example du[3]=A\*du[2]+B u[1]. This lead to very high values (~e23) for Jacobian elements. So far I am using an implicit solver (FBDF) to solve my ODE system. Do you have any idea on how can I perform a sensitivity analysis for a system like this in julia?

---

<div class="post-metadata">

**Author:** ![sablonl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sablonl/32/217805_2.png) [@sablonl](https://discourse.julialang.org/u/sablonl)\
**Post date:** [June 23, 2026, 1:48pm UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757/2 "2026-06-23T13:48:01Z")

</div>

Hi and welcome to the Julia discourse !

Unfortunately, without an [MRE](https://en.wikipedia.org/wiki/Minimal_reproducible_example) it is diffucult for the community to locate the issue and provide some help.

Have you considered using SciMLSensitivity.jl ?

---

<div class="post-metadata">

**Author:** ![violabini](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/violabini/32/222225_2.png) [@violabini](https://discourse.julialang.org/u/violabini)\
**Post date:** [June 24, 2026, 7:37am UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757/3 "2026-06-24T07:37:23Z")

</div>

The most problematic equations in my ODE system are those ones :

du[5]=( sR \* (dPsdt \* r\_S + du[7] \* Ps)- k\_l- (2 / R\_L +2 \* rL / (rR \* R\_R) +(sL + sR) \* du[10]) \* P\_LV) / ((sL + sR) \* rL)

```
du\[6\]=( sL \* (dPsdt \* r_S+ du\[7\] \* Ps)+ k_r- (2 / R_R +2 \* rR / (rL \* R_L) +(sL + sR) \*du\[11\] ) \* P_RV) / ((sL + sR) \* rR)

  #dPrv

dr_S_free = ((Q_out+Q_r)/2 - (Q_mit+Q_tri)/2)/ (J_avg)+pi\*p\[3\]\*2\*p\[1\]\*((2\*p\[1\]+e_l\*2\*p\[1\])\*du\[8\]+(2\*p\[1\]+e_r\*2\*p\[1\])\*du\[9\])

du\[7\]=r_S <= p\[2\] ? max(dr_S_free, 0.0) : (r_S >= p\[1\] ? min(dr_S_free, 0.0) : dr_S_free)

#strain rates de_l and de_r

du\[8\]= (rL\*du\[5\]+du\[10\]\*P_LV)\*(1-0.33/2)/(p\[9\]\*p\[11\])

du\[9\]= (rR\*du\[6\]+du\[11\]\*P_RV)\*(1-0.33/2)/(p\[10\]\*p\[11\])

dr_L_free=2\*p\[1\]\*du\[8\]-du\[7\] #rl

du\[10\]=rL <= p\[12\] ? max(dr_L_free, 0.0) : (rL >= p\[13\] ? min(dr_L_free, 0.0) : dr_L_free)

dr_R_free=2\*p\[1\]\*du\[9\]-du\[7\] #rr

du\[11\]=rR <= p\[12\] ? max(dr_R_free, 0.0) : (rR >= p\[13\] ? min(dr_R_free, 0.0) : dr_R_free)

```

where P\_Ao, P\_PA, P\_vs, P\_vp,P\_LV,P\_RV, r\_S,e\_l,e\_r,rL,rR = u

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [June 25, 2026, 9:39am UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757/4 "2026-06-25T09:39:58Z")

</div>

What happens when you lower the relative tolerance? Are you sure it’s an expected divergence?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [June 25, 2026, 9:40am UTC](https://discourse.julialang.org/t/sensitivity-analysis-on-ode-system/137757/5 "2026-06-25T09:40:40Z")

</div>

Try Multifloats.jl for a higher precision?
