v0.1.0 (#32) * 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 <[email protected]> --------- Co-authored-by: Genevieve Starke <[email protected]> Co-authored-by: Zachary Tully <[email protected]> Co-authored-by: genevievestarke <[email protected]>