-
Notifications
You must be signed in to change notification settings - Fork 5
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
N-dimensional interpolation #127
Conversation
3481738
to
ea0f0f1
Compare
@nreinicke made some good points:
EDIT: resolved, see top comment |
I want to switch to binary search rather than |
@calbaker Maybe we can review this in the FASTSim development meeting today |
Converted to draft so I can implement interpolation throughout FASTSim before merging |
@calbaker Uh oh https://pyo3.rs/v0.21.2/class.html?highlight=enum#complex-enums
What I have written is an enum with tuple variants that contain structs (as there is no way to impl on enum struct variants). This will take some thinking to solve. |
We also need to fix the tests that fail (expecting the old struct format) |
|
…to simdrive.rs and reversible_energy_storage.rs)
… them must include calling validate(). Made interpolator related macros into functions, and updated the macros-turned-functions to include both eff_interp_fwd and eff_interp_bwd.
…tion HEV fails but other tests pass
seems to allow for logging capability without any performance penalty unless it is used
changed to using si ZERO
but now the problem is aux load should be transferred to engine or something else when SOC gets too small to support
Issue
https://github.nrel.gov/MBAP/fastsim/issues/328
Completed
.windows()
vs. binary search for finding indices.windows
search perform almost exactly the same, so I'll keep it as is. This is easy to test by placing the index finding code into a function and swapping out the function bodyFairly Urgent
interp1d
everywhere and replace withInterpolator
Not Urgent but Important
PhantomData
in pretty much every named field struct and maybe also the tuple structs to preventinit
bypassingInterpolator
and maybe other enumsInterpolator
and maybe other enums, making use ofFieldOptions