ROVI-org / auto-soh

Fit State of Health (SOH) to batteries using state estimation techniques
https://rovi-org.github.io/auto-soh/
MIT License
1 stars 0 forks source link

Refactoring the Health Variable Class #11

Closed WardLT closed 3 months ago

WardLT commented 3 months ago

Implements a hierarchical model for the parameters of different storage system models.

Fixes #10 by providing a simpler implementation of the features there (similar to Option 1 of the proposed) and #6 by creating a class which is only for model parameters.

We seem to be drifting towards an solution to #7 where the updatable parameters are kept alongside the model parameters, which I'm OK with thus far. That may change once we introduce some kind of container for "Joint State" which combines the always-updatable model state with sometimes-updatable

To do list:

victorventuri commented 3 months ago

I am jotting down comments here as I read through the code, so maybe by the time I reach the end, some of them will have been resolved and I may forget to iterate back.

  1. Based on the make_all_updatable method, the current definition of HealthVariable does not allow for fields to just be lists (or iterables) of floats, for instance; everything inside it must be another HealthVariable it looks like
  2. Regarding the TODO on line 68 of base.py, the answer is positively "yes!": when assembling the necessary matrices for updating transient states, we need to know the values of parameters even if they are "immutable"
  3. I like the option of making everything updatable recursively (despite somewhat fearing it a bit as well)