Skip to content
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

Tag experiments [former Reference Performance Test (RPT) experiment] #2538

Closed
brosaplanella opened this issue Dec 9, 2022 · 6 comments · Fixed by #2593
Closed

Tag experiments [former Reference Performance Test (RPT) experiment] #2538

brosaplanella opened this issue Dec 9, 2022 · 6 comments · Fixed by #2593
Labels

Comments

@brosaplanella
Copy link
Sponsor Member

Description

The capacity of the battery (e.g. when doing ageing tests) is typically done through RPTs, an experimental step consisting of a full charge and a CC discharge at a given C-rate until the cut-off voltage is hit. The capacity in that discharge is the "measured capacity".

These tests can be easily run with the current features (though the experiment needs to be split and solution reinitialised which can be cumbersome). However, this is a fairly standard test which is intercalated between many other steps, and often we only care about the measurements during the RPT. Possible ways around that would be to define a separate RPT class and then:

  • Store RPT subsolutions (or maybe even just the capacity measure) as a separate variable in the solution.
  • Alternatively, just store a list with the indices corresponding the RPT so they can be easily accessed.

Anyway, what are people thoughts on that?

Motivation

Fairly standard experiment type used in ageing experiments.

Possible Implementation

Define a separate RPT experimental step (ties with #2322)

Additional context

This might make #2219 no longer needed, as the main motivation was doing RPT.

@valentinsulzer
Copy link
Member

I'm a little bit reluctant to add more special cases to the Simulation class which is already a bit of a god class. Isn't this fairly easy to do using solution.first_state like in your SPMe-SR repo?

@brosaplanella
Copy link
Sponsor Member Author

After discussion, it sounds that the more sensible approach is to make Experiment generate a list of the RPT cycles, so they can be easily passed to save_at_cycles.

@brosaplanella
Copy link
Sponsor Member Author

Thinking more carefully on this, an option would be to "tag" specific steps (e.g. adding [RPT] at the end of the string). Then we can just have a search method that returns the cycles that match the tag (this would allow a lot more flexibility).

@valentinsulzer
Copy link
Member

agreed - tagging (/labeling) is part of what was suggested by @Scottmar93 in #2322

@brosaplanella brosaplanella changed the title Reference Performance Test (RPT) experiment Tag experiments [former Reference Performance Test (RPT) experiment] Jan 5, 2023
@brosaplanella
Copy link
Sponsor Member Author

I will start working on tagging experiments. @Scottmar93 let me know if that conflicts with your workflow for #2322.

brosaplanella added a commit that referenced this issue Jan 5, 2023
brosaplanella added a commit that referenced this issue Jan 5, 2023
brosaplanella added a commit that referenced this issue Jan 5, 2023
@Scottmar93
Copy link
Contributor

@brosaplanella Should be fine as I think the idea is to make a separate class for more customizable cases in order to avoid breaking existing experiment class functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants