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

Identify code tests #9

Open
eibar-flores opened this issue Oct 30, 2024 · 8 comments
Open

Identify code tests #9

eibar-flores opened this issue Oct 30, 2024 · 8 comments
Assignees

Comments

@eibar-flores
Copy link

Find relevant model tests:

  • P2D model
  • SEI model
  • thermal model
  • Grid stability

Find relevant simulation tests:

  • Single discharge
  • Single cycle
  • Long-term cycling
  • Switching between constant-current and constant-voltage control protocols, and vice-versa
@eibar-flores
Copy link
Author

We should focus on End-to-End testing, i.e. tests that verify the functionality of the codebase under real-case scenarios.

@xavierr
Copy link
Member

xavierr commented Nov 4, 2024

We have already implemented tests using Julia unit testing. Each time the code is updated, the tests are rerun automatically.

The tests implemented are here:

https://github.com/BattMoTeam/BattMo.jl/tree/main/test

@eibar-flores
Copy link
Author

Ok, I see many test have been implemented already. For what I can see, there is missing tests for the SEI model and long-term cycling.

@xavierr
Copy link
Member

xavierr commented Nov 4, 2024 via email

@eibar-flores
Copy link
Author

Is there a reason why it is pushed to dev and not to main? What else is needed for having the SEI model as a stable feature in the main branch?

Modelling of degradation is a key application, and this is where the Julia implementation can shine: long-term cycling simulations to study degradation will likely be much faster to run compared to other implementations.

@xavierr
Copy link
Member

xavierr commented Nov 5, 2024

I have the habit to push to dev the newest code and from time to time to push to main when the code has stabilized. But this approach may look unnecessary when we have in addition a dedicated release process. What do you think @moyner ?

@xavierr
Copy link
Member

xavierr commented Nov 5, 2024

For the second part of your comment, Eibar, I fully agree. SEI computation with long-term simulations is a show-case for julia code.

@moyner
Copy link
Member

moyner commented Nov 5, 2024

I think having everything done by PRs to main is the way to go. The only exceptions I see are:

  • When we depend on a Jutul branch (and not the released version) CI may fail. This can be good to keep on a branch until Jutul is released.
  • CI will run at all commits to main and I think it is nice to have successful CI / tests passing on the main branch. That way, feature branches are always starting from a working version of the code. Some bigger rewrites are therefore nicer to have on a dev branch with merges to dev for features.

Right now the tests pass and we also have #14 that branches off dev that could be merged so it would not be hard to move over to main.

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

No branches or pull requests

4 participants