-
-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pass array of times to step
#3524
Comments
Hey I would like to work on this. |
Can you please give examples of how to use step() function to get solutions which I can use for debugging? I'm quite new here and I cant find it in project doc. |
Sorry for the slow reply. Take a look here. |
Thanks 😄 |
Maybe if we change step function to something like: def step(
self,
old_solution,
model,
dt=0,
non_linear_time=None,
npts=2,
inputs=None,
save=True,
) Here |
Hi @prady0t, theoretically it looks promising, though it would be nicer to open a PR to keep things moving & also would be easier for us to suggest changes there 🙂 |
Sure will do! |
Made a PR. Please have a look. |
When you call
solver.step
you pass indt
, the time time increment you want to step forward in. You can also passnpts
to get the solution back at a linearly spaced array of times between the initial time,t0
, andt0+dt
. It would be good to instead be able to pass an array of times,t_eval
, like you pass to solve, so you can get step solutions returned at non-linearly spaced times.The motivation for this is that right now you can't pass a
starting_solution
toSimualtion.solve
if you aren't using an experiment, so if you want to chain solutions together you have to callSimulation.step
instead.An alternative is that we allow starting solutions without experiments in
Simulation.solve
.The whole logic for
step
andsolve
is pretty clunky both inSimulation
andBaseSolver
, but that's a separate issue...The text was updated successfully, but these errors were encountered: