# Pass additional parameters to affect! in solving ODEs

**URL:** <https://discourse.julialang.org/t/pass-additional-parameters-to-affect-in-solving-odes/29755>\
**Category:** General Usage\
**Tags:** question\
**Created:** [October 10, 2019, 10:06pm UTC](https://discourse.julialang.org/t/pass-additional-parameters-to-affect-in-solving-odes/29755 "2019-10-10T22:06:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![biona001](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/biona001/32/16497_2.png) [@biona001](https://discourse.julialang.org/u/biona001)\
**Post date:** [October 10, 2019, 10:06pm UTC](https://discourse.julialang.org/t/pass-additional-parameters-to-affect-in-solving-odes/29755/1 "2019-10-10T22:06:19Z")

</div>

Hello community,

I’m trying to make a lot of ODE simulations and each has a specific callback condition. In `affect!`, I need to change a few compartments of `integrator.u` according to some known values. How can I do this?

For instance, how can I make `T4_dose` below an input parameter for `affect!`? This callback function adds `T4_dose` to compartment 10 every 24 hours.

```julia
function affect!(integrator)
    T4_dose = 400.0 / 777.0      

    integrator.u[10] += T4_dose
end

cbk = PeriodicCallback(affect!, 24.0);

```

---

<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:** [October 11, 2019, 12:13am UTC](https://discourse.julialang.org/t/pass-additional-parameters-to-affect-in-solving-odes/29755/2 "2019-10-11T00:13:14Z")

</div>

> [@biona001](#):
>
> For instance, how can I make `T4_dose` below an input parameter for `affect!` ? This callback function adds `T4_dose` to compartment 10 every 24 hours.

you can access the parameters in `integrator.p`

---

<div class="post-metadata">

**Author:** ![biona001](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/biona001/32/16497_2.png) [@biona001](https://discourse.julialang.org/u/biona001)\
**Post date:** [October 11, 2019, 5:32am UTC](https://discourse.julialang.org/t/pass-additional-parameters-to-affect-in-solving-odes/29755/3 "2019-10-11T05:32:38Z")

</div>

Thanks Chris.

For future reference, we can store `T4_dose` as an extra variable in `p` (say in position 55) and then do `integrator.u[10] += integrator.p[55]`.
