# SavingCallback when using Ensemble Simulations

**URL:** <https://discourse.julialang.org/t/savingcallback-when-using-ensemble-simulations/88483>\
**Category:** General Usage\
**Tags:** differentialequation\
**Created:** [October 9, 2022, 3:00pm UTC](https://discourse.julialang.org/t/savingcallback-when-using-ensemble-simulations/88483 "2022-10-09T15:00:54Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![johannesnauta](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johannesnauta/32/47434_2.png) [@johannesnauta](https://discourse.julialang.org/u/johannesnauta)\
**Post date:** [February 11, 2025, 2:30pm UTC](https://discourse.julialang.org/t/savingcallback-when-using-ensemble-simulations/88483/10 "2025-02-11T14:30:30Z")

</div>

> [@ChrisRackauckas](#):
>
> It does not. `remake(prob, p=p)` should just be the same as making a new `prob` with the new vector swapped in, so just the type wrapper is changed and that should be a cheap operation.

Then why does the doc state:

> Calling `remake(prob)` creates a copy of the existing problem. This new problem has the exact same types as the original one, and the `remake` call is fully inferred.

Or am I wrong in assuming that a copy and a deepcopy are the same?

> [@ChrisRackauckas](#):
>
> You can use [Accessors.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/Accessors) `@set!` as a helper.

And thanks, this looks very useful!

---

_[View the full topic](https://discourse.julialang.org/t/savingcallback-when-using-ensemble-simulations/88483)._
