Skip to content

Conversation

@genevievestarke
Copy link
Collaborator

First step to enabling the electrolyzers to take in initial conditions for states (i.e. stacks on or off) in initialization

@camirmas camirmas merged commit 478b651 into NREL:develop Feb 17, 2023
ZackTully added a commit to ZackTully/electrolyzer that referenced this pull request Feb 19, 2023
Add `update_stack_status` function (NREL#31)
camirmas pushed a commit to camirmas/electrolyzer that referenced this pull request Feb 28, 2023
* add upate stack status function

* formatting changes

* Update dt in stack initialization

* re-add typo correction

* Update stack test to include dt in dictionary
camirmas added a commit that referenced this pull request Mar 10, 2023
* Example controller test file, and controller update

* Refactor, implement `attrs`, and add unit tests (#19)

* [ref #2] Add basic polarization example

* Apply cleanup and fixes for `Electrolyzer`

- Remove magic numbers and organize constants
- Calculate reversible cell voltage instead of using magic number

* [ref #12] Consolidate temperature attribute

Updates `Electrolyzer` to use the `temperature` attribute where
applicable, rather than having functions take `T` as an argument. This
streamlines the interface and will allow for a more detailed dynamic
temperature simulation in the future.

* [ref #12] Update `Electrolyzer` params; refactor methods

* [ref #12] Refactor `Electrolyzer`

This commit extracts all electrolyzer operations from electrochemical
processes. The resulting classes are `ElectrolyzerStack` and
`ElecrolyzerCell`.

* [ref #12] Update imports and naming

* [ref #12] Implement attrs classes

* [ref #3] Add `Cell` unit tests

* [ref #3] Add `Stack` unit tests

* [ref #12] Add `Supervisor` example

* Fix degradation bug

* flake8 ignore colon whitespace error (#23)

* Interface (#22)

* [ref #11] Add initial schema, run fn, and example

* [ref #11] Add schema validation tests

* [ref #5] Add electrolyzer output + integration tests

* [ref #11] Update `run_electrolyzer` to accept `dict`

* Update documentation and make `electrolyzer` pip installable (#24)

* Update CONTRIBUTING.rst

* Update README and setup.py deps

* Fix old formatting bug

* Fix formatting bug in Supervisor

* Add `update_stack_status` function (#31)

* add upate stack status function

* formatting changes

* Update dt in stack initialization

* re-add typo correction

* Update stack test to include dt in dictionary

* Fix/deg rates (#30)

* added updated degradation calcs

* New degradation rates

* updated test for new deg calcs

* updat pre-commit yaml

* remove whitespace

* update test_regression

* fix test_regression

* fix test_regression

* troubleshooting tests

* test_regression total h2 4 decimals

* Update test_run_electrolyzer.py

* Add system rating optimization toolset (#35)

* [ref #25] Add adjustment function for stack rating

* [ref #25] Update to use scipy.optimize for `cell_area` calc

* [ref #25] Add system rating calc

* [ref #25] Add system sizing example

* [ref #25] Add optimize param to `run_electrolyzer`

* Fix inefficient DataFrame build

* [ref #25] Improve n_cells algorithm; improve example notebook

* [ref #25] Fix Stack init error in optimization

* Add current density to outputs

* [ref #25] Fix `optimize` bug in `run_electrolyzer`

Fixes a bug that I introduced by having `calc_rated_system` return a new dictionary instead of modifying the input dictionary in-place.

Also improves the optimization example notebook.

* Feature/init update (#34)

* add upate stack status function

* formatting changes

* Updating the electrolyzer for in-operation initialization

* Updating stack test again

* Updates to suporvisor.py based on comments

* Fixing initialization bugs

* Fixing initialization bugs

---------

Co-authored-by: Cameron Irmas <9358681+camirmas@users.noreply.github.com>

---------

Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
Co-authored-by: Zachary Tully <107644545+ZackTully@users.noreply.github.com>
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
camirmas pushed a commit to camirmas/electrolyzer that referenced this pull request May 29, 2023
* add upate stack status function

* formatting changes

* Update dt in stack initialization

* re-add typo correction

* Update stack test to include dt in dictionary
camirmas added a commit that referenced this pull request May 29, 2023
* Example controller test file, and controller update

* Refactor, implement `attrs`, and add unit tests (#19)

* [ref #2] Add basic polarization example

* Apply cleanup and fixes for `Electrolyzer`

- Remove magic numbers and organize constants
- Calculate reversible cell voltage instead of using magic number

* [ref #12] Consolidate temperature attribute

Updates `Electrolyzer` to use the `temperature` attribute where
applicable, rather than having functions take `T` as an argument. This
streamlines the interface and will allow for a more detailed dynamic
temperature simulation in the future.

* [ref #12] Update `Electrolyzer` params; refactor methods

* [ref #12] Refactor `Electrolyzer`

This commit extracts all electrolyzer operations from electrochemical
processes. The resulting classes are `ElectrolyzerStack` and
`ElecrolyzerCell`.

* [ref #12] Update imports and naming

* [ref #12] Implement attrs classes

* [ref #3] Add `Cell` unit tests

* [ref #3] Add `Stack` unit tests

* [ref #12] Add `Supervisor` example

* Fix degradation bug

* flake8 ignore colon whitespace error (#23)

* Interface (#22)

* [ref #11] Add initial schema, run fn, and example

* [ref #11] Add schema validation tests

* [ref #5] Add electrolyzer output + integration tests

* [ref #11] Update `run_electrolyzer` to accept `dict`

* Update documentation and make `electrolyzer` pip installable (#24)

* Update CONTRIBUTING.rst

* Update README and setup.py deps

* Fix old formatting bug

* Fix formatting bug in Supervisor

* Add `update_stack_status` function (#31)

* add upate stack status function

* formatting changes

* Update dt in stack initialization

* re-add typo correction

* Update stack test to include dt in dictionary

* Fix/deg rates (#30)

* added updated degradation calcs

* New degradation rates

* updated test for new deg calcs

* updat pre-commit yaml

* remove whitespace

* update test_regression

* fix test_regression

* fix test_regression

* troubleshooting tests

* test_regression total h2 4 decimals

* Update test_run_electrolyzer.py

* Add system rating optimization toolset (#35)

* [ref #25] Add adjustment function for stack rating

* [ref #25] Update to use scipy.optimize for `cell_area` calc

* [ref #25] Add system rating calc

* [ref #25] Add system sizing example

* [ref #25] Add optimize param to `run_electrolyzer`

* Fix inefficient DataFrame build

* [ref #25] Improve n_cells algorithm; improve example notebook

* [ref #25] Fix Stack init error in optimization

* Add current density to outputs

* [ref #25] Fix `optimize` bug in `run_electrolyzer`

Fixes a bug that I introduced by having `calc_rated_system` return a new dictionary instead of modifying the input dictionary in-place.

Also improves the optimization example notebook.

* Feature/init update (#34)

* add upate stack status function

* formatting changes

* Updating the electrolyzer for in-operation initialization

* Updating stack test again

* Updates to suporvisor.py based on comments

* Fixing initialization bugs

* Fixing initialization bugs

---------



---------

Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
Co-authored-by: Zachary Tully <107644545+ZackTully@users.noreply.github.com>
Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

2 participants