From 9b7ce8d1dc14bed94457f3ef9fc15dacfe129a11 Mon Sep 17 00:00:00 2001 From: "Corey R. Randall" Date: Fri, 8 Nov 2024 16:55:55 -0700 Subject: [PATCH] Replace scikits.odes with scikit-sundae --- .github/linters/.codespellrc | 2 +- .github/linters/.flake8 | 2 +- .github/workflows/ci.yaml | 52 +- .gitignore | 3 +- .readthedocs.yml | 16 + CHANGELOG.md | 4 +- MANIFEST.in | 1 + README.md | 46 +- docs/Makefile | 20 + ...61b9a7c79fafe232468e58597a48ca0ea07d7e.png | Bin 0 -> 18192 bytes ...e52b67a80feb137b63b30cf10a104b4ea00dc3.png | Bin 0 -> 20548 bytes ...975503ac36ddb568acd9ed226ad2f8679a0742.png | Bin 0 -> 19868 bytes ...387c49dcc73f776030b9693e7f66724396a1ec.png | Bin 0 -> 24312 bytes ...be883aae3634cacf3ba80649702c11ba235731.png | Bin 0 -> 12382 bytes ...7d75f2d8f184fbaeff9c9139dec25fcce7d36b.png | Bin 0 -> 21996 bytes ...b9198a8d1adc53e88119bdcd48aceb9e9b7e3d.png | Bin 0 -> 21983 bytes ...9178f02f560b0f69ae348160eedafc71e231f3.png | Bin 0 -> 22137 bytes ...2082e336dbf12657fed44464f81392ef08bcd3.png | Bin 0 -> 24406 bytes ...78b078b852f3f468d81e5de44497baa0098529.png | Bin 0 -> 24166 bytes ...09dbf3c0315193407a671f723e581b531ebbfe.png | Bin 0 -> 16807 bytes ...b56329947da6ab8c37e7e79190a1d53905a422.png | Bin 0 -> 19360 bytes ...7c90edabb65eb5f5ad4dd4db4e12fd4b83f1ea.png | Bin 0 -> 23526 bytes ...fce4bc93180755628bfd2c02b35bb41cd17f4d.png | Bin 0 -> 15150 bytes ...ab74ca41566ea2b8988989bc9e1587d73270c4.png | Bin 0 -> 15543 bytes ...a1622a4e436058c09d5a7c1d307f3fe7032fd3.png | Bin 0 -> 19236 bytes ...ab8607f206e4878de799a68b08abcc88b54752.png | Bin 0 -> 21519 bytes ...97951c42852339047cb26f73d78b1637a42f43.png | Bin 0 -> 19920 bytes ...fe9277e36392192a96c309f071cfd5b3eb4d56.png | Bin 0 -> 22645 bytes ...88d4320c194d7c24e20e3cda1174cf5dad03e0.png | Bin 0 -> 10066 bytes ...d223ac0ebff179873593a43800af123871440a.png | Bin 0 -> 24349 bytes ...fff7921ecc9fdf04d164a5d38b09c5d79a2928.png | Bin 0 -> 19179 bytes ...2186223a44510d697b4d96212db8f30220b5b1.png | Bin 0 -> 27311 bytes ...8a3603ff6d4ead6bcb3bc0c18f0b042b8295c2.png | Bin 0 -> 14273 bytes ...6e3618ea3e5dccef27d7d271e594eac2d6adec.png | Bin 0 -> 24390 bytes .../examples/dict_inputs.ipynb | 235 ++++++ docs/jupyter_execute/examples/ramping.ipynb | 236 ++++++ .../examples/step_functions.ipynb | 214 +++++ .../examples/yaml_inputs.ipynb | 243 ++++++ .../user_guide/basic_tutorial.ipynb | 265 +++++++ docs/make.bat | 35 + docs/source/_static/api_reference.svg | 59 ++ docs/source/_static/custom.css | 50 ++ docs/source/_static/custom.js | 17 + docs/source/_static/dark.png | Bin 0 -> 70402 bytes docs/source/_static/development.svg | 76 ++ docs/source/_static/examples.svg | 51 ++ docs/source/_static/favicon.ico | Bin 0 -> 4286 bytes docs/source/_static/icons.svg | 128 +++ docs/source/_static/light.png | Bin 0 -> 70870 bytes docs/source/_static/user_guide.svg | 50 ++ docs/source/_templates/navbar-logo.html | 37 + docs/source/api/index.rst | 11 + docs/source/api/thevenin/index.rst | 740 ++++++++++++++++++ docs/source/api/thevenin/loadfns/index.rst | 149 ++++ docs/source/api/thevenin/plotutils/index.rst | 55 ++ docs/source/conf.py | 134 ++++ docs/source/development/code_of_conduct.rst | 114 +++ .../development/code_style_and_linting.rst | 57 ++ .../development/development_environments.rst | 48 ++ .../development/figures/github_flow.png | Bin 0 -> 18910 bytes docs/source/development/index.rst | 33 + .../development/issues_and_features.rst | 60 ++ .../development/patterns_and_conventions.rst | 108 +++ docs/source/development/project_layout.rst | 35 + docs/source/development/project_overview.rst | 54 ++ docs/source/development/review_process.rst | 46 ++ .../source/development/tests_and_coverage.rst | 64 ++ docs/source/development/version_control.rst | 159 ++++ docs/source/examples/dict_inputs.ipynb | 235 ++++++ docs/source/examples/index.rst | 37 + docs/source/examples/ramping.ipynb | 176 +++++ docs/source/examples/step_functions.ipynb | 142 ++++ docs/source/examples/yaml_inputs.ipynb | 243 ++++++ docs/source/index.rst | 138 ++++ docs/source/user_guide/basic_tutorial.ipynb | 256 ++++++ .../user_guide/equivalent_circuit_models.rst | 47 ++ .../source/user_guide/figures/2RC_circuit.png | Bin 0 -> 64004 bytes docs/source/user_guide/index.rst | 20 + docs/source/user_guide/installation.rst | 34 + docs/source/user_guide/model_description.rst | 46 ++ docs/source/user_guide/what_is_thevenin.rst | 20 + noxfile.py | 10 +- pyproject.toml | 38 +- src/thevenin/_solutions.py | 6 +- 84 files changed, 5099 insertions(+), 58 deletions(-) create mode 100644 .readthedocs.yml create mode 100644 MANIFEST.in create mode 100644 docs/Makefile create mode 100644 docs/jupyter_execute/0b1e8be199b138c63b6da0d10661b9a7c79fafe232468e58597a48ca0ea07d7e.png create mode 100644 docs/jupyter_execute/0e1ac83fa495aaf6166e3c42ffe52b67a80feb137b63b30cf10a104b4ea00dc3.png create mode 100644 docs/jupyter_execute/263f6c968931a73d6ef666a726975503ac36ddb568acd9ed226ad2f8679a0742.png create mode 100644 docs/jupyter_execute/54f31f2b3c189fb3cb30c66acd387c49dcc73f776030b9693e7f66724396a1ec.png create mode 100644 docs/jupyter_execute/5e3f2af20ecd1cc65e59efa847be883aae3634cacf3ba80649702c11ba235731.png create mode 100644 docs/jupyter_execute/65618489ca9a793c0652c40fd47d75f2d8f184fbaeff9c9139dec25fcce7d36b.png create mode 100644 docs/jupyter_execute/67f93fe6bbc1a405dbeca58473b9198a8d1adc53e88119bdcd48aceb9e9b7e3d.png create mode 100644 docs/jupyter_execute/6e8bb01372ee244a66128a702d9178f02f560b0f69ae348160eedafc71e231f3.png create mode 100644 docs/jupyter_execute/6f6d61c2e2a9e61bde545b17612082e336dbf12657fed44464f81392ef08bcd3.png create mode 100644 docs/jupyter_execute/7bdc777046c1c114be028beeaf78b078b852f3f468d81e5de44497baa0098529.png create mode 100644 docs/jupyter_execute/7c8f57f652261b4bf928ccf71909dbf3c0315193407a671f723e581b531ebbfe.png create mode 100644 docs/jupyter_execute/873548556a50f2ceb43c031c62b56329947da6ab8c37e7e79190a1d53905a422.png create mode 100644 docs/jupyter_execute/87f14a8542a80d94b12c486d2a7c90edabb65eb5f5ad4dd4db4e12fd4b83f1ea.png create mode 100644 docs/jupyter_execute/8db22403485fbe4480d0cc5e13fce4bc93180755628bfd2c02b35bb41cd17f4d.png create mode 100644 docs/jupyter_execute/92a4ae3ce66c5787a093e68727ab74ca41566ea2b8988989bc9e1587d73270c4.png create mode 100644 docs/jupyter_execute/9962d6e14d363f511d12deeffca1622a4e436058c09d5a7c1d307f3fe7032fd3.png create mode 100644 docs/jupyter_execute/a1c914a09baf612351952bef7dab8607f206e4878de799a68b08abcc88b54752.png create mode 100644 docs/jupyter_execute/ace90a46b8d4203d119c06825097951c42852339047cb26f73d78b1637a42f43.png create mode 100644 docs/jupyter_execute/bf30186108bc72343f3c33fecefe9277e36392192a96c309f071cfd5b3eb4d56.png create mode 100644 docs/jupyter_execute/bf45c11afc81258b0d781083c888d4320c194d7c24e20e3cda1174cf5dad03e0.png create mode 100644 docs/jupyter_execute/c030f270f93e1a2e60568ccbb0d223ac0ebff179873593a43800af123871440a.png create mode 100644 docs/jupyter_execute/c107a6dfd6996b285ed0417049fff7921ecc9fdf04d164a5d38b09c5d79a2928.png create mode 100644 docs/jupyter_execute/cb7009fb438a317d3cf2d2d40f2186223a44510d697b4d96212db8f30220b5b1.png create mode 100644 docs/jupyter_execute/cdad20abfcc24fbd4cf28786828a3603ff6d4ead6bcb3bc0c18f0b042b8295c2.png create mode 100644 docs/jupyter_execute/de5e972375fe7cd173b51f678e6e3618ea3e5dccef27d7d271e594eac2d6adec.png create mode 100644 docs/jupyter_execute/examples/dict_inputs.ipynb create mode 100644 docs/jupyter_execute/examples/ramping.ipynb create mode 100644 docs/jupyter_execute/examples/step_functions.ipynb create mode 100644 docs/jupyter_execute/examples/yaml_inputs.ipynb create mode 100644 docs/jupyter_execute/user_guide/basic_tutorial.ipynb create mode 100644 docs/make.bat create mode 100644 docs/source/_static/api_reference.svg create mode 100644 docs/source/_static/custom.css create mode 100644 docs/source/_static/custom.js create mode 100644 docs/source/_static/dark.png create mode 100644 docs/source/_static/development.svg create mode 100644 docs/source/_static/examples.svg create mode 100644 docs/source/_static/favicon.ico create mode 100644 docs/source/_static/icons.svg create mode 100644 docs/source/_static/light.png create mode 100644 docs/source/_static/user_guide.svg create mode 100644 docs/source/_templates/navbar-logo.html create mode 100644 docs/source/api/index.rst create mode 100644 docs/source/api/thevenin/index.rst create mode 100644 docs/source/api/thevenin/loadfns/index.rst create mode 100644 docs/source/api/thevenin/plotutils/index.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/development/code_of_conduct.rst create mode 100644 docs/source/development/code_style_and_linting.rst create mode 100644 docs/source/development/development_environments.rst create mode 100644 docs/source/development/figures/github_flow.png create mode 100644 docs/source/development/index.rst create mode 100644 docs/source/development/issues_and_features.rst create mode 100644 docs/source/development/patterns_and_conventions.rst create mode 100644 docs/source/development/project_layout.rst create mode 100644 docs/source/development/project_overview.rst create mode 100644 docs/source/development/review_process.rst create mode 100644 docs/source/development/tests_and_coverage.rst create mode 100644 docs/source/development/version_control.rst create mode 100644 docs/source/examples/dict_inputs.ipynb create mode 100644 docs/source/examples/index.rst create mode 100644 docs/source/examples/ramping.ipynb create mode 100644 docs/source/examples/step_functions.ipynb create mode 100644 docs/source/examples/yaml_inputs.ipynb create mode 100644 docs/source/index.rst create mode 100644 docs/source/user_guide/basic_tutorial.ipynb create mode 100644 docs/source/user_guide/equivalent_circuit_models.rst create mode 100644 docs/source/user_guide/figures/2RC_circuit.png create mode 100644 docs/source/user_guide/index.rst create mode 100644 docs/source/user_guide/installation.rst create mode 100644 docs/source/user_guide/model_description.rst create mode 100644 docs/source/user_guide/what_is_thevenin.rst diff --git a/.github/linters/.codespellrc b/.github/linters/.codespellrc index d98bdda..f31e6b8 100644 --- a/.github/linters/.codespellrc +++ b/.github/linters/.codespellrc @@ -1,3 +1,3 @@ [codespell] -skip = build,docs,images,reports,sphinx,references +skip = build,docs,images,reports,references ignore-words-list = thev diff --git a/.github/linters/.flake8 b/.github/linters/.flake8 index d0149d4..e250167 100644 --- a/.github/linters/.flake8 +++ b/.github/linters/.flake8 @@ -15,4 +15,4 @@ max-line-length = 80 extend-ignore = E121,E122,E126,E127,E128,E131,E201,E202,E226,E241,E731 -exclude = build,docs,sphinx,images,reports +exclude = build,docs,images,reports,references diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 18cd069..b9006f0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -9,6 +9,7 @@ on: - 'CHANGELOG*' - 'docs/*' - 'images/*' + - 'LICENSE' - '.github/ISSUE_TEMPLATE/*' pull_request: @@ -20,33 +21,38 @@ on: - 'CHANGELOG*' - 'docs/*' - 'images/*' + - 'LICENSE' - '.github/ISSUE_TEMPLATE/*' jobs: lint: name: (Lint ${{ matrix.python-version }}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: ['ubuntu-latest'] - python-version: ['3.12'] + os: [ubuntu-latest] + python-version: ['3.13'] defaults: run: shell: bash -l {0} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Spell check run: | pip install codespell codespell --config .github/linters/.codespellrc + - name: Code format run: | pip install flake8 @@ -55,34 +61,44 @@ jobs: tests: name: (Test ${{ matrix.python-version }}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: ['ubuntu-latest', 'windows-latest', 'macos-13', 'macos-latest'] - python-version: ['3.9', '3.12'] + os: [macos-13, macos-latest, windows-latest, ubuntu-latest] + python-version: ['3.9', '3.13'] defaults: run: shell: bash -l {0} steps: - - uses: actions/checkout@v4 - - uses: conda-incubator/setup-miniconda@v3 + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup conda/python + uses: conda-incubator/setup-miniconda@v3 with: - activate-environment: 'rovi' - python-version: ${{ matrix.python-version }} - miniconda-version: 'latest' auto-update-conda: true - - name: Conda dependencies - run: conda install scikits_odes_sundials -c conda-forge + miniconda-version: latest + python-version: ${{ matrix.python-version }} + activate-environment: rovi + + - name: Verify environment + run: | + conda info + conda list + - name: Pip dependencies run: pip install . - - name: List packages - run: conda list + + - name: List info + run: | + conda info + conda list + - name: Pytest run: | pip install pytest - pytest + pytest . diff --git a/.gitignore b/.gitignore index 7b994a1..609f600 100644 --- a/.gitignore +++ b/.gitignore @@ -81,8 +81,7 @@ instance/ .scrapy # Sphinx documentation -docs/ -sphinx/ +docs/build # PyBuilder .pybuilder/ diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..22eed41 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,16 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set OS, Python version, and other tools for the build +build: + os: ubuntu-22.04 + tools: + python: latest + +# Location of sphinx configuration file +sphinx: + configuration: docs/source/conf.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 45b3688..8264eaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,10 @@ ### New Features ### Optimizations -* Add ``options`` to the ``Experiment.print_steps()`` report. This makes it easier to check solver options for each step. +* Add `options` to the `Experiment.print_steps()` report. This makes it easier to check solver options for each step. ### Bug Fixes -* Make the final value of ``tspan`` always match ``t_max``. In cases where ``dt`` is used to construct the time array, the final ``dt`` may differ from the one given. Fixes [Issue #10](https://github.com/ROVI-org/thevenin/issues/10). +* Make the final value of `tspan` always match `t_max`. In cases where `dt` is used to construct the time array, the final `dt` may differ from the one given. Fixes [Issue #10](https://github.com/ROVI-org/thevenin/issues/10). ### Breaking Changes * Drop support for Python 3.8 which reached end of support as of October 2024. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..f408970 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +global-exclude tests/* diff --git a/README.md b/README.md index 3b9a088..468f3ec 100644 --- a/README.md +++ b/README.md @@ -60,33 +60,27 @@ The overall cell voltage is where $R_0$ is the lone series resistance (Ohm), as shown in Figure 1. Just like the other resistive elements, $R_0$ is a function of SOC and $T_{\rm cell}$. ## Installation -We recommend using [Anaconda](https://anaconda.com) to install this package due to the [scikits-odes-sundials](https://scikits-odes.readthedocs.io) dependency, which is installed separately using `conda install` to avoid having to download and compile SUNDIALS locally. Please refer to the linked `scikits-odes` documentation if you prefer installing without using `conda`. Note that we plan to replace this dependency in a future release to streamline installation. - -After cloning the repository, or downloading the files, use your terminal (MacOS/Linux) or Anaconda Prompt (Windows) to navigate into the folder with the `pyproject.toml` file. Once in the correct folder, execute the following commands: +`thevenin` is installable via either pip or conda. To install from [PyPI](https://pypi.org/project/thevenin) use the following command. ``` -conda create -n rovi python=3.12 scikits_odes_sundials -c conda-forge -conda activate rovi -pip install . +pip install thevenin ``` -The first command creates a new Python environment named `rovi`. The environment will be set up using Python 3.12 and will install the `scikits-odes-sundials` dependency from the `conda-forge` channel. Feel free to use an alternate environment name and/or to specify a different Python version >= 3.9. Although the package supports multiple Python versions, development and testing is primarily done using 3.12. Therefore, if you have issues with another version, you should revert to using 3.12. The last two commands activate your new environment and install `thevenin`. - -If you plan to make changes to the package, you may also want to consider installing in "editable" mode using the `-e` flag, and including the optional developer dependencies, using `[dev]`, as shown below. If you plan to push any changes back into this repository, you should see the [contributing](#contributing) section first. +If you prefer using the `conda` package manager, you can install `thevenin` from the `conda-forge` channel using the command below. ``` -pip install -e .[dev] +conda install -c conda-forge thevenin ``` ## Get Started -The API is organized around three main classes that allow you to construct the model, define an experiment, and interact with the solution. A basic example for a constant-current discharge is given below. To see the documentation for any of the classes or their methods, use Python's built in `help()` function. You can also access the documentation by visiting the [website](https://rovi-org.github.io/thevenin) hosted through GitHub pages. The website includes search functionality and more detailed examples compared to those included in the docstrings. +The API is organized around three main classes that allow you to construct the model, define an experiment, and interact with the solution. A basic example for a constant-current discharge is given below. To learn more about the model and see more detailed examples check out the [documentation](https://thevenin.readthedocs.io/) on Read the Docs. ```python -import thevenin +import thevenin as thev -model = thevenin.Model() +model = thev.Model() -expr = thevenin.Experiment() +expr = thev.Experiment() expr.add_step('current_A', 75., (3600., 1.), limits=('voltage_V', 3.)) soln = model.run(expr) @@ -96,10 +90,28 @@ soln.plot('time_h', 'voltage_V') **Notes:** * If you are new to Python, check out [Spyder IDE](https://www.spyder-ide.org/). Spyder is a powerful interactive development environment (IDE) that can make programming in Python more approachable to new users. +## Citing this Work +This work was authored by researchers at the National Renewable Energy Laboratory (NREL). The project is tracked in NREL's software records under SWR-24-132 and has a DOI available for citing the work. If you use use this package in your work, please include the following citation: + +> Placeholder... waiting for DOI. + +For convenience, we also provide the following for your BibTex: + +``` +@misc{Randall2024, + title = {{thevenin: Equivalent circuit models in Python}}, + author = {Randall, Corey R.}, + year = {2024}, + doi = {placeholder... waiting for DOI}, + url = {https://github.com/ROVI-org/thevenin}, +} +``` + +## Acknowledgements +The motivation and funding for this project came from the Rapid Operational Validation Initiative (ROVI) sponsored by the Office of Electricity. The focus of ROVI is "to greatly reduce time required for emerging energy storage technologies to go from lab to market by developing new tools that will accelerate the testing and validation process needed to ensure commercial success." If interested, you can read more about ROVI [here](https://www.energy.gov/oe/rapid-operational-validation-initiative-rovi). + ## Contributing If you'd like to contribute to this package, please look through the existing [issues](https://github.com/ROVI-org/thevenin/issues). If the bug you've caught or the feature you'd like to add isn't already being worked on, please submit a new issue before getting started. You should also read through the [developer guidelines](https://rovi-org.github.io/thevenin/development). -## Acknowledgements +## Disclaimer This work was authored by the National Renewable Energy Laboratory (NREL), operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE). The views expressed in the repository do not necessarily represent the views of the DOE or the U.S. Government. - -The motivation and funding for this project came from the Rapid Operational Validation Initiative (ROVI) sponsored by the Office of Electricity. The focus of ROVI is "to greatly reduce time required for emerging energy storage technologies to go from lab to market by developing new tools that will accelerate the testing and validation process needed to ensure commercial success." If interested, you can read more about ROVI [here](https://www.energy.gov/oe/rapid-operational-validation-initiative-rovi). diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/jupyter_execute/0b1e8be199b138c63b6da0d10661b9a7c79fafe232468e58597a48ca0ea07d7e.png b/docs/jupyter_execute/0b1e8be199b138c63b6da0d10661b9a7c79fafe232468e58597a48ca0ea07d7e.png new file mode 100644 index 0000000000000000000000000000000000000000..98019e4b7aa38b7ea592b61c49c705f3440dd0d4 GIT binary patch literal 18192 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 literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/0e1ac83fa495aaf6166e3c42ffe52b67a80feb137b63b30cf10a104b4ea00dc3.png b/docs/jupyter_execute/0e1ac83fa495aaf6166e3c42ffe52b67a80feb137b63b30cf10a104b4ea00dc3.png new file mode 100644 index 0000000000000000000000000000000000000000..7e464199ab43442c7f6df63a4a4e44e2b988a505 GIT binary patch literal 20548 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 R;tfYXlBcULwZWO5^%p0MHQoRK literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/263f6c968931a73d6ef666a726975503ac36ddb568acd9ed226ad2f8679a0742.png b/docs/jupyter_execute/263f6c968931a73d6ef666a726975503ac36ddb568acd9ed226ad2f8679a0742.png new file mode 100644 index 0000000000000000000000000000000000000000..854f90b885d7d4da662edb76ca131a846d9828e7 GIT binary patch literal 19868 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 literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/54f31f2b3c189fb3cb30c66acd387c49dcc73f776030b9693e7f66724396a1ec.png b/docs/jupyter_execute/54f31f2b3c189fb3cb30c66acd387c49dcc73f776030b9693e7f66724396a1ec.png new file mode 100644 index 0000000000000000000000000000000000000000..b300c9060d7e62a1791fc5fa4e23a693894d0683 GIT binary patch literal 24312 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

WIs^_4{*9Onvlx{u$AEOc^pX)MCe!ibe+g969lp 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 SFc1`a(*8Y%$yw^Bul^51TwzxL literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/5e3f2af20ecd1cc65e59efa847be883aae3634cacf3ba80649702c11ba235731.png b/docs/jupyter_execute/5e3f2af20ecd1cc65e59efa847be883aae3634cacf3ba80649702c11ba235731.png new file mode 100644 index 0000000000000000000000000000000000000000..f583e33dce42962e330d51d85de9d973622506c8 GIT binary patch literal 12382 zcmeHtXH=8jwr?mr3MHHgx;*EC<&lcDbh(0qLk1< zMT&$XB_M>N^kV3}o*BQr&pG3sd(SxIo_+71d&iJBj^r)tU2DzxJo9u z5eNj6it-I@1Y#!&f!Oi>&pq%B;kI)Od`Mvx46!=SHdxO)uGR>(JJ@@U&R9qE-P0b{ zu5M^&r^`Z8LZSkv?XcK;Zb)Ha%)g!>4BTYjJ!K;|1cK!b<8Mc%Tm~9} z5T>ZyxTfnBNALBHW?g(xGh0Y(mhu&f{(0)^-_F+2AMDjS^Oo1iZ$Z>a4E6T$4Gz;o z{>d^nXQo~$nMw?>$%vfgy@+?bGRa$VQ7QCx^6^7AzA%Mqv06o+xIL9cB5qo~wcPvV z#8|pd=Jcrd#5f@(tDo@GYt(>B4Z_gKFecNFSR{OWBwU}}fk5P3`%jNQ-H}&$KM1Jm z>FL!|D6j4uSFeSO%x=@jv2Wf`3!N=uMrLcV7f=?OdU|O)cI}bm*o8pE-7oiDCI)VA z)%FGr%&IfDQ%I#*SrTDn^TCn9gDhx*6 zoo%Ykw5Cjp>V?vEoIYmZ>`VoJMhlqC`5s&?Prua`iavgciH|l-eLHZfAjooUX_(jt_8w{TG9wE6Yd&Zjp@=(#(pPbQv+@cM#grh*iStBIxV_rWcJ2` zDt7UQxL)|lZ(B7U-nZm!mk$tf$qLoQJJ?27B8HbQ(5AH_o3ko*UsJdn$;0=WuA?Vk zI`;?#Lqwsz5i2{cWaXSo?oc+}^&(gN{RNX!``Cz+3q%nb>7hX4{@hLex+Q`LEkl!R z@uUkC-z%ItH*m@};5OoZ+tKP#)<0_p)~XXdq&ZS3-Dh3s1cz5V3WMY;{>H*8MCTX8 zIi97`j2yua{oNz)Q#*uvJEp}8#U&KWdFo%Rl|q^!8PMVKXI}r?red=!1ESD^CXRJ!N;nLJV84?E-*C=&x%^h8ucPvNWO)@gP z^AE(27ez%U5Qw5Z)qDSmM@76KibZxI^kCJuo?^En6eJR9&QUfwtDx2TFtV{ar+M(I6^sj^5o*ie6z#sKy}HlT#DG8&wrH9d_Lf_PA^<+ zlAe}~K8`?G1#=qs@$>U9G&%?9=wzs?8CQ7E+bE>8qz-c{zWny_!L9H{g z2n0U#P6Q%DnAEnTWNDg=KJaOH*4$U_>pmLqIgu7+t}Sx>)>qVMb0Vpxrshk&=XBreUl7bz>6|)# zSDgFab$1(waLJjQlMLYB$t#ZEj%di7A$4Z8wrVS!JtQtB#v@BgPgk_Iwyy25J^eS$ zfPjG3KM)9Y3)vCf&ewc83qPN7@d}o%j=T}S`{mDG-|2F8k=ytEP>CJcCK(Q-a{cgp zw^4O^SDw-6<7Gk zqfc)m1&orpVQ6dGUV;A$^V4Z_}@>i|8LyklDU#t4$iJ;{J12OS3EPq zFGg+}m8!u~P%n1yM9^V;5KiW%Ii3)AU#Sa4+KJL}q3FW}c0G}3WzM!xYgI^vhCTW` zPUk9coLk+w=O|CJkKKEpTsgrr6hsG0T&Z3O1O0wf5R-rft~0OVi#!nlz37aGAp$} zk##1v#KuqVM3BqP03pduqsVMQ-wA5_p$MLcp*>=N8eCj<)R?qldq;eIZfd|2qczGF zFJ#f+YQbs&6Bi0LVXs7orZY>*tw1UT$=tk`}-8W*D zq$D#+|JK6erD1WVYJv4EiH*aRD{WK4X3O*s{);PeIO(7MgY8Kxrw4mnx->VZ9uZT+ z4zJfet3Rfw?dXmh%2yh&XY$;t84*3W+b=#vJhFH7O-8NQkht2aY)}~hCjLxf?dxXC z`bp6t(U&QT5qDioeipee{0+~u*;^Ov?X~b#ri|-EJSBV?jm2rk#FGS7+%bo~MwUHw zgO&7WqOX-zsI?TuFSv?M&OFc@b?*1Ser;7Ii2Ms3$|FuzYMXg=-$YM5Uo||~bz{OH zG_9GrfJop@|LmAJK?BMXADCeBS#)@J`9#FA&`z--(Z(u#kY7SmtuU_rCj7`$rP-6) zei)a7Dp&AUY}gx-10n~E}wmf!;U$Nn?0)8l9(fyObqfU*YnnFDa!tIPKv*2mSV|1 z=c~56jB~eNx?g${oDSS7_g7P8R?6BFv7|Ch?)tff@uVx+tC_~W6Wy$NzrOU(mUKMZ zGNvWRrZeviygSAm%yOw|S(r0<+Ct{b_;K8GllY9ExQ)GcY1-~OPX{8iTQ}Zr^i{?O zt}iujr?Q}&u_A)%wrxt0=oWF?i%wnk`)XP1=g=1NrLYaE2O@!}pso5fTNA(PN;@mN zv~J{wS;t<U(~W!5cr;Ir#rX0Qxfj6lGS0f2XyGg%7BVbP@0!UGLLh#yvvU30 z5fDYdIA3`*&J8y=H`iY3>1^h|NbN3mvu(Y?!NEby%+z#o`QYm2#()lDdU{RLm)~d} zJ&<>&YLA|-?pVBMUrTp^16zoqIHp^yfK28k7fZ#0AqJ#~m`^pOd(A5%Tj6y;}e706c3+`6$H}mMS4o^L1?sd&# zy}NS($iUcdK)V7ccv{xx%jmTD6_38s)XdCzr-C;U&iZ2P)OLc-5!%b+qStrrWp1wt zIf*aE-;;coo}Qk%4+?||AFElYD%?h!s85cWXKJM=s)Pdz7+zl2)6@*j$NYm7Bmybm zW8Hr)9ZHK-X((InY2pP?Y;0`Z75=5>0jtBWx|=sv=c(VnM@KJB^}b1d4D)ehG1|co z7k$|lXYNZEF9%GY=&uaC>uqEdb2jW5J3D*0qQAYpy{^8;FWQ^EJ9q5fDLdMf0;@2z z5PgV?Mi#eiI#oVbf6-?!L_*AK=11z{5#C#&&7*B4?vsZp9#cI8S>GkQ)>M@YB&=ZF zRhWT{xr@U&h zU!+SAi2JFWx_$`(YiO0$b5W+@`5Q17-x^{rpHso3)-rFkwHI`nXThwEw`EKcG7^y0 zDnRwpCq%1j$#hZ=@9~57U&GHC=URQ`QwA>M6U*rq!t%dQ5XMBgjCLSoLohT(IY3M@ z6IbI1HX+YFL`594&C^7rlOVEjOiGn6PM%4zbDJUU#3- zSMo&key(|M;M}o3`h=WB$*WZqMi}dhlNH!zymifAXA4v+t+RLQ(O3Z_t&`sR4DW6~ z`aBCB2w=JKR-=6WQ9X+fpVrl5T7HP4&s-iI6B*m{$BZHc8L88uZd8cXWUK zs3`UOQEEcT73!6z1q02#`S3R+%2b_A+B!WVd}JYpzmbI~CY)LJ*5F#A68sAw5uhT> z{uyl_TV-#LCpur#+_gWCN;<9Tzdu(ud@>4sJlD~rK<$qIjQ1n+wfTf2O*^fS!7K=a z6?zB1UI#hVF)%yKtJUwL1HT+4<9=uRkML6=Ck->__Z~y{e7tVGDyu^CxH0JC=^1bC z9hhjo`SzwLMgIaNBl%QiH@AzPgu8OM>jq~;(8F8|BUzmlRSh~5F|wO&CdS_G1rhQR zE|Zby$MfVd7BRldpY&CpmMq9J3pdicKOubn#u&|c|qZ=U0m8;j_7s24*y-7!RayUwi|X5cV~*ZG?k9So;s)K2MU zURHGz&-XOvXO<1sx`0BMrj<#W96KoJf>gYI2e+MR?R~9Ziz1Vr6!)=Z+iI^rCzC)^ z$H#$R`9r(ZCCcJC{)_dPV${^2j;?Ndc07AflAsAWv#f06@paHTQstw9HRRbyqB%+IRDC7QFtr-!@OAO-8hL%g51E)gHdL$~p64jile zMiH)jcezPYUZT${r7vI|BfHqHgPeSq*BWsMPCZv*>Zge3%uY||?Y&pU#Hj7WU5Aua zTK$)MqsaH*k?=M;X40Nh?L%K*xsRtsT`B=J#wS(iSfU1M^+wfGmQGAzZ~E5e`ecId zRLlBwrErx5u!U?p@YVra@3#l~cO0((m z0SF);5F^|Fr#^eZFdpdDSd%R2V8hEZtXNK1sF46U?!E=$;*4Bik7m{BHwO07A zt4p$i>V(9OqfjP=PSm|zes7bLlZEKm$&T#(Ppi(e9fT{XC4RfA_;k|i$aEnL#iR!k zE$@W(Y*)FjXQ5|LW#G1x91Q4mJUjq&u(o)Zl+$$WB?g4wzoqmaB(xU#z-6ntzi}Y3 zW0}KDOib*Ttdwv5wVMiGG-o6R5WQpq+UM>`HuT0a%J<1Rrh|dYrTynB%*%ZWt|w{U zMRDRCdQ05d#q2b1Rx!4rcGQbzs)2F9V0VVv_X?p{WM=Mf4O?s}967J9n~3sX;qgEqzFA^RS7hcJE;H8AsboAII|PGL ze&f_%d;akAv4;nQl$DOc?eix*W>>eCD@kk@^;5YIz{DH7uj?8pDLsu8G9&hHZ!NRS z`sDkeELzv9UmVL2I0a|$yO*vw(#UF-wYUf#On-$en&TL97Ywz7K9Co%xrQBrmryQs zvKVx`VQrnJPcqM5TJlg~2zm#gWDaG9K|f{YXoWH!I}&3%QGb!t4jc5GN}f$)Yp-X2 z{M>!G0il&X;MQs8`E_(2-JBp>-_)coP`R}>Szu2kz7B%*R8E5@z$NV2=H&qI( zD97(2{-CJv9r$Z*IA_rqj2ip6RB}#^`h%;d&;2#KwCd4;7s4IFfvc1+Wp|F}3aGNk zZM+vMUugZueG?~qR(?Jex2|U`U+(h_zHxS~1s{+KAg}E1?(Q?0UDz7-S9Hn_T()n& zK<_S4J!XattJtJFXB8Cab(*?`^aXDF$Gg;=7_S2@AoOrA`|NYYl#-1(%3{Oi=CQ5y zX$=Ej#{7?UJi`N3A!BH*5$CKK0>ZUNd-#qYoG6=bYAcj?>g zTdPz+wmXs?SeId;uoDh~nCuu6u)W^z@cHq+ z`mbMAjHeee@`TOH4D)Q8I~pbW1yp=s0T$%8=j9luPL)ohl=5Jo*fLhQzrt*=79Yg} zZ+8(L-7Y;}Ie?0$Y87g@hp>y^O!S+34v`awlR2N3 zntFp1uOu!mu0nBO5Ji2D_N50`@8i25-7A!A=Hw)9Eo798CipIZ2#4O@+5|dzGd6B$ zd0iY-vuu+>p$`qY0`RHMP>V!B8La!GmvgolNaZ<|?HQKsP^@SkhIZ+o{H&LZ`?&hY zGVggY%bJ5~agtha*Bl1cFt~f)FzoN1ELyeg=Gx+TUD%~gi@Qeq4d z1JpeWSMq})K59T}0gk_j9a1JpxsBL0#Yw5x!p=XD4m%W9M`mj6>#OsL_dv(HkA*lb z9tu~*881~k_{UY$Kmz$e!LFN`EiNvq=wL9}`q{>5ZcS234ju1Qloa8T*JDf1G%m0r z?Ykr@W|>wu0~k6NuzhtE5%^Via_L!f6d$ZZQ@pg!U&zMz3N~W+2!_@H0lD~1o(28u z`v*cjBWhhCY8ep^0fUi7uda?JlB_9_X#z01t3=o@zxv9h(S2fSixX7UPq#&^{}F2$ zWo0rPQt(=>Ih11(m9sS`8SsW%y_O0U3%itS>efoFT)Nm_iKTc&X6d_StgJ72Zhjtb zd~E-dg(|Ks%@@an)zOlSQBSzeuKsw$f?XYs3LIYpangka>aoxkz)4usq50JcYJmy-+JNKf_Zwq&@6_&I7F|+1^@jI|`un z!^*vQ<#lA_1ii4og8{p%^P}gddK`}jrE4VSfH0VupD%{F1_7q7U+8q((A+!+;B;Hh z-@lyy;zes38Fb(D&!0bIhZ*TD#;L#9C>*3-_a>>)RODZ|d3C@BrXc|bnm599@Ugl( zgj+-Vp^&T!!DLYG!M@0K{3?>#bKhVSxNa!@w*!Pd2sOa{R|`$&-Ak-jd58Cu)$jAN zqG_vt%mSSOd;uo97Dx>I^-C0y)Dc`X*bQtp>#QL(dpkV;(ZY6V;nP(j`Gq-ZO!Ss7 zTP&4f$WOnu8ZcehyU&84l?l#33Hcc^xx*!IWKS9U<f{n-nE~WD= zxj^xsq(pvpQ4KR3Wz9n_JJfwU<_qJy!~@m}XPdIsx`~HLi`QsCii;|!W&r_JE3Z%^ z=Y!!@KknOay-81r>-(-Xc{|*SvrY3_qz0UGP(JsZctI`p{keCM_ij1sakiQuhm^_Y z-aC}cm;VGBjW|E{@bb-tI(N%<&JfC|XnW5g9bXlL&rp!prl=bcZ?$2Gfrprd4C!Ti>ShrQ&)b5#W?=f$Jjh^S0NZ-z>-O_flIe z=LDY$RGiH&vK3{@FJF58yT_>C=(Di2qQ$~9{PPFa7kmy{ugjv>&{!tM+8u#{$4ok@ zvQ4x^U~Jy*hEav$>tSh*YSFSR*cbm~8{?mAiu~Wanrh~CzG-N+{5=5fc(fvg(DZCm90+s!VhFAR8u=Ji{9mxB&J+;XS zFIe|KIox)C$FA0dlL&-lhSJf*`udx)t3$8WezF8c8|s^xWw*ArrqXc@1_lOPZgTUZ z%?6g1mUp{Bu3Ebed8Ag#*pC7IAVK$_YjGSZ&0U4gi9(edu4dp$K{8%aDG&Jf9t_TW z&~3Tb(_y3`rnc7xUh+99i%7)6`%M6`{MMSL`icy5ucM}>)|$&b4<-&_A5624n9>Uk zl6iT1mH|l!Q|jE0GV>Wvixs)^(A?|i?iic7+tgH*SJ>^%<%{eg^`rAD;T<_Pu zJluVt=qcn6<*`H6w(y=7-h!b#A)K0O!wcz^9B+a7k3?I5rU7(Pj5@ljxc=WlE zN`FeHm{`7NPEf=ML6XsB5N-cP8jP5+H!17(nl9wNUb74kPry-P8jr{VuV-0m_kG_&Io7RDOU!I%|0n$y7^puv1=rA}#D z@2dE+Tnt8ybk>{2*#}2KE&`<0BlX<(;BusLd2nj#S(Y|Uydur+I-u8iv}I~nHhZsJ z>Vcrhy3z5TS*b_CL-Y4a4odc7N4K4Wn~yPe*_e09{I*2p8f4u6Nz2KYOZ9oMX@R){ zVTT;6W?YD&T`}{Ut=_-q5yK|t3|P5idwnP3{>%2k;AVWl0{0@FwwyT(`6~7bCKdz( zhN!+ttK57OF!w6aZoD;(ITZw=m`tVKk28y%7M-!;4hwJkHxx;gTRyENQRY4>Vahis zk%F)Kr#tJyxC`7T^#!5Kl3V%2f-A24xBBR&LjWZAcbu08Ak(LG<=IXeRIWwj=H=my zD_sT^89IJIrQ8QcsO1>IF)=xbFK+(#n!2DIRCne8b7Tx7{gy0tn25U!e6e)W`FonT zRvO6ydww+zxM$Xf52B*<-cpHzPYlt*C4Z&Iv)@0yFiWl}AHa@*5%x|_9U#c-tgSt` zdUbVmRpkg^h`*FiNHY}T*)f-GIX&N;kq;URk?8vdt^nJge}s21svd@1W$rht0KyR= zop<%oetbhzL`0gH1T0R>DM3`Z&!RS@`U=<5^9f$p?LF-V9bunOjB5eZL2lCOgWn2q`)9ZdoPirIvXJ&OWQ3u7yCs{vf>i)DA6AOdgR$=jZzfcU2aXD? zv=-(9=q-zagb~ji#>c=|P0hDZU%DoNT`zk>N9Wa^gU8U(aL~!O`{hdNbvL&> z9v3+%HGJNVjEs;3P%l^f9#|U@i9~I4^Mr#{%HtLId@aRS73{UdNlAUP+7A<)ID<}? zcO^n*we@6-xP(NObAQF9#=(BV(?f~EB5IdiK444kRldy`G<4_qeNk`K>;w|0*O@kG z=ucH{J|sKP)CfDAaP{wUm6XEH2ls)?c(wOtxQM}taCe*~RrVB#aSt=zQx}DtK={b{ z^bCOO9utH9{tw4yzV}vN4>PfgDSx`H37r}Veg4a48Qj*X68(NU24?ONYfJQtRU!)v zl}}x%-tfgy!B(l!xD+Vi7N>em3@rQ$z)l&*zI(Z_(5B%4y5IAY>1wfJDi8-HZ6ACd zKjrjM4!UDE)l;ml^i@)B^{a-}am7|KXwk^9w0`HmzBJAdF@j&bfPIse*Nie@sD#`` z7f@(2fHk8)J#b8@9r{khY#NTMC8Ep<3JTPfD3aOP+3c5XUV=O_fPMY4@PB2VAvpvG z7pD6y7)>~gE)x)MG@{HrVi>~ABs6ijB8?Sk`RG>({!2yx=H25LPB;wJg>_d32Hst3 zOWYd5roPm*upk`}F4IIMYB1hvYkGT211~f840dJwJ}d6*CfQ}v(&Xf`qFne|I>?pX zFiEZ=dLyr_DnTw#uN@P$cW}U{EI};?5XH@U^k{eGO0{qtF6;xe;L-0?1$8-e<`h8P zPojDDd1thRU21}&lMWJ&Bu9!;5saDsLa3x}{P;fDcv?J%TSgk+h`Ud;f4S5q2A{f^ zo}!jdR+7D9SFYR)4-O7Kr5@e|Y74k))<9P6!RJ!1{b~sI)!K+eWz2%}G29ZU40>@|!`D|Q>5_NXoe3 ziSd6l5!tnz%}BAzXGA@?mYpDh{N6txzn82GyrA~<{KDqHod0@0acn#zvE%)ns(hbC z`(6(kW-TLd?R+_$gB$wU*7blh2YfqPq4Vh4!@=W_DacN}#F`q#&C$TE44a1NB&L&B zGy}Gp{@#aV5BUT#KFo%lfvJnaz+_8`(j>@gI^N#JTcH2TgLvpFVl)EACP=64k62I_ zRM;h);>gbZIkpMjilEv`4tpP;RY?gCKkO~TNo{ZE5hM`^T3}4d6Ye1)JN|Yovn?vk zAuV|#)obR~H`$TcOx|13Zy{@=8=^&hHfC$%aS<;6S<{o3%oO&^OGXyD+$^I5p}`0q z|Fs3FiKv$(f4T!Mo;`IXH4L!j@xCMZPQ4{xE>Uvf6PY9YQRM^1#BHRZg)!}rl;t1o zW${32fB3Iaj5*d&G;4u>UenT(+@;i;>GcZj0Y7@dQvgA!p>ZwOmqHRaI?u zRxS0M?ttDapwOuxz96Fo=5>KhR|m7L(VYXc%F4>Vh+6^|F)}h@&Y%cD4bsVGV44J{ z5{rwC7*;IT*34c|a=XXvPMjAOp3a>7@>h>m!=hy%Y|5z?Jp(hwm;go4KR-X2^O9Mc z@~oVMjl)oh#~FnOtYGG}->9??6ek7Pacx1flJ=OZ>Xq3IObLE-D!zauOy+;V+!($*qybI}9z?zRt?IcgvE#v$bkEbmgm!Wc-@ev*UUC#dTSB7qxm`H&1+1P?VWNS) ze!Av`*FiTB+7EQ#8Cv@KkefnEnZlIs5TT+|p&dWz8osb^@I30-}%uygD& z7%J$R?*LAiIFP!($&&*Z2xbtTPvA;DV`JhQrxKODESxe)Js1q8WH{2~byQRaV@ECT zYeT62S-tlveh$=oB7pgH#d^+E(I7J;QIt%TOkzLnK4u3bjKSf+^56yRPzi_j0W26- z=$;}M9{`(tdn!M~@tAb~YSX^*EpEI_^7A9-CpMS+J3+L|p*fWbqEq)@wMkh)jA_B9 zNa5OEsb#<77(D{5jJHKHArmwv$eL6IF||R7h#mWO1~f&r@P+xrZPUS;kT%8^WLRSG zIEJF$L9!s3m3p|ZFOtgUZZd30MtYbkUp9|;{n`#hV#3yy9jW^|8BYVBFMg$aa5l53 z$Ph#bkGn?DRl!3bll8+FKJDdVoLyUHJ~oJ#>i{9r`!gwUXrU*pb7$x(xU4>`iOo@B z&H%Q#+|x(%1XRP@px%6qT07m&Lyi;z@7;%ZKdhbUxW@BY`4Z1>8z;5_D zIh-i-kzP~--)BRH1(SmjTUlUAjWZrMLCtcXZF!2CL{d5gL6A^7 z?|S@w-+SNt*Ja>vaL#jfuD#Y=bIpCiRF&oNaVT(5C=~vE1(`=E)FnX_3a#V{CcL8Q zBBKuf2|LSbJFDB7I=dM;K1V4TIon&?Ia^yiyXpGe(aFNj_70~oClC8gb7yCJClM|# zoBw%$)6UV1YnXhK4jRF>SI}`np{^Ps|IqRzb1k5Ko%=HPG~82v&v@vMxGZ9B{}jEW z&pUm<6sk{?!Sc@H-Ev&ccOxqcS4*wr(PLvP{wa=%vUY+yQ&naCy(1M30}RD7gq`Rb z*Y7E#)f)LHZEZ!P>HfW9Zz|E=|JS$Cz0r{>QT~zpVQMUUA8#o9um?&xqv+vB`dKX< z{1@KlC@mu+LmIRkjJ%7}hfhdIsB=A@65cCgVHbq=Ow=^8&=ZrDbETD)2~ty2Z{Ckx z6@u4C@XFY;8ycw2&(Bp^Y$XJYU6yY#Gh^MmcQ4EM8X=(?o5}O%bllwAIfJEjj!Qp& zT)unp*}>J7G!^M7IlHhB4<1#T>$dCq)vL6m@wUAD4$`|Cf{}qWWf5KObe9Zza zy4$z0!@|M_eAB;udvy8o<-6HKck?wCm!c)RsNJR=+J7=LGCpm6i4h!%^kL&)5|dI` z$ljmKk2~l67k}gT@02rNWo2arWo5Z%&*%;O&RqJF?qJos{;pg2yR@{VrmH)-8y^?< z+<$lc+b@&rZ%5~!seMqBkbte{k7n#EV_ys!FVYLaCcXvT3W(>7TGHJox{f0|+|zI9 zak|qT6Bif6p;yJX?$X!WJHNR25{4Nti_>&qO-FM)xD~psX1xA40B_$REHpIl`CN05 z(gS=-0leF{Z$B0nu$knOk(D*toUR>U6+mSSuVoCGM-Z0EHl%K#PzimVW?+_Orft2E zZ{85sx&HPXHI9mk+TPwa_w??4d;7|jD|e-&E}_njlWJ;&oHr&2DIzf`1#LTCk+79G zuRVJ6^Wu(5B?oF=QIq;tg~$X;Q1R$3Xi(AA;mbgziK(en=3zFYhL+aiT5fvRhX)Ds z^Yi|Bc`V*%d*kl&FR(7>j5t}D;eL>Msl}X~mqpsdIbbLci!2k&U_B7Y(xvN!j%qZV zi+bsZFCcaYHS~fL^K1g%9xG&;YZi8Ub~kd}7Kg276Kq@oP7(Sa4JS1oFi&%KLClc~ z<5vvGiE1mEzHv<+vEB~jTArJqkdsIhz1-zbF<7_I17{#c2p;c}me1^5rm?y$&<<;pkBEBJ$CtmLcSMHF#bjmeE~wZR>3>R{EN_ktMe~(^*NBN_se?@n+Ls|-fCnyGM^GAQF>g%ux zA+y;ts^#IM{`>Pg8tUJ&$ULp(xfF$* z>#%l5VR^jn%i~(!^fY7`IS^Wf38O5sbntiA3XwB$SV3J5!U9o~fbd#X4jk zhhej`Bzu+O{@b5`<*v|kH^h_(lQ8=t31QJq9DX2sYXWVD{xhqbZbxI8i~5ydvl(Pc z$YV$RsV?g3xzdD#b+8P)*wB2L`t1~3te+#-VFVU1G4g-&N+N{?a6sCRv4Djk|F;bf z!oE=0y{4CCg7z4qli9!lw7RBW|? z&#=?>MPdiK{~DjsXZaCz`~N)l;@VYtR7)rQzl|nO`TjN~2$xJMma+ex_(|}fPLsDV zCIQtIK|#Tq+FGN-?FAv{)z@oMRga8oYgK#xt-ZCWnk^AAajErpUU0k9yB^@<+5)ah zgr^fi_dSEjgS5;+dDbc zuQ@dztx$@c?GCTbHi~9tWo>^qOTU*pYy^J&mg1BMxHf)4@}RhB0%h1yleWGAaH>3} z{WtJvB^o-n^fWbt>gq&l>gyr)fKPh<{Q2X?B;D6uq6$Q+pYr7$nEtIZ`J1nf<(8wY zj7&^)baa`TTas>@`iCbca}_t37#UkSJ3p*(u(0G+I_M3|%3)sw|DGq;*MLxHqS4l? zq@_h_I*=S>*K~xrzrWAndjae9Z1kh1HcVS-PEtaG=EH{%N_ILrI@Lt=qZHKvX7-{& zuup3FGL73Y4Dza~s{ScWw* zEG>pFFK0M25b4)iz!0WT$OC>-|@$ z;rw`gqU<^D;^N{%!qJ-|eAZZl^Z)icn@GzRu*26%tMLLFCuirtkP!LdCH0(#_wL@k zJDi*<8%}C8+u)&H>&PS}CG|QX0Sl#CFbcmpXXq8G+ZP+i!K7azY|{H>%6sQd3`F1E zb#UKVRaK-1vtC@Mr>DuYv%V)bFK(yg2AD1N;QycHhS<3N9eP#rON)syDq{~GtDtU> zYo?x-=J2J4V-mx}yBA^{9j+KjtrqG*&GdN01M1&jggq~ z6gqpgYoqPfo{#vD0Haz$mMjZ3o_{-n7ql#Q^FRL$jlQ6#$ocT?znKIt%Vlf_i{@}9 zSp82(dj7PQuxCg)=%yPM>c4e@Xx;iRZugWxH&)X;alOCikyU|#XfNpq=GQ)d`34L| z2NNEwI}}C#8a=)0{9n+s0sr=tjwY%^{kE!RL1*V8>yQJuy-65ItA-**7DY~u^0GY= z_g1xF+g^OZ2dC`#0D~C}$MQtmw*Rh~q))AIS|7DK^jQ6BxeL$PlI6dUTj#_bHmTZkjWU#XNL z;cbQ}p7PF61$AopD}ZFS*nN>n=Be=_Znc;AU3C9>=t)j^V&UhrtK+T$Uw@gTvgKW) z4gvHw0H#VD%Xn708LW&LsE%0fis0K!6iHLZ)QSIRik2xb zEd_Zle(N}#w^qL#))XuMWeqkEX~|19Z(my}!bGM1$a)52*8+TS=Lxb%D{pa>r69Es zfVPto?~s^T2yCs~Y_Ms;N%@^vSQs%gJtO1gSjL6MgV{Se66#?D z&KRioCJBy+v8%Bq%GTch-zZ;GQcz7z~bWKuy09PZ;OdFaIib$Dtm4h5&kz} zLIYb?R#tA0KPK#kO;onFwt_yk#RiSrV|sQ*-`?LZfiy);YPhUgjlQiL8}-^TU&i_d z%t1im|AX`?mzS*gDBi}!J=rte{AX5qdx7yO{|DS-V`IyCMFs|5uBoZvYsA37Apc#7 z$5fX&{odr?@vnUQQCP*%&CPBID~=KS{{8z`2nb-#Wo2dDkYQL)RpBH4|M-xDkd`)D z*lC6Dtgf)Ie*;(fp+B3yBq_;*SVjTZb~Vaxg^ucv9=!w)d6kos)9*-MCw^ylSVg*E zbavN6K8gx5Ff`BI)uG))t%A;X;$GVeA+%EevJC;|S*7pazgO1o2@^J1POvb&)fip) z7H4_6wwjn4!Sw^?TD55Y_ut%VotmoG8T8rzZg%lUxIGwOT2ZlAGg>J{0AEc_Em73% z)4f+pde3to(f5v%-~RqV$T$Bj;(hWkk~M9eMV^F9n0t5}8A^12{*3*k-nH=;kG#CR zySqD|xWx0`>yZ8M6@AVxD(cKv&rLoT6&0oY{P{D)g)6wYR%&uiWYnu!T!P=3ZV)dq zBfeEFWoQGVQ}W`}Dg42gqTc>~8Q8($Vkbw(Ym}7X6BF7$R#p~&SI@~=TeH*nojSZ( z;SEYeon4>D=46FD!7|2Ft?d}QgF zTHJpJK(4$`NmcdQ%0NoU?yj@-ToW}QfkYl-Oo(CJKF7|Cw{B6~$sH|KWBvMB#ZUUs zL0Jh93%_0g!44&_$(5$lKM#;e6jjekDJtR|@Ba?Bov9-iN!PT}cWbx00e&aB_`8+u zCuBikJK8(L$zqa|CoA5B;RP@w!>-gXkhA?*P_Q%l*wAQuzV*u0tKAugzMlscO6K*L2bm zaf2U&Jo1g~vhN1v(EP+@BU~vWMU13pgTH>-d2^cF!ongnGEx>YxAXn#X8v^%OiS^& zM=w@UWQ?Zz_Z+pb|7HGn_`Gy20q7|xDz-tk%wybzM@mT?X0wHf5=!=vwI_meR+agk zLGVF5JC7+r-HXk8pHTkUNla2sVC|J80~EDuL)loL^exVNTK&<`U#F$b{8HTwnb?QN zDo!0WM#sYO0gsPh@>%`3B`i!1&@Q09-m6@~+|iMjk79rWgF#%94C_#2ilMj=^LB#b z5c7z%Gb6;B^05tze53YY{u2Y{*#Hym(%(-?*JNm-Oyf$XRZ}!F^Sj^ONpRTqCVcd_ zS55oV3$6GClVT~a1J_V|$M&zvv#YC}vVUcq*TLq&V7@M1rMhurV(}nz9WpBbcs38U z97y6fmAmV*zvq1%H8>DvF6%4dVY*suCl(3AcYpSjMb336NUD`KHZ;!#T6q}|5SbQW zo8_gt6qQdjdrjHqWsX7kL3Mg(uGg3BrUg{*(`eTl6w8s|MGxzR?tXZy`baaR9D`&c z-5~JnCyoPO`DGQqH-Ydrd-9E8=Vl5*wFlGR_Ha!ohR`@wSsAatwR)|mi|+RrYbYkv zmSy?TZG%HPa+l)SR^Y zxI4&PrlGus!zAwjr(M_O>{3#EKoL>eX)4P8flyL)dTcq5!Zfb znb>E3>sq*vh|Iui&AGdk@(*dS5b*>kIfn!ADadIc7A2E6+C+9n4x79ja*hU@%V`Dt=1^{ z4`bq(WlM)zVc%0BFufA%j(BxE1G zy`R!ZA-3T)G&JB5z4}z_@Z(k(gCL`-QX1)z^~oDgKZDgA{(O># zhQby6uxKw=dfy-+bTS?WJq-{^ZGj{dJ`+Z~Upw9PLR_L#JsW#-Bwe*_gcG0Ky2L;h+U!&jQMeUNtcLK0I zpjnNomz)eSeB{V;?9SQMu|0=QxK?>=n~#Q$`Lx9!Ex2E5;A=sEs1{X2XggW$nEyko z*5Efi97Xp^mL1223Q#_|4&}ow$rVJ^h`pi^Zy2O(&e3hD{M4KeE=;t~C!C)H-7P zo~#VeEs_JkA|)+d>hx3jGQcLWlFGkM4tMFHt#>Wl+y8HO}3}bf!2hYOA)x78I{G^ehcVMWWXvE@3ot0drEoV3{e>l@FPjqv0 zlS||aeyz~N(@mB$`kx0?>Gyoe2VVf$3Y#e%jMu8JA|3=jKtSAecU7%Fkq2EmgaF|5 z`}Y~rSnY-x@}3K`mNh~X86UO6hie;T-b5_*bh1q(#$p9sZV>qt{#lvMw#duta+cR? zHdd=jr34S67#DD3M}vOn=x%OqyBpt$U0q!PKuZHJKRq+ElYViEh04$>D21aG5W*xL zBqgO^;yW{ti3=%N`hU+1Vvme<*Zh78qN7@;3r)O`2*2MS+U2`PaRwb-$} zZD?qSoR<9jd?9cbsGGdJL@_ZjN`vIQCZP*N-&{I_YK-MA(Fn}+TbIyfbLk$G?`cR7 z7&ct;qQqF4COjJ7dU~r4tM=Km=)0$h&e+ADB*Xac97|_%ZxJ%n^EPPFY7vr<1m&^p zV0q{ibWy8^aFI&KKQB+`&8W&YC}__b$Vd5iV+FR2cN*Ad#V3jK5~Zm8pcgKgbB_kb%A^9X+ESDb$vQr z<8TEZU)Iu+6jb%W~btJ=^Ff8KF)HX#%CZe0PqEfUmEwf{KdWabsJX zR6A34^9VRf#h}2#MN9pRisTn`@e=cjH1mg`CKJA&6}Ic)fUONS;=9uE__V=C$oZn_Q`f8DN5UMda=B_9{fk zAGodise1g`uadMJX8AUrpP$!QwQ&8HN0wlWrny6{$ImpkuemC;sFs%)xZKtg+};N> zZdb6eEkrt^ALbh7VWH+*JmM)W8*Os`*q=KxrT*4Tv_{JoxL7}0AhdTVxo2r0+@#b` z1i9(Mj84gSLBZ#x{3Am{gz4UY!tSA~_3f^&zKC}Fu=LcEaIij8E9N;y+aE9Q8t1h2(f@RlH;l^Bg{WB-pZ%L}+Yso$x*- zIXTP<-QWDtkn)nA#3u@VJo{v*)Vh(0zwASKr(c``nLB%w`2Q2jI zaYr{C@A#g&qmF;aspl#;{yMO>w!TJ0)RxkMu}1dm1(WEP#TJiG^_lTU&-^e^^IyI+ znQsjNXd`y_c*wk=SRXO>h4fkX+9kZL4F(Y+Lh^g%xgVTGsNr|A+AjL#%a=KZ>&_zP zd=&3Ld|3EYzsYN=Rrdl=I~;2JTK$0CzPPL#UB_7CU$4n3D&W-$lgvkCUy) z?@5Y&Dk4mPwqP#d<=k|ECr=A4Fo|jvuJ{utRkzpE_;x^|~ ztwZ}T7UA!XU3O7bXjrwI!O2D^YnOnlYcEQ}?{YaHqwfB(8HV5T3Y}cYHUGMu-Tn5I z16PD3z{}HFUTF)$?fP=BI!`Zyjmr8h%g4gbq*EN3W09~Z8PkpMvtz&EtNXTBy(mA- z^X25KDkKV4;ojn$iKdOxZ3AS7O86(J=gR|p@UKIPJhr|T=rEc?m*(1ry&R&?G zM`2-MAyrza2M2$V z{8hrK;}?54a!&WGJrT{2%&VU&OR~X!Ax8s}QCz4b1bi?=DU#3Bf!aKmiGS|>*XtJQOzPQY-f(%f+T!w18Vc3tn!EIk#Nh6Ok+I5}>A;|% zg_Eu3=9L|QcmxXz3mgQh|GNxRf20z-)qEi#7ey78VBm=jb@jI9^F1zb$LO@ahYR>~ z^4UWfg@qd*1s@3H8ChBml5?`=6j0Y|yc%h6oXEePc#ZO=NR$rw_faw*>6y&@aXKUQ zkHEV)hwJLwlCo?2d;DE7`q2|}INp37qOgqJNl~+di010ev=nrTsO&-M&yD8~ zH^^CFt}phw9f9eVmFJS@WNZo(c9VJ9UP_hP%h7%iQl8vPKv>B!KvVm@(Mzz-dF>^c zfjb%mXM|AO2Gv95aZogsFu2W2$hNY^;lOXb+g4XB(}Rph`5B`I^>N?F$H|V4jvkB0 zr>9>vG@R4=St5hpzPE1cE2?*e+V7YVHAk~3wYajaI%TxKeFfDrrT0x$_X#spyDEWS z8-V@VIr^E-ASg&i>%EPJaCG+qFoA8q6i&)fw>I*15AQ!g0%#;`J;TGp+kbq16O)>X z_u}Em67`%bBd0muG5{KPVo)S|jB0s%Tm2d>?cAU~kc9|HexH-G2&7#nkYhXj zcLpnVqm70jui0Ji;aGToV3XxLVyaQWHBD9f`mlI{g#_`XsQK_Sa)oAnI%H`^IA%CV zAPez3U7~egj(d!xtA@TuovO7cR8msXRgnb zhn{n@NEzC?rW@6knnKmU+Pp?<{)JHA>}_*}0Qv@Q_Fl?85%P=kqqlI{Mx+J|R8P&k z_BUF8ru#+F`kfNu1YH7~m!$F9DAmI$w;KPHa!!HTtlyHDMuN<)$XLb>Yw-K<$EpVE zSj=9Otzim*MY(^}4Ai4hkFj>~_pVXrDtRn_`ZD3P&+D4=r0dJbCA_dd2+Nq9FUue( zEG+E46e$Qa;EUD(tR+bCwaZMf9UUD@ypJ4re@~5T3+D$xC6jP*h+t17sX9=vbX1-b z4RvcDFHovAsDopub(k=Eb_@-*U2LeFS!IBj68~c`r98FlYgAMbS0xTn#J3){tPSUu zx@{Re1bQ2EDP8>vMSOgUez(3>sbjo+^ZH8dhfyWL4wa2o;xN6Xq)el2jj6@cWkqk7 zo6^oy^p-iM36$_tXwXQJ!1<&tOE&x(Ik`o@z6q*bbUkFqEr(?LE-zaJWXffDyPNY- zPp_V%zELRe3ml$=vY=W{rUtW0pacX%lZT-l@2xukoHTR`7f8xApxd-Bdz@KQMk;^D z<3SBSAVEoihxcdt0;udh1Ls0WJ^#{CNu1P9i5S3S@VtLzIDO%?tc7x z2fCeAbIH8lx{bGEDLNq4(iimW;oY7LR)76m`7cq@op?%IL7_HE)}TNq43Zv}!t2x_ z4>NLJHK`AJXtW-R!YI)?!t27-P#ewts=@V*hW7Qj|n?}a0A0czNhzjk8k}1iJvHQ(T-dN)^+CeVz)@>%ZKEgJ-Ah<^+qh$Yc9FZo$`{9W?J)|L{%{^sV?Fin>g*(Ao+)r-p8L?97@a*90m za-n2=Ku5$g$P-spv~3GzmPSTCja)MSReS9l(G&KM9gxnmFg~>wd}m|)5aDF<6VBuJ zz^6-f6Ssu*g;Xd+_{flA~O(w7`dh1T+`&(%%UX9CJFp$ zY#>Sl^^YRUbs{;JJq*;TqnL_41uvgYe2VM+$e(ZD-gp1_o7>7=2sJ;zk@do1K=EyK%5J~0X_P7(``q1Mk z*@(y%Kcy#s%*LBm7WO9)=Gc>4vDpkdbaqf|DKAS&y@T3Lf-6drcQkZ;b zthzdBKBU#h!Rw@5ZU#kM zUGB5rH~K)20-j30E2yWf$8W@JUnp?8|0P`;d|R)zXS)$kEy zDQtYROfG_hRXn1D__!g_<zdnP z-8Kx1@7Cm1^foayz2f!)u;=*aa0UuNxJ0r(zZMD^6qKS1?GhI=s*Kus&ZM?WXM`+` zKQZ2Kds$!KB6oXXeB_d~Xy=+Cy*flC#{<5I*+QF%M-NxFq>PxrLW?K&E_e0Lko?A?{1Es?__@LW8~DRyBk6XgBpAs;W)*R2@OkeY>Go^$ zzx+31ExjxLrb0;5fS zFNq0tB;qOC0=3UZM(Tc8o4e@mnt%EBr_bS2#-%DnjLnTjfQ$UYp_~#osMdm@X7P92 z$$=-P6iW5MG9InK=^s6(*!by!XIkW-XlehREcLg|<=o7bSVnBzE|(WYiZ76S)L8M| zs)7t@|k%TSd}x;S>enVV4r9wyo2d-8JRZGbAA_OR8Zr;gnIak z`tn^rb$6p6IeUt_cg6{dF*^DfSd>h`E)Y&bbd9>^qps{Z%iOEQw6jr$wdr{V14Ctm zH{;e})MhEO8SfFk)3%PH$bG-Lx)I=7#oB6-$G>6o_V6GO%524c&7tr6*^usT0k83= zI(R6>?&@=??x0Rn+1xife;qbs%PyaZdLnci#EEGB+j+ykfcY&0&EtrPwVb;D(YQx2PtDD!s>AM8P^q|8r{B}!;TmH^R4H}60gY4W zsH)Wd_GL#-b^$CG-6z9iM#}efqP)B?vsAF$Mn=}Sw{nTaPJ(;qt^9RM|U~NH$&p{lK<;h3rKX4Y2Vq;DnAd%d~6dw|uGS`@f%~@LSKOZPamL3C9f| zxVyxe4*^#7_L0h1EaH8POU^e^9((NL$Fy#cgU>STgeIH-Vs&x7*{vM8lw6i}h-=0X}=~>pQke1oNkTt61a1-q{Bdl`(vd+MR zS^jc9?4G>-&PRF#6qU}>AnF)GqXT;)(3i0hA4f}6yr+Y|FR-CuCB~o34wW2*8fFSt zR*e03Y#mn{I^y#*VQ@K+ezi}1Ccs#xIE{^E5Q!Sq_G8BqArH0LdPVRq3U&uO$X#Ud zNR%Fh0;qZ&r`HM?NlP!}qkyAgFn+q>)( zKvZ5LnKs-eGeB1{eHjz;8OU>l9DiIPpp}Tolnz-0aNqU$&A8#+gI>1cr{Bw-AI=9{ zwf{A88>kX$1WFHO%PXZ$izv}f6XM*zz&|um&IkOoHYJ^e@(&Y7H!4_cVMX(i66das z_SF^gRl@mbRSAA2Nix$=94hzW@Oem=s6ZUy4k>J=R)GVE8P+BIfY&+fmOOufybp4p zJEr|Dt3%mH{zS}NtxPRO&68vFV!gXw$kW&yBG`nFoL|+zdxPJgTXOp2mz_2L^I3Gb ztfsr&2{}ag{&(L`&GSGo393!djc36cj{8K(Wxr@_JkyL877{|#{(`49|5x*=wk|GS z!+?5ftjPJr@YA)_t}^fRL<}9w;~>v%Ys$J;ZyNE>#SQ$N4*$%3SvvecRQe*cKXu#j zO>FF?N?m-&xRK?7{7Clam$c%OX@q?M32Q4{YRDX3E3ugpKuW+s)d-#*f{e)C!NI~4 z7YB!TjJA^%sKKsn<=NNIqh@c!YB4XJwCkY!?>8Q~z5T>r_~vSt>)#M%%=4yWAv*%* zI_!nzTTm$hHO=AK!5pHsc$g+alB=9nx9K$Jci{sHO$Jt0oT{oS_mw0wLm#X?D$Wyf>Ws*`St5p zN?&hL(fXVj?MORkt7lX7M%r%$fp`B$KS#+PB8=^sE+z1X6Wk_MVxz8!ZVA37Cuh`V z5N;7>`7dL`^l6fEZh%~N?V1x@jv$1}^zpIh>ETjz4OB3c-bPUj)T;X(3Amb^eyY<%}BkS=k0j|fDEqKyIi9T?tjO4-`!Y>50rk4&*SHtPdG!PWK3K^ zNCxD|!z5k|sB_%_IWD4se%?nq?a)n)^6&5OFCfJo9~qg4>f=4IA|9hQkWpPm?9|@H zg=Ckx#CC9wkRa$X@Z^Itlts=T%Bt4tf-I_CuB8S~;(+4g)YzFB;Z%lSt7+dBB8>5f zF=4A;sf8;$pdthEY5ABEJ@Ky(?-=9rrTr^h-h1YDLk^RvAL_rAnme(AICANy8P?rc z#-W(J$k)%wub%yM+Yo&mC_z2F^PAWwQ+0dms?Mi)?+bx?e!-Edei~9Vz_W;eX7$om zswK8kW0i%X(WDKvwsoE?puIM)XY)_9JGRJP?I^XcjmdO4N>}GK%8O3VJ@Dgv042_n zvKK9SWdgS;!SNr~P9Q1hkV76m63%KF7!XmwyRHvxnuznjg1Gs-JR~SPt%yke&V%g- zy^&Wn-bt$ua4!+uipd&-A|>c)&_&}eHK%cOTn*s@o|}=X51+h) zxZ2Gh05w#>N*7yXhaCEo+55C7?Oi&79Ja4ehs?m{NnQd47hkIQ9&iwJ#T9a3zNOId z&B^Z{x7*T=YcHTwk@fzgmOcI7N+^7Q(y?t;?uGnu2*h2|#Zt7)Rni}?{v>-gG{g_9 zo6NvRpWfQPA_FQ%V4_P+x`m-vxC!R&mU8~JJ>>Xu`^*ruRdyY!WYwFIaEYWXYUI-C z+f=A>AUU`RH@uP1y?T{Y&w(4A%)MlS9|;Gg4?ftJs69KLM*?b4*tSEPlXN>8s@PU2 ztZ!Mcxi`4yQR(#Sd-!+5EdI^?seT>LbY85b*OlY_ac>fJ>PQ1FB`D9 zTUShZov4IU7;8#pIULR}FMN^@Dsf+P14I$nb1;}I+f8Wt{oP-d!ml?cvZ-l)QL>8= z=){1$&HY)1@B8g#m)k5wpNLaKd-z~a&Hqb)?&iNPIWnQ~RjO=Cr~0dCm7KG@5*4vX z{m8@-j`s_|J3U;(^O1&y2O)T6oTrKp*n18GG|Gq=eT7e-MUgQ!I}HbSD+~luLhgisk>E7NE9SllO1JBBl)iPx z&e}|9s^E3(lUH2(W}#8We4yJ%$(dV}cUv5@p!0{f&ll@)L{trAt$CKbWD9 z7s(1%nVJ_MmIRp^)zZD$aV_hu^wt`Y<$7o2*YfGt_mzH; z1fElitE%TBDxQ0}<%Qw=%|~bS1W#DxMD>`6Hp5ovpYe)<9t4R6sCmf~&UsK?yd+lB ztGdvqL#kyK7fLdUuD2(@v+jUQ%Q{V5VReWM%Y zUwq1d{0iUH3-oYasKX5?uMa%#;C1sm+V^2%>~)qD<{zZ6VKF%6cG#-iM;x#%K`LV zx3rHt5l>Pza-_0snz_P#wuL?qzKW#t>- zx+^wZZ6uwW!+&Qf3QDA<%5;^ms1Zx7Z{gcJpPW&5+r)>EP@Ec?=OO33(+NB(U0=)J zIi~EwU^kVa(Jw0rOKWyfPy1sVCw%KrIM_ASW;cC(jJRhLui^XMIrHpxlx}ku{l3%) z1C8~MYc_j^)DdHJ*^4VM2YtP+m*Gv*l7&Jl2C5~?7~on3sW%TS+gsnrfQ9mSjjBx_ z&C*yu{2aiDwp4dyJe7LS{iMm(e9LIo3P;CQArEcgox3R@u&0~9mV}aqU6r}UMyzSl4$UgIYzHb*Loo^&g^R4GK6^ZPerAGWOh50& zzktGLsmIuF?LSZ1MLhFm<*nf+2a)YqiTyOqLJ-sz-yQzphFcUe^2ZO#*o|lF-hd1T z(YZ{tW?ww6@5ojctN*BYo-4Bu`ZC+NxHTc{00UoFEhj47Eam|GDbfm z!qoJ1YJU})%`gQ+<{?78z~$gT_1h$e^R3!}o+9+Q6__eTLe~4Z5t1`bG;`EnUP@h( zaOWP|2r&;k?*$qTAzUq7sNde zOHmRyfnB2bk3(NSXZ=(t3qYghY#{A$s|gQ~;8)QO>N)Z6WQLNnSmKkAal1bN-)tS| znP0lGAT;su`h+Jd?M3yi&JAVmS)UbN1b3t6!(LEt1I7R(LavOZBF~pothrVDc`T0mod4b zS-E!z+2{26iZUYZ1GU!b;#R~UZCLwc?uqf!ngrP=WDK9ntZC+iAHM$|)E87Adp$@qDS*fpTz@bQ>08D0&lVT#1jRw z|5fshU`>_%pvV?KzY$L;Ac0twn08Afr0tb1>TXRnh0|teODJcP&99arK!zYwDz5}5 zX`t&vrJEL^_QYpr6MY8qZ9b1E+Gzc@iz4ADk)jC1V1Kk~lTwzsC&_Bw_}gj+1<-B? zC_BZ$!x8y5KrJEb!~WfYv=+a9ZnD0*{jXb~v3@m*WlA;QqQlXN7*xQ0E5sh|n^W0& zqrbj#e8or?nG3&wW$su16s;nJ?+%4$M@8lb_)ET9i^8iecAB&e3bPMSdi{B9qI7dFT1WPJllCDRq+C&RcqyMp&w z@;?UTP7=_bag42o&%R>iJ3RTdG!gUBQ1uA>cYiHImJab6MqpXFKqTQ-KEIjnZKq2Ztm8;n8KO}w!MR-zD{MVBbtcSZ}rx7?ca6H|% z>;7c&G8D_S8=opJH5|4(0A&t^%bN@D%%P-fzCBK7i3?ZL@66G3a&9lUPdAG z;pwXKjoHsrHw#Y7UlqJAS>po^1Pw*+J>u^7h+X7pXA4`W`s1YMbp0+$c{x5ay!lR( z-^X-WpJD3)UrEEjPQAf-)!=iv1J^1=F@X$p8rmB;WLT7~Yrtr&+|st4Y%)~;yW=OB zlaaBI9Q>};*4@?ohV9h@%h3uoIU}Z~iS!q7A-upV2S{DY*~M+WhajB0D) z>TDlWm_t-R&j5KC6tMha9WqkTH-D3dw#Lk^{@U^$E?PQz&Oec)>p#H!w*>Gx-#Odr z+z|RjL%|(+tI$sjAPIaUA?}|nLQNBj+twB~MCu~&s`f!2TlZp-1>!DH8IKg)Gag@i zM@>NhT9MYZi2r8G{=ioUU*dZjV){}#fH9Xqdo6P;)H*kcMq{bh!wVN;kjpvm$uw@B zs9?Rp58G|aMi+T{H<7tnn|P*UU;PNNg;kSzP?aU}i|IQvh9{_LhXEJbdTe~GS4Tp` zEg^s^50TX#ZFFT96oi6LlI5=o5O;K> zsM5!fwjuQK7$`j;?TN(lbO^8E0d3Gy0JYgpJK-6}42oN1k_-;_-9)#kx(`#=bpM>C zu(kEjL&?uUCHn64FvB%C;3EyZCfBv->fhsZ#<>84miLy(JMH(-kY1#{9Y5SRd=;fM za!Y(f@P;tc=%M>#k;U=%Ev;HX4l}2+-DNj0miZ6e%|x`$--S&E;|7MvcrFBqGE8l7 z%;W(4BbCp8{k3xr?go2JX*zUr-a7o6n4$jiCzkx&;Xu@!x6XZHHG z)7gZlF>Zl|0s+a+w@`&$ypY94d7n^-8Wix9^>c3_J^#6T$YqizIzo-TIbWxV7g1gf*JkTy49=UVAJ3hV=uM*at zafNGWXfklple+0ae@Cq0;DRHZXtgF~_k}MC0cms3i;!!Kd82TVaMmY76h4iZ3Ic5o zm^+_2SER3+n?3+fb*@b?``r~Ysq^?G9cnt;ZPYP0rUsgo3@j~dYxLmmp{n>_E@~e#>09%6kMa+ z?y-S8QF#o}+1&KV6;a+B_hYxChtfd3NNQ(uzuoWP`8*VP;>B*@ntAor_wUH@;;`*} z5je|l^KUv7|H^h{Q0KEIc9z2cT$d#8?0T!;e( zUDtudJls0RJv14o#o9)sYIE{3St@xU^Um=>WM;FM;VM+j8YD;CD=Qk_RR@=l(#su~ zXn2&(?zhQx>K3xKrN9I^nP)ey&fj?jv68gT+XvKRp$%Q>NYTbmXYUM( z1q|n^7y}Qi6y3PphKrDxAk3IG_3=jRWyeIv52MwJQaLlPj1HmSj9TurUzN-#D7mCPZl=5hNkJ)8oKXKnM}uHl&FJ(#X%FM2!2y6gi~Zua z*nZlu*#esPN~V(1gVC`udXSsL*8*radh$!0Y~0zHZKO;Sb!%FwMZPQH{rxxFTYeXm zKF7PQwN5{g+ofVV9mIz}B`-W?qWv0UQZh1bBI|hv@?p?kgcsr9Vmj^X<}u#~+cZkR;V-DJ=(nlutf65uVghst-1{u7(8txi3Aa`1 zjS}J@UqI-oH|cj?icccJ_MN3(MY$#-3H3}PsMMwI{kX2CY7hX2J$0b?uCA{zV3{YC z7*FWXd_>&mn`-`_M$SAQ%6*UH(<#SEvSg`bhJ&b6ok%o|q%N|h6Ge#-Ls6N^k~N`{ zwQ!P@ZM--aC9bT|khGk^WXqb?G4?&O#Qi+Fw|ma(b?)ol*K7Wq<(cRA{J!7s^L##^ z_pb2XUVi@e0{`-4wXe^MRh%2wJz%_{aJgIpcHlA4Mxb;^B)H)NFJ2@mC@7FfAOwYB zZ}8{l<{CGc&d>6+R6P1y(xcHsVk_HQDXPJjj&)sE#siS@0+;}jtgpg7@~e6CyYeYH zX{t?Q=Cy&00_`Co7wF3oXxDJbt)^;*$UW!~7ZGLWp;LUIe&U=yvNzv ziz|T(`;fI4AJV_Wqoa>oa_vXpf)AUP7ZHsLfm(@h=hN^CGQ5@VPhH@{AO2CTP#SId z`Og_oZ)6@h*yL<-H0!eA`U>-mi*43?3?&Uujdu9rq(pZ*yG^+6!EFzv=y*!COHD-X zLU}f6Z*a`Ekww&P%hm-Pz&G&JLVo`n;R%mm@SgvRSoN15WUe5WH_|P>PiD~)h;;sy zr$g-#|Kd-1d2J`ju3M*1WK89pGe$?xA)4JWzCF6*jsSf(oZhgK!7aDMAX;!b7tTu& zaq&xFEh}+YF^TDAKr(hM*tmH0Ek}xEqI+JRO z)}fkb9J8?z*CyXtt9(H%o0{W7NgJ{(7r(F(^V`dgW)aS4ZP{3N0kj((DqkXTELZT-Er z_Nlh8<`Q9HVJej>OQT5z3(H7GgX=?jG&86{P^!jw96gv{2}KgpS8{UlF1M|D2P`Z? z5ORK(dTr+la#jBTYMAQr+9z=OBdy| zUUA9I)`CFLs07eU9LjtqV-X8$9Y1-`e8bGl3>yO6cL#21kw)9{PwGB9p(-FCKqrlY zHKwcQB-YW<@sYE0X0MxIo|(1v&%wdL?Dm4wG5pJ=6gcr}Ms5mus{V7n#g>IGO#25* zU3s-P_yt$V()Nf&c62b?+KxzXKewbZSeW6xH)TIzNT!~7d$F8OcQQ0GT0}ycD=;Q* z+dcCzAO%vswlMgOPSxDmE@uBUytwz|%A zC||;zot;Q!SB-Mnm$|sb(Y<{6@=NFZ;gONz-m@|?G9S6zrG~n(d%(cKauy8~v=h!$ zNC>9Loi{qGfe%CE)$bmCD2a|DNoH@ncO+i`v;uv7eGzii-A_FY{5HNLeCmwOaLfYl zkpx&pJtO-&o2{#-s=?zVJtNd<3MCQ+&=!O=&%t8eFa`*L7xwOjfnxc(#2UjaO?~4p z2BC|J6DqVlb&x*oTy@cOP{lrAC>{~TXF{6Z#za7?_CUgLH#Luddaz7+_k8U6sCDyckgvOX#9N5NLA}HKVRyzerr17(iB%+5N<_ zf#?9mng8HV5_owGbw;c;irtlFx;v{WH1b3NkaWe*O+nk?Af>-UR$DLVp0zNq^q~pQbIxk(Wv00q@?b3j=X|)mxo<{55?(~ zrBV;;Q}!9HF2`J^?B09uNmW$}rYO&$vdR6}bWRQFA(4(A0AgfMXYjCqScEH>#E^U0 zjPpsL?aZ^SLf{r&3gDda$s#K&D-hLWsR>>oh>gKJ`|^>W&#yOc64MSLjuxD1m7~SC zo;`Q2#PN0PSHE*nV&5;;z9YKfWDUuRii+niUR2CZjp4{gU>FF+&nNoNd5t5Wz$hL0 zevmbPL7L|F17T3!`DOfoN`MZd`5)qNc?Wdhr&?dVGROWa^aZVexY}zIG#p6HrN#*~ zGt?2+GL9H&iZ%b`J_-d7ChQwQK|v0dmX@t-wh=}BR9vZhpLtzwo1hCH>k&W2bJxV! zSj_3ur@83NQvv*x>zo7)CDgIDoMS;9*bA+-wfiDNL!-5DAjd2eEMgs0@^Pbe_4#m7 z7Z4Z!ji>mnrvJGpqrHCxF<$Z}&=V-MF|5IrHol7tqGb(MIC2tSk9+Ft|A3Lc?DiwZ zhneD%5-Bx#(R`sHpxIKR6nfHGTBs`sPy?c_%xImouyeWLgov^B{}Azmp3=VbT7$Dx_^H&Ry6$j)vJO5 zU(A_i;BfCy~tz#K8YXKtgqNeu|Z9W(uTahg8r_`uH&aoPP(g#xG!To< z!F7~n-G|M*O3hgurNh_PcX+r`I5j6H$E-LjGjq5*_1a_bDhApMSDw#P5zQw+l(!N# zvu0N$CME*>C6eejVL@b4;dhoH26bfYI}on(1j5S1%#4qObbJMxm?$V8D4O?7r`8XZAf|aYbj-!&IVtNnjhT&Sc{6)y**W++u{!d4&4Kxwe0D91%pGHuZor#{noIEL~v?6 z`VVhB@}N8Z8kfgAe!ZFT@Ao%$eL}cGYwoi=x_q+f2wN&DpSY)W9wRa?@88?)fE`DF z?_M2mZyGjbAXaFhJn88u;*p8Y=|mPw3n(ytbQr``#p>$nhy_OJf_l%Ej>?aso9G3t z5M4T6wbI5G?E&XsbaYOKzGF7(%GJB(DAZWyuG)ll=H!8_CfwANM419hL=dek(lB0q z;V)A{Y!I0tzDCASmF_AuULksDMg?AV`Z!Nv9G@2`Jqi z(tYmN-~Ye&+3W0m&N^%P>H6Mz=jrE;>$>g<+_WlvHuX+n}L(3y+WyIa^<-jEV zI`{eK#gy^OSpjKiA!gHpf(-3~{yzoUcAwjSYuox2WHqWc|N8x5rF!+lXHCQVGFzVg zS8PVkG~)@KjhzT6R{DE#V){v|`Rt3Yw>)Z6$x`o}|CXrq;jc&6lOM4J0qp*vp`mRm z%FU$LF&K=cvVbJ=&wX7i^7upXFgXQ9?0vHe4m28_*We@%A8H591jC2<;ZcJ)s%m-t zlZ*X%4sLG27&L_pDFp?^!gcbq)U>n>0|RuLj~Xq+Itzylt37FOaB$39+0p0>#kP)) zXSKC{fj=I(&9n>+F-?1izSyU(z#FF$&jh^_WwyVd z6yo9fe-4DOodmkoqxtvRN520bGZ=c6$RK8Q9UW`h^X`_rPgjOQ#Lp^s`|`@lhW>t< zl9CcBkM*>Lo0PByLt+t5&htMx1aym0v9Ylva`tmw$@C)TXWfR`x=-3kZ_wQhbv_~!one{ZgcyU!nH?~Vpbh>UmpKitsu}7N{|7(9kv-Wtw(C~0k1+C=IyZ0NEvaY+`U~qeH z)abu6YOVywl)reVjRtkyPDWVjn}Ugu?GEOUR9Z%c6YjvMMRatugS&f?*Hs}QQeR(R zS6e5!(<5iqAe5q^P=Y-_EP6t7jkM4L`-8>lReNCAm~ddsaR^zV*GSn8w!D_p4Lw!nM>Q z4}2PB4slRlQoaRM=4(!0hReR-mSxn~IZ5at^{rc`Pkvd7wm!e*i`(k((D>ZK!U9)& zkM4^1D}rs8hKjFfJN0iZ_eOA=qrno;+RZ#|NBR4??gT}3as}+ba6kQ8e%RvJ{LXJ$_B? z9O^3lY?vvTl4GMTc{~&6!wG@bGy*nMUARxee_G?IeTQpHs`CRC8FrplGBU`lLgYnv zcYk9D(~DAvg5o3AA7COrtW{m>)i6xIVZe5Ab?&Blb@4F$Ev@JLSMbWyzN$ntdkKZJ zgoK6)gjVKLwx4`Gi}EP2C%9m4zi(@%i;cvfW5++&aG?Czc8ppICJAGyzyM_F7BAuU zJ-AP>;nE;KET(2JAgS0VIZOph!&CUv^pV;bZZz6P+3f}|?WxAG*i^w&v*#+(HkraO zi-W`Y&YtQ8=4!ZhUI&YQk9dlD(0pw)XMR5kV`)W~4AT$Q?TkKL%EXxI(ahRi<91_4 zqeU&aO9_j29&Sr(u8}@!|11&J=6-4x8zi`YmO!?35;fkMx0`VyYCg8 z8>nE+LE7!Kyunxj+V-gPTZ9|e?F{Zb{Dey>k^Ij(ze&I7B{X3f&!`eaBIjM6Jm@IE z*d7(uM200|%02t%$E?}m8^e+*a*9}nTeZfKMPIUUP@_yev?(ez8oC)+obJ!WusExvbwavnz@>Z!KXI zkVL<}@`>dYAyZO^=9J8;p(>_N;4z%t_Z%he8N^2n^i|Ghi@V{@S7 zz+sz$DD@ic`Je(-XgOp?5p!cT`t@)v32MA_tc(4Q5tkE~5Yg-&LXt^86&zILD#J5u zJr>RVQ5~9Q`jdC@%3khWUG1P;raNKCS&n?Tx;FRRvGnYy3f`zMkLt3NcEpULrG)6C zZN4YDXHRA00#8#qXl1~eG1R}Y6Q^CRAwVH(o<#EnS~V7sv`R}Zq7>eKgooNQo#Lf_ z1uhv57xAr3n)R+bygwh}5r?lUp1K*ED}A(qwq(AI$pa7pDlFS`KMWGkBwwpEO zVI`L|Be6Fhy94{+3GdxB<8O>q;>1Daky@Lt?JuF>o}lI1z6&>Z2vc>^0JnyG4| zqGwtnUF;Wvtv&H^VRw1)vS=8Qv!!v*r+njr3g6{WLZ{}o)u-mIk7#wV9UZSi8YVI| z*{7_|*NnEjYzzw(7}^o57gmNl^4&Cbyq?N=GE+?3-4I$RGdqG;=s-{}6AyG4;;ILwpE3K3V>_Xjr2G zheXrmu?oNVJneG0S+aL?bnkNU@aqz~HTxix zq}Oy#`}!KoTyr#-&ntuO6ZpQeu_U=?kwty3Tpl{u2Mh4JK|7c%_|qAbz{wP4PZ8aJ zCZ?IyJvn9a;m3LAeolfFpZjQTn-qB25VoznR*gvO;V0L;)v(aEs|9l2c-GE@6O*P9 zlIK2A$f%b#J6X(Lpgb?f{G0TP=y~63i6P0kPY_3zA;Tk7)SzRKx67S4C`>Ix>ISXW z=wbz~FVU*gQ?U@Elm}gC83pZ0xY44LL~bTc+Zj%0t7J^IV%STjF53!7(oXi*aNHgG zgBC9%w~evgq)HlY|6JO?= zh!f95WNyvb3`YeAMdW6LNvVX(hQYil-Y5Qqdx@uk$tZBRDO%pNqC^T>?uHJs;@(!? z-^XAsM9a<)H3%q<4AfD+^LqR#uAIxOWu19#B6fR+;>tgYiMr%)gL35 z;-bb7&wbiIME2O{ z6^}qsgJf+g6(mZr_pdnZbDencozpzO-j(*nyfqy^R2v)3EFJLm>s6P99y|#NiQ~7Kgo4}A0-#I0*zh?IQjng=f zVZ(M!Ie#(9{GUTyBo~nLIWYZ|uSYLxN$}#u3x~aRGXcZ$pVRxD8b@gkM~6@ixl;9qPt}h21bWN7D)! zhDNi{ewY7AKn`v~Ho#3WL0#3}M4=ek|oZvbzYr|>#InbOsf z&dM*8B~}8G+VeB#^cy?7N$Cn{Ec(rss#0_Scz9TGF=+ip%26zNa~qOx@)K zOC|!g3C>=s-^azfTwOD?NbJz|HSWI6C5uhHe?e5E(gR^9v<-1Q6aRqVAPL02H~7<5 z$pm0khZ;ucV&hB*P2zBcN5@o_rTPGe=&XBnW8(R(i-W!rWQRh-aL*`W^}Y-7G$YnW zOBns7tm-&Y{v$EG`Ogt`S9@;e-tm(qiTa}VSVaxtf%ANt*w;o?BeMU?)yVW)+GoQ~q+T#~G#b}vWxfVd@rhOqBe$Zz9sfb0 ztd50g%EI{(zir9N_u-R=U*j!Q9fTtD<3*Ix6yh}PYGQv?f3QFElHsg~*d>_eY ztjxZp+?Gn!IqR+@^Hugaw0Z_wZBpcFR*Ly_4t0UGqwZTiF0%GvOWzA9J4Sp-QR}PY zU+zi|!r~D>oymT)F!Y@z#$_vr9d%DKnCs<=|5x8^9tRcuIUCvzIy9MP6!*qi-#}EkMiLe7f6eHgVSmg zo|rU8+ZaPovflmUJqq<>7aJsD+yxPuym`f=?3CIfnwzr84w>b+y^{a(huB-4!!N?~ zk2Lox2B)@tIp9E?v4A(1?cO1wF3NO!f`8C!qOuJMil^=#s0oZEkfM-}n3wIENHF-V zPQ8%|cvTZ`Ql6sxcYmc~^s*EYquO#`JGcJTXKpxtR7S^+eu=aYd2pImJeozKgOn~O z!%E{wd%tVKh@;PZTfM?8WGo!~zLXh~A;^|QDPd{V;hJzae%P&fQ@ez#=}f4AY#1|l z;k3oX>SCbCH73@2*~j_x?IdQVUiMq|b3uFs{=7@-X)2jC5EaMXh|_+!-txf`g1-r6 zHsXhCf^HW?(eX?Hka=@A{%+L622OW)3k>>bEGuI$_~I6u42I>}vMk#R#RMf&&tpr5 z$x(Gm4`Rq{qpe<73zEDq`tWZA^i@5DX8SdeD8ISm@+>bixh<@1P#2ri1$OCYZ89C7 zI4)O_y5bX>wG=QGZh7Un_65?UC%V`2jg7G8HT}E zFU~-sSDLy=3^3AvUZ0mBQ`j3fNj`>XMN)@5Gv})cGDA;k*UzZb6Hi7IxF-jfbsfkx zRl{b2SLZX8em4T#aS%nRI^v*-oV6?b0(nh&VXb#HvJ@cUjI1ikg0`Dze;th>|t5kW+dlx^fCJAsG$@h#X@;%jtX-uoCOIi`%{z18P8<%lbRhiu>iy3}=2 zMNaNuh8i`#64LNfyzTxp<^nCe`&^Z;e);{C`s&%8^+&aEq$w%79~aWZPi4_4+58&v znAktm4`T_#GÐ<<-r_x=hFN_)9BGU}V&BxC~zi7HXFRNAZx5LM}yIW!I2aeb!s z-BqHKp`B#m-JL{QkL`Lm1+QGW9k>!(#mHly>}?J7O1<`_>T+Tdh>Qp*4S4S(=`JAo zu2k}%tp511epG^Gqq8H#T%UOT#FL|7o*f$wwZb9IIzD!CSvZb%GdTTu~_R&BG^l zD&J_ODJaCbAtI))IwHr?>aasxHgv~*64(4g$V@Qf3>+AdFFM=tvoCeHr<&rt9nVl` zl-~8S?%V&0_TZ<{WgZ}btlqp8E!OBHAGNbO?y!}sXL{7I8xni(E|=Q{^hfgmb|lX- z`?0^|Q2f$t<28>*9yRg>SpFz0&X<#kvB?yR3(pK)rH%JaE~)UB2Z~TIw7!r{c<#Y| zhVuNS-G#2u^{HE9F4h8)eHT=M1mhzY@FkUG-dWO^{#~?u_~aZ71;bzwccJ<3>_wKI zF{a^ocSVgrxFO$gM_4YMz9}q@yH&hzNm}#!yG%}Ko5PNAdGxouXnAsfk?tGx?k2ZO zIAh;XeID*elq3Vx_by)?{DFw5WwtYs$-8rTsFZ@17T?Ru>+IRH<57~M*Yy|%JVOh> zHea~PcpkOq*81cEO9wfuq+X!dkj>XEpKZahKp78<#h;MLd0116tM*--JvljfEn06Mf@g``Uu7q3&-+=O#Z=?@k;?Mx zOri@r#o79NTIKSJ3bWacH}sO&;m0Ok+xhWv_5 z!rb{!c=7qpr7-j-Eo^T7vHLar@G|3tix<<&%jvtjyWPFjRaJ?RkT>ug87@l5_-m+I zqJ-J{c)fcy_Q@0JJ{#9+GEr8TDnpE7hI`IAxa0Iy%jBZiSN}Rw*2}{G;payWHUbP% z-QSWCJv(LLjD*Bjuc)P@rEdr&OwA;iv>a?Nbwd;_Bj-Nd7P~k7@{Yrp&u;y%U$lTr zx11rn>hBK!UpR0_S=nDD>%$=d0l}qT!a+8J5GJK+82#*03R_a3p)cKH$I@;-S3_5p z@kP-V9eWTf35^A4ngz~SR3WjAo506Q&~8LQ*}?z&|mYt+7ihS*!%v@*hU3l z-c4Hzy&I{gN9UAcSex%$JAO9idq|S%d$3?s#Ky)J6A%zk8Pn0BYH_SNZx5)9?t!5s z;%5OqjWqBL^%^JF2>hgvbMIG{>C%EBjIP8(Rr1q@6Rixb9($>QGZhn4#IFJai~0b( zGM@tXwbA*ZQf{lRB)#21vTH~F09#WiC@4HvSsUpupKbXB=;36^lf%1r^}|k9zFxA| zq8n_(to30mtABX+@lpl(;GZ)T5apz;n9YvY&Qo~uWS^y0TT|1?;A!kP zOVo!`)93r=H(XjKMKp>_W6fc7U&~G|oSJ}f1vE1x%P;#3%1Vy)o4LFi+NL5bCZ=_D zq$)NgB^vgrskPMtp;E+cs8Q?yhC|-u`h)F?3lChe5TGFpD_zbTlwq6Cv3dKa%ZL1m zV-~$O5-@_?{pTwF_d~=)AixBl63eiU{c*8l)D5Dj4bGK~hjf0iRIyo9uBnNTPc=0+ zbI8ar@x>9sH6HxojJV3t3yJJe)+O+zg9zKPR%zuA+WPVJk ztVE{ZVbPKq>)|zW9-Kb~z#sId*KNV}#1+g3Xnw#@L4}A! zVFkqi1htoZ?rpcJHDt0}%J519C#)=RD*Gl-N1GK8Oo*;70<;=mMb>MixAm6kBNk%c zN^H|?^)@fKX+g*xC>v9p2R063TER1OXCCR4Pao&ZN`$huv!ZhZ{gN zKy~Giotl9RT<7{M1(5*A~qX1;MxU{egaCRZ6b}G zP~b@B0TfwFS;0RiqhUXIk-x=BKEtWFw7$o>ievZ>1A-$ub^BV5PTxqx{F*kzawrO3 z@i({_H%~tvkoChg@MThSa3r`M%-p1D2wTe9Q}R39mUOSonlg?7O{9^brC_KFvQ?lj znMYx%|GBHRR<{t%da9al<*;l5z;DFvd6NM$HU7OoGgAK(Tg9R%;zOz4nFzPEDI7Xh z=P*N(zGr4gma`0ty$9d2^WdXV_D<(MGFplC&3v~itbqP_6_ACAg`mUOJRv2paYvU5 zWek~@o1zsu&$g4ip)sNJI@-H=XD^4k+@XN}hk%^FK{E}wHMH!zS?bAec!#l>Lh_;S zskG(Bs8-dTN-Q+QfLXQTuIt1J6W+oQSp#)QJ^ALMfD|Tv(o!2I#kjl(%V*Oc(eD=@ zhD2Z;nzzZ6pbIh&siBF!`{IfY;o)t|ES=>+6cIZ*V>B~GH+zVfOE?_oT^zC#6BB*u z;*=e><~7dZ;fY^)U9vu|+U_J&M$SpcR`6ynBj*WfRbuB)a0p_%Lt%2lf?Gbr6 z|K)jF!|IqQv9)mYnVz}1GIb`B>A5+Jo#i2bNOrvoA%vTW(@E=o=yLmZpZ{H9>wM1= zZbhLh{+mw}JZvU>FVy@zBgf}el1ZTv)yX^bx}1*zc+93xZmnP^hSOp&S-ovhT6_w? zbX}E|b*;=PEftGqyB4iopf4_+mhL#+BKlyMC-=`O*Ux_|<6oN>2*>bkHO-;0#bV1# z^0TJbWrRCex)}%!SaYujzyI;WJ{dgBXZ_>|5)@F-Zy%I!wA0M5`rjAc#-t^l5yi%j zhwUGF(9*<)f{g=!aWaskzuC$%=6Z)$Hh%=k8@yyX>eGXzqMtUOTRLv`vHR(q%lGB2 z#Bxt@&#pDbwo8Ij?OT4O^Jx9oZ>qi7-A$A~1gfUL*9lTq)vV;_oWuY?Lt=sI-OtQ<8<{PSZvoFyV>2+7ekB1lbFV)?;_Eu1d;hn1v1SJt&_^PV@v z0;l;b!PxWsty{MUh=}A<<$Q|Gn+adV|0QM@71U9Z$@i`~$4YGb^rMO(63OL}J%C2r z7L&heTMU-@O|H)vIA{-=E;x^fd{jz<1;b|c22A?>F0nWlFK7_#y7a5Qr3D|{&*hdV zrV#8%B?D*X4aXZL+c|v?MIMZtKXSQDgj(-8E?D1@pI~O>77c*l7a=Z?#62@ zaA1@&wBnoxM@Lw#iro9Ux}jjH1q{9rAMUOxVK8T58%GD*-<)laa-}$nWAa!nFYz$u z@e&e02ER-yOQ&SG39dW!$dfVboG1!aeRFtYE!N0Go%&5u{aSn_leM+=*3tkOncN<` zp`oF}!PY{yVYIS67&CiPg2trxGWA`G;g7BVt`GX{pf|0;2D?KAMzfZhJ?ut}FR-@x zV{pHYN}e5yS*bUdw<^+@$^P_-dd%-smepe%=UH$t8aU{e+;jA_&Y%$z_?cv z=GzL`APMi){3TeGMlI~?ca~QV59Ob5_^IWTv*C&4%1jgJMP(K9+X-uy5hsiKfiKl61Hh;Xlit2iF1j(n9tU;s z>Csb2AjZjMDEyr(f)EUQ(CLFGrz%9`UpMbcv92xt=w=j^!LK#=a63V$+;u6w3um=z zP0sScgM}k+w8eQR_ofdC85^VHUyv|D=ePJ);%6cN?yoD*#89Qr@@`t4AJuneK4ZOx z@OW@_G-Po%4ikOWEz3}}Odmb2q!NNJuWjt?RC^!M($qBG6h>wB#Dhx-`?hHFNsx!v z%6aC_wsR=pFhlPIE2Qa!hLqQbs)AsJx!i@S{Y16(RDJHc!KUPC-H!2IEshz%wiB%+ zd$%mTx4sHr+)Z@s^#KL}2uGdgy1-Kob=%G=S+LTHtEFL8rd7w?A@iv zsF`3?TG}T{6MMBrvP0p_53{Mo@@St+xh6cPc(=7V_-m>8cZ?K!(ut=Nv~W?tKmi8C zW|0v{G21ydXQ@}7R*oYex#gZrdTqL8yVRT<^lh?a__9A_iB1#x6tpWf zp{dbU={N8BNXC_EK84UlB*P1J6=E?e%HxYwX`YJg}1#r{kp*H9eE$wjJy>AECFNz z4KFott`5EcYG3V)E>@Xs<~}3H7V5)~6C9`ins~_uJ(1=V;v$G~+X<;o-WN>bUi!4# z;Cf`;inlE72dNLM;K-$&8aUv6RC>~x35iEX-uXsVv~)s-bq4m;c#@Kmh&IO9*m!+& z)7Hh|9w0O=R{$)z20#HxYhlJG%`+%qyCxS_aY7?VgHwszWx1xLQr^S}pC*J~>$;!7 z_(m(Bp2d6p=30E{mOF(cb8Hy>=iwwNM_kYxfpb;9b4SU>hEM;qP0;R`9~%P$!ycUL zMCwrlH_C+os|0Wqfw9Es$i#~%RPI^&!BM87tK=lhBA~idVrEN#5nYLhG*NA8 zXXBdnCi$OVL~Ep^N_n*E=1LcdoFtT@Zr%FkT6Nx?%&n2T@ek*4;we36Pu%E?B4~OF zw8wTl^z|7bW;c6&7ZcAlY!FtIy7+A1Ab9)_%UsEXF721(Z_QnOSK(N+EFIrW|2Q}M z$i*GZ`r66YXTm3m;e=7N*l0HocL#&3znWv*XDJqLtv$+}OZ8)gq__^WZ4IG8Z z`tI(MTN6=W4pbkx{}%V&+vG){GL*-=Okp_|+IqqDTy=dchw;(Lr5^iN*Rh<<=g7($ zb6B4;7jPV$d%5gfYW;&1IZu%A&G%#x!JaeG`~upztq)-rK>-DqlAz#j_0aEHCD$9= zLQ>crw|BD>{c%d5nt7TUAxj&%`n`7{Y&9TpPaH0C(~G1xF#~>AgW<#hWJY?db}&o zRkd4KusPe=`1Q%=B9_g5tVT9lJvsbFApXd<`2POB$6EF7dheZU6OjKA5E3>3#v;VP&s8 z2i-%wGx__oEe|j6)4V)>)Hr0v4h|0fFJDsq{rmSPa_R?5&H&X%V!V`K;`>yUOa9?Q z9*7M8&a{g-&#E%ZxDf*nR=cuKLqjv)pGOB_>IOKhh95u35`;~HBO-{dxGm@0^MwQ` zk)2>~^@oe<;mYMtxa1?>SvFG_zPn0wHc9^ZVfO3SWmH|nZdrp2S&;m93#!o7Z#grw zt!#cx4M9XD9vkMLup^8phm)fxU$=U0d%(@?&eIXTdc4)UzO&N;GuS3wgH!lM%-Vdo z+_B8(@yXHtYiVb$t`u1!gFh|D?4}hQ&LvZJtj22j#`YAG3(weEw*AY(-$xsio-SXF zfpboX@;FSt^!4xcP)I`sLNwadfZIc)hc1hKxua99(JYM?F|xrCbi(FqqtzbEC9Ths zlM6Oo#TiL}tqT;fXch$d<2rJXKhtG;m>cvSp9 zm4}FsvknrQ3Dqx*KLll;F}pJ0jxZPh-De$s`b$M{&=u#r_&p7K65_^Z=k)ACx6n6DC2%hYiHKY)ja5_#lai9y6WTZawhLPvA8fk|NT3`xCKV9d z%ov5ADDk)f0SWXR2jO29B6S$fU2W}P2z2_R`n&;JgAJQC zQVNrDl84P;bTOH`>5Tq1FrR0#`gjgvfHv)Yek7^Shu3dXhz(^x3`(hI>-j1*9 z>?AR&atksP3NaK?($b=a^)I&kMu|cWvsLHYtlsVA@g_+@gH%pq@Q+~k@f1Z2SI>MDO+#bjMjL0$c&rj@ zu8!Rn1;Az_RqmX!vMjJ0p#Us(CCi9_4gq!D(2#j@YHBIvn(vXv@Yg2@IgbHP;d{6u zshTRsLdB)}a9KF8Egv9fUFkyZudkfm&Cr^4^Z+1I?i0oIrtG5%38Yu_diz-q7bZgY zf4I!ZNnp6%?Y5Di3@e=QuALrqDid<^cjg46+Cnw?7ki>ylu1(o)=p)|o z;qEz(^0V?1lm)M?KB}2nDf2BZQ|S55B)@IT8)+&`k5%HoAu#ODY}0 zb-;XzO4&Xq03iFKC_{gw6nWp$;(@$vq zBSisHub$psK#?n576KsQ8PU}v2{;^no&_Wjt)js1m~cM97R#YvpM zqy|Q51+2BYDyiC%!4~V`WeV{`!&06ekDYQ{yod)X6R;KXpyh=;ERZ|JBcnS#ET^XM zM&avYEpAlZU!R1Hk<^8Z*>tZzuaknL|NOu~0sC|&f+SXXOGwhXE9nMo2C5FSPB;V( zPEHNnsonuUuAL5#8V@sSeaQa(M(sUmG?hm;eccT z{38M1Wqo41wIJRzjX-qt zhV@a*XgVuGd+*PL#J0*hbOeJ`)FOeUA!?Ekv&Xvu^o$2NS8N+h(8On(#&c^P2ek+8 zyt~NcTE6~g!utAp*Tg-FShJz;@Alj*>5!CTIY9L5`mx!o`=Gb(U%vn76T(+@&Ct}} z=53uU$2t_-_NnDyEU$Zx2|ifxD5KWllsa0?C5y{-{g-pdSOUD02(yVEC*sYfdjyQb?m_cP7@sh(l7waDkd)#OR0i>g$~% zQj~v1ZE9Pja=&ti^z>-+hwEwegLc{+Ex%)a zh0Jc#!<`jSGfO;_LRXe@XW}|=6cHc_F$3E>bz}WFkXJTG_X{90g*^V4n_y`a@Wz8i znM=4tC9f1!$oIEQV2%p3BkJm|PtVNs`xtwL zyW7}&7@}iB+oA#NKFn1I87>Ie2qO*L=oMzJTK4J^s_<_25#fyUjwC{c41EbgAir-qS84f$$}tUIy=V2N{@7)L%Z5 zmQ#nb=Y&U|l@8;#x3~qyd^cX!#q^;7@A_mnq*)em>q0ri5ijK#s0N0ge?Hi5y8rd9 z2QljT`onXP^Q=5h=yn~D(Zt0mm4Kig@HP!uI3-~|qRN-hqA4Mq zK8_qk^d|PV8_zMRquV-hL^zUeV)J1bTo*4|{1^EkRmcQ4Jm_JMjnoZtY?X6(Xw#-= zE&0`+Zo2#8?wZLRlN^ar8oJtHbMdSVvoEEKU*0NlaM2m2`<|g}$;)^jTXTBiP2^$jNlUHHBu@uG)Qy)PoBjdl|i zcp^ba_Us8jU!hw+a{|R$W7uNq1J7A(FZSzJdy2Dq&U1V{`rEz-XkJuoZ0J^6aoj}J zTxI$_f1wGpqm&oHN*kD_dv{e{@(M1FC7L$`*Zm=j&lgSfq;TI-F*6JpeL zB|n;zO;w$}iuFPsw6j@Xpjc^XDFqdk^Pef8@!Gn&e(gG8ED_eShHZdF<3=IC>J6{g zNX?H+_|02I`56oRU6l$=>jtWp!qp62$hB*kJI&=S>%ro1aB#pJw;#t8fu%`LPscy6 zfC*058k`K7^DyLkD^kd|n#)94X-%U@wa!BSNlepGBX2zW@a&6plm;` zPmMDPzjdqCf#;YORo7fk>nIy|>7x=k;Ki}M6dD%vS;KvNLP9N&gO=D0i5_jVvJsp= zUtjJxb;+uO9->i6-f~{3&^iW%pPg)S1fuM(8_Tvsgb6vUH$3tqYMa%DfbR*StGN~l z6ef`D6WhM&FwKC#nK`4}c7Oq%o=;fsm zPa+jQ1aCDI#4yE@{rGh{sh0chE%ClLa-o`BD3F^&%H zcvjj#o9Tsbw%Ig_m{C*rb4WM~4A-97>4TD~k^a`&q=x%{9E3O5?3cSsqf9H2SdJGWZZ?+$hp>G zBStDe-ryt;3?IQ-(M#CTN04ZUT?8#NT-$Z`&#ka1pgvPyRz~?lB8|!!eLVEmU7rg* zBJO!ZghKopGFZ`kS(GUV+S+o4_H_h+aGwC40T9?ZPrQh?L7^Szpa^dv%f6frp$%2| zO*c{^GOYBR_Xttr^_T8=@K$VIqPTAXb%fPXYrTx9;sXaR(3FI}NLR^huFUM8nGMT9 zX^4Vg#vFM^q0CL`St{j&IQ=7!OY*OXL1pS#P|Peu`emMJl~)BHEqVv;*E>n@6QBc! z&~jQpL)7kCA`!|XO^s-9XuU`jeL!@o$ey9d0N9wDC~uEbgoA|A_Wcu|DzV;`~ z?q$tdSD!7)AHv_OHcvybAa21#?OfL-0;M=2&1shmSKFxpSA7-*QCBj(``Lq&9v3W-3#b;xM&zPCzFTU^WRdOvw0<@@g4xD8Ki~l zLg*s$4cd4BHJBM(xq^~j!o&WG{Pf4i(N295(X zHUFnfIGBVf_}+VU@x98eEtjLQ(_=Qz-POk#?=UWs5~92rHsOj+RyEyYF;Ew}s?g^o z<}!bmnDr_>IHrfa*(9J&$LHqeULLDGEiCGOco|{(`~Y}_6mME3Kebg zO>*%N0=h0s9eaBEg(A^KFN)Y1(L`}c$nAj&;}H^4baB}-O5Od&om$u1O9hhk-i6AU znVGwJ{o8V(ZN*m(s-PXFC(~TViXz|hJ|PUq^yngM?smMu4JW6MU5Eyx4saQ}v`-ip?$4P#aM0zAw9jWX{Nh=A`Su?*IqW1BVdvV^GE6m>6ZqqG)hIj_J(MzDJ-{*!H7%;FutYDjzR8&-|TSxs)eSkAH z2i-m*fVq!BR|ZC(@Ey6KncjblEGsP7+1hYmgBsgP832#Gy|3bvFg}AY8oq-T5urfj zEnr4bD2SFIwUxhl6Bj@~@bZh*qs`5DD6AK#2aBR~TqmRwbRNE1q64A-rWG$r{WgV0 zBSuj2$&)9c5fSokZW5ruMssqOKoYUFHpYf}9vh33tF`su2IgJh&$mv_3!Wl;;`)Q% zi4U!J4Y96|{<_3BcE)l)rRp9D)5pdO==F>bxFfZT0||l#R^^v4eHWlGfO*9ds`SSH zMwvhJV02rY@7Z3w*J|*2TyPxIcZoEDJoX0Y51;i#jsgh4aC88*peU4}EMgzbz|dG; zdVDn*g_?`JixnEnVXc^$^})CZ|N9`_xPOMLlOQ6z*ETyVV1$L(_c8jT(0@J>U$X0B za@6O0-K&XlA^Z32Gp8h75#5bU8e+E*PzAsxJc~M80n$;8M(C`~)LUx@;$)3niswdm zZHkw&2lC4{wE0Z!xy1%u!`iOEi?Q`>?W8Q%p5T4h)b+TxSP3$n}ANU{$K7|A+>JAiDtoYU?d>N^^|#BOS6q&N&?c^3!UpUM9QpHDJ?ogGM<>6Qdeu)+W7 z^>=I{Fkn1?uNb5+pebVyV6F2xT9dC=R)js3u-3Y&89uU zU4epf5xcn`3MJmw1GaRT#<*j{D|1+o)F)kG`uLs`++*|*H_!3YFcvGq^* zW>EgXw*&RUT1h%Nia7s%qj{!-m4hD2|c+)#zh&dKCI7 zmlg{BFz;lL%?tlsjg=Bqz#x$;MsdO-G?oduH=w&mUZ;KW+f^(|L&j;U{t>L-8D#ww z9&=P^Xm!uqIv^e#A9)mXIQCu5!ku^aEz>_0KGG~p5dUR;2;8=OeH7wo%TzwNOU{mH zV&0Jeq3WU(^Q$T}438OsOycu02(;ovFZ~+1h~SkzX8 znxmuxCagNIu;{?T#6rniXxqbKTP&Xaa2v_{tk4|Ce@{++&t+3^N`CIuj82M2qmTb} z)u(=ndMo z*H9k5vo;p9v+`$b=O~U}2Oa}@ty_j=`C>m7U0yDgX>~E9C3obRaIIEMEE8+>b&MLj zO~t-Ulwu&%pQZgr!g-}S``x>b-*lw1mV?;g4JYH!-G`3%aM?gecrKHGVSv z4W^I!|0uKEbcLG#>k#k!Dl#Dpy6HGD*WB8gnURht!Vul}i7%wc^2c7{OIGAK&2>h#|p~0o9h>4o$d1g@m zWDA!!} z7(l*&8bqNWYytF?a%JEK#(i!v?KEIA;H^xa&2Ae9x+er078WK0?+eHRqSb}-hoH?T z$A@Q7fK#)_oqQH}IQsQTPEJl8q^ibiSJ-^_I1otVo+3AzrC*TemxaEH5pu7ixNR!* zK3d)iG#LZ=N%fE3-rguWIP@7JGSma{Oc&uYiU-Uihuzh=pdz^ns=j*&N7V6k60`w| z^>`VoY=Srpt!TH8l`rdE-@NUy!K3~aHT-%+mJDNwgIvX&3zWy|_`-!bH#?t>gPqM# zMBGtko-ArJp0tWOul>XOcTiMvcknL;>;xNPCyc;M;9ZFv2I}<8Tn-H3pHWGUVC4=R zSaoa!57?)RbnD`&b{p{uZ$pub+NGx3vbw&3*tnTvTFC9I9)oUQW6YSX_V{(H+7EDEv!q{x_(ok!ZDNN0k} z0;n{o5aZq5PfPPzs8N!&L=n45^!trmc9AL9=1(imK62>%uL-=ttX#gg^7gF^uRu}2 zT`}9{DzI`TNFNtmhT4kUzJFKe3K~|ldSQsM^!Xo;%d>~291(+z1EYU~8Ce;h*=4P8 zeC6C19Lk8q@2U-YA>xt>;+a>X-H%LW9WXwmaouurGr zg3ZW*X@$SIG^%D5JMo$^mX^piP*$qm20Ja~h>ZBZx(k@Zf1h<3g}5>`#AkC&4@$YLYvJx9pV1vc+{ta;jJ&}R`U5$f|nkp6tvDdfyqFef+yN1v2!pNX> z7lxN3D9}uEpWG(q5$`C{JP?mCA_MFv+`Ia@6;saTVQdr(xJZ-F0+Wd;Z*BY0 zjXbdVP(G{efVk3o|C(05@S<`d`#0t09RyAk7+2XPpWFD+Yr>ZM&6J?@?sZUlU z9B!?Aw?Jno{u}zfEobc?I%+y+*c1i=>J!&dL4P zJfr?yLoH*yO=cl3u8eHt*1X(5+}AwS(vop%bcRuc{U00#^1d0waAme;}&96p%Kqs#sG%-+2>#v!6Sr-fX z`?3Mn*2P9BYb@F(saRQp5|@-vLQr3rEk49p&Tj4RKbCm;2hv8{U->s29Yw$cuk9tl zkMx-Ro&L7X$|U8$E@3z5Ft8M#kdXQH>(^E1&-y+CbCj`;$76Mum}|U=I4kicgANUl zA6CeJH9rHWHy(gNJpBBDK(~T#iE&%`J+e^&Xc5vEt#bpP*bfjtx)m-!p28|M%Tb0;Nju9vb}lp z2ER%I%1qy|bt_^2@wu9^yQ80Nb(pWX5IE0vfRcs?>s9!_Q~*N>@P9idiOa}$1>w6V zxAOXb8E|g8!>9qf^{Q_Df*tW35WfPYc6~>oSDdH-j|0gC$E8c;K|w*_WSW3DMRKlx z#Ocw|5$q`n^;*gijc|TIshhPu=TL^)>50aW5{HSKB7O|el%?YTXXdt5RG;nx8QQ=}*;C>VbHM{aq!QI5@xzoj>iavUM{EdU6Z zlA5X*XSO21lkdO|385T!ahY_DQt6p#+BO@^SkKxj5hgILaQ#JKx<}H=&Tgrrqaa}D zK({%MRv2e-MKm+B<7J>)Vx7x0t-%f#tYB@Bh!T8RL9S2ko0&LD|AJp|`69w6ZvBy0 zCH8auz^tfZmEu3@t2oT2KV3E(eD99SosZYhO#f>j*8{`%^W$gfIy#?$tThODRSG7g zigWygw6t_1@NXSGy$T>E6;Z1oE4$Ig)#$#kR$C#?Y@6HTjod7|lv}qn^rs$bBakSn zxY$7V^l%718Y@@-9B!Q;QQ4=i?Y}CI3WZHYJ|01U(REX$o}>uD51@)fK%W6{3G2yf zd?ZxC2`!6gV&WWb1I^KivCf?*%9Gb7(ZuZd?yFS}rd@y&MH2RxeGr^z{m?^5xEQ(L zGe@8C#lgszqFdqmjM&=P+A>Q+76I~EqnBKT@%%fmz>EwQW{`}-xkvN({3=L_gk0$8z_ zatzoE)0At5^<(7fnv;idXB;do+$bm{n*I{y>Y|awshoJY`?Su)w=nrWkrs4Rwc)UOWNHY z&h9|>lBX#U+S(^0>g+(8KB4WS<*J@zZ8D!%#cRAtl;O@o zZSq;L8obV7H^K)No>Z2mQkzf+Va;+z)|+U0dSK?~3!%-2Ec<(V7hT#P2|Z1~k3)ll z<#-j@Hc7&k!;V$CCGXEeM^h>gI3l%bs3wkHQ(wOq56a2eS&T-bky#6UPz0MT!C1#` zlhO=@G6A6C;c+fte}GtfvyGERZr|xHC;q)_>8y1mtz)<;YvKXTTR~BAE~o3Dq& z&%W+lTW?8iZ*R{4mqhAym$Sp|H63@nO;4ZBkFM4D5mpN*h`6lzfH??3u^eHq)j0Gq zpX@&)9Khz~F9mm3_zjnK7h8BC`x4SK;DBD ze))I9jTsle@Lac8OpLr4(p3;81=h*tGYp=sjZOH}(4*F1){Do=cx%vfOPo7*?jplY zde^&AZHV|Y!Pr1=w2DO2VONTkeRd=|_-+z^cJQCx1eh#qXgDz3U3@q1>;j8Rw_i{3 zowF-CeZ8$oL*9FdcZwtH%|29P$^MgtlJfFfJ`BoijXC52PzuRlP)j0=6oFA&5J6%% z1QFb4bJGFDs(ZO=D@uLhC1s8c=xG=_ z|NoVv_{Vner~S^%=FzTqx70eSw!&Be4hnzqDwa0_^-<>WQoKZbe(ou}8Fv$$7t+x5 znjoKM-P~KWV$sl=8Qx+)PP9;liJ*6QIHz?4p>SOH7WE(yNG290#+HO~Fo{o1{bojR z)An}xlj~oNq~;6z`#%9#ua&tdXNx1|MnFkJM+agtSz zQStH3p3R3=>5C{w1BIXOPi8DbAx5nzN5LWO97)b=XlNk3CCc(hacgb7s+Mb`0^FHp z_4VQeBA*^#aF@(SyJsV9VP?|?_~=M3;iZ*RcX`j(fS&pKp-6? z^6*jrCFs9$cRV*X9wbQB!voliCa|vP42BGFdMh;N0h)ZR8h zc0B+IJ`0-hwLN2F9F)o@27?0wODL!-VwCl}Sy%+41$}Q*f%0F544BPYcy>Mi83>Fi za>8<{e){yc?jh-z>~3ei?=d&N1I5tVS}Jm-+^dGdufP|GbAFHu@nsGTYyS zmB^{9$Oj6XNVdd+1KoYBU@#I^8SEB6ObuF+QqQcWD^bb0 zFLnq^3pb{sIFoEke3Wzy1qB6$>I06ajDKevOL}-%DJe;5VuoUF8nIaS)pAvp`g(V} zMd!4uqh&|GjGZvEbtEMvMFc>FwrMpIGtkZC*sE)37<+kb0rg$AL|$HAx8ybWS4eoj y@3J6HUp`}|| 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

xMZW7b&+Z$hb?`HTAbG^(k$BG_VUcMP7 zvhOVvgO?I%5oG+I)`o|xu3zsl(452`DXg+~auOw}X=ybAr@ajK2v(ME4Hre#)YR&< z%6ZRnx#1|fKZU&zyPV#vD8)x{tMs&2`eTjxg!m`xDHOhT<4F;WLLt`T$-$!Jy!WF?WCMB9UZyx?P;2p&^9b z6mjKc-Y?uo>FXrY1i3tNQsbq>MBhc<9Gm4jIy#vCN@sNGbUJApq5`B|U=>}UgVu5< zt{VrhKybzLm6(*kkOu8WUY8129>D(5f>K`4F3Qs8N44W&J--(%@G<_RH%7LX0RXG_a(d MW_uZhrmp9I0e{$1hX4Qo literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/6f6d61c2e2a9e61bde545b17612082e336dbf12657fed44464f81392ef08bcd3.png b/docs/jupyter_execute/6f6d61c2e2a9e61bde545b17612082e336dbf12657fed44464f81392ef08bcd3.png new file mode 100644 index 0000000000000000000000000000000000000000..5f40d119c715a9bca37b69e346f9de63841ec849 GIT binary patch literal 24406 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 ZG$g<(U+coggJ9f~bTsrS8S2)7{{rn8E}Q@W literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/7bdc777046c1c114be028beeaf78b078b852f3f468d81e5de44497baa0098529.png b/docs/jupyter_execute/7bdc777046c1c114be028beeaf78b078b852f3f468d81e5de44497baa0098529.png new file mode 100644 index 0000000000000000000000000000000000000000..e714ee38d4bed0d97e41a312bcb1e54c42d4cbd0 GIT binary patch literal 24166 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 R0-pKK;OXk;vd$@?2>@4kpvV9K literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/7c8f57f652261b4bf928ccf71909dbf3c0315193407a671f723e581b531ebbfe.png b/docs/jupyter_execute/7c8f57f652261b4bf928ccf71909dbf3c0315193407a671f723e581b531ebbfe.png new file mode 100644 index 0000000000000000000000000000000000000000..c920fff7b33246e9db89a2ea3793197b7c66a65b GIT binary patch literal 16807 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 literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/873548556a50f2ceb43c031c62b56329947da6ab8c37e7e79190a1d53905a422.png b/docs/jupyter_execute/873548556a50f2ceb43c031c62b56329947da6ab8c37e7e79190a1d53905a422.png new file mode 100644 index 0000000000000000000000000000000000000000..997e779a588a6293060c082dd2c7c28524b09fb4 GIT binary patch literal 19360 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 MzL{Q*&i;^p0%rZd(*OVf literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/8db22403485fbe4480d0cc5e13fce4bc93180755628bfd2c02b35bb41cd17f4d.png b/docs/jupyter_execute/8db22403485fbe4480d0cc5e13fce4bc93180755628bfd2c02b35bb41cd17f4d.png new file mode 100644 index 0000000000000000000000000000000000000000..fc02e27cfdee25f2da539118c2d547026d5ac65c GIT binary patch literal 15150 zcmbt*2T)X5w{DAyijqb}KnW_MBA`f+APoYFsN|eQBnwEE)QBixK$M(w&XNV8RTNM_ zGDudDoFp`<32*JjnSbWqxpm*GS2a^}hCXqhy}$K^bsj6oNmEiVQeZF`N|~!tN*D~8 z6b7>`Z#OyokuN}CpZB5R$GE5(ZlkB;BRnrcGp*BGOZc7tOHN#+pBW0v6soaa2 z>T|VMY46*dZG5OB&bpt>IN@dlf9$we7 z=(zQzi+9Aey5QR&)-`r2kF)L%3`TtSUS3_eyZdH4j$tq~bGzZ;S%1>{!Y{SQX|`eR zzmR4n!(fj3i|@c-B=kzh$Z-3{$HxmjHgQFkJ!(`wRrW#{OdKs|T}!;A&riqlgLICo zSXMH{PcUx{rT-HE7mDmEO1Tk9y z?yrWvwUQVN{UufkGDqr{%^Wavx;qkBZ;JW&O6|bhr$yV%(y*lnTjJC(w8jjSQY$Mf zWy28`@D_*e3KrT9eV)1FN}MXG`+nDSV{HZ7Q&(3P921i>I%@jy!w1v%5BCVWE$7Kc zW^0#>KRJ`5P#3}#92S-q6%~bvY6v$Rqk`u-&*=O7h)_bMJJGy3;c}{F$*qqR6`LDG z+w#7XQ`hC?I~S*Vfq`^q zsWEfJl{JMM<-0I%pWO}I#lmyz;gx6fHr)cT9viPyZiFYaXR2GYr72>Gj+0;GRWsGh zT2o{h`AlE1nSFo%h*8KkiP?QY@pYdSmwu&AdwaW9nSJ`P(1 zuV7@9yxv`6JwPoQ+-goQDRm5H(2m5Cdb!lJw5$GN8>Pi}x>_a;EfNwE4jeq#ey1ig z)={4Hes@?>H^WsD^YhO;jJL^r|NfnVnz}Pa)OCS4u&Ea<;uOO6v8E<7E31CQuEw85 z-P!r|kHNtyf#l?5tmXJXX9-Vsr4P)sFxo;-Qy7NsGKb73PoGYO_Dpq%F7+nDFkTN( zQc_Y;RE$qZI7YOy=*&^o)r}4a44e{xnU#^A{;KEa&``Q|iIsV0j_!O+o72sGq?uP? zV`KBtrg)0Idt1YJ3=40*BXh;K zjZiy%@G(&OH@Buy1k~FTnDCSoLx7KE79f|9(@x{DKb5 ztoSDY5`UfH?T;L|%gcZTbWh94FgFhXLhu>5YXe$g&`IeL@EoJrx!rY)>aV*J^{&0k z1Te}0@O0BgeQOU-?_^yW^vL3Hvc)1TfD!!Bc;e*uB&!2oXWBgAV?R>Z3JkfKs_T};M zo|0TTE-m|(%0y{@b3n!jev1%Tn+fXr?y4tFoG4rDws7xGPEECdDgL>xPT9&T2X2qw ztcA@L-#O8qXHXRs6qE!DNp!CEco`rjp-owS=h_;h*GF9#g0sCp-$_5CkEcC;CCWCo zbxcK1FQ&2hWXwH@L;7y77N`3%<)VenYMwJ`6`2PMSav5}@*6XP7qodV(V8o*nt_m z#i_2Iz&{l{fEPMuP?apM`2H`{4`epLel0}f8k!k&H17d2kKeCZfjSjZO~ z6g2wnomc8bIY-ChD7n=2Yd3D}`zpkPiq<@i&vW$aE5it^dzn?)7&{F0^?-|87})*4 zVqh#@K6Tr5Cn%Ls&DzF(s>;fVhpkF4g&3L5{`j~}Oix862vCp=cVtYvb(%C&X%{@x zu=}RE3Zwy>id=ozP6MnM85v=x{8_|u=H_ex0DCO2UBB*5LR`auk4nZcnGdy<)Q?v+ zeTfz!bZA?ryAv0&MCHGL&b6nz$U;?JJ@x0$+vT!2T&20W`J{lev-5aIb|n1NdGVwz zBer#V3_s{qS8;H2tHDsSnJrEC!FES~g)6#!{k0#5y5Be#gq+pS>F(BYzQ_#! zz^ShXxGapu!|b#8@!@fIsZC

x?J@s>!dfppXV60Xk{IfJdA&cu;ITkQ1tp(?qo( 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 literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/92a4ae3ce66c5787a093e68727ab74ca41566ea2b8988989bc9e1587d73270c4.png b/docs/jupyter_execute/92a4ae3ce66c5787a093e68727ab74ca41566ea2b8988989bc9e1587d73270c4.png new file mode 100644 index 0000000000000000000000000000000000000000..699f121757f1c5739373f75c95d70ffd19cb4711 GIT binary patch literal 15543 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 JMc3{<{vR*3yF&l~ literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/9962d6e14d363f511d12deeffca1622a4e436058c09d5a7c1d307f3fe7032fd3.png b/docs/jupyter_execute/9962d6e14d363f511d12deeffca1622a4e436058c09d5a7c1d307f3fe7032fd3.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7648fc0db8b583da7562650e68aae36e0c821a GIT binary patch literal 19236 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 literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/a1c914a09baf612351952bef7dab8607f206e4878de799a68b08abcc88b54752.png b/docs/jupyter_execute/a1c914a09baf612351952bef7dab8607f206e4878de799a68b08abcc88b54752.png new file mode 100644 index 0000000000000000000000000000000000000000..d49d70313e70ce69ed18f533d0aa5bd6df592823 GIT binary patch literal 21519 zcmb5WcRZKx`#=0rLfI>Ogb*^bL$*-aWJOlldqXGWP>*_-T@z3=1F z`}6yLe!u&^ACLR~<2@c;*L7a!b)4sUjOX)tTp=p=<#Df2UO}NyxOWv~)KI7kf+!SP zAr=PwMbkw_9sVQiEUV+JZfEZ7X6$H&x@YWcZ*Avn{q!-ttC^$IQ#)HePGL?S4*Dm~ z&h}0sTwFH)>jF+YM+>fAinVJn$YpzlhfXLIzA^F-TDHW8rzn)V_gxuD4fnUJV{RHG z0}~h<7IB&JmomtxG$mIq5sU7U^M4~E?t2oNDD(aY*VH|JTw?x^EOM(`a@Tinkt#KX zhF%E8MVBPFAyCOtD7sG9bT2sgIY)8T?Np~-8T0japMv*mF`{n2ucWhv(lanH@DlLm zU?cxysemIWBO_y~LT(!z9Q^$q_b34&VYH-i`8D{_zrkJ_e#8iv3WOhVLiLv}P$uc- zHJ4fq7}?n1N)lvn2Eh-Ok|eSuSFbj7bl~zn>@eZG$2qEB<%*ka3@hK5 zdifZcFYEvJX

  • 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 Pz@!~pJzRLsfnWR%;g!oM literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/bf45c11afc81258b0d781083c888d4320c194d7c24e20e3cda1174cf5dad03e0.png b/docs/jupyter_execute/bf45c11afc81258b0d781083c888d4320c194d7c24e20e3cda1174cf5dad03e0.png new file mode 100644 index 0000000000000000000000000000000000000000..62f69deecac8026d6d2ca449b3d4a9a089a36fa4 GIT binary patch literal 10066 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�BB>ykHHDtnkO8-J@CF3pH!q@vMsQ1S8c zblJ5Be-;3oYVr}VH8T@<6fYH2*}nTw0RbCeAbEIrl7R<9UzLoohUeR3pz;yl0{8(& zU{&S0RLy%ioYzulu>&F z)BpjCFdOwMOa*1)_-9{L#D;DVDS8!?jBY+qrCe>Y^;EQq^2<5g^P)rCb626 zeFu;axc8k=JYbEzJ4?7CR>Os5+bY$|pUA7Hr#ArvAgkw`o1xi$7Oc#485vTqp$MhR zyZ^O(Fm9Txy6;5WXY$$sRg_M8a`N)!(8|waV`JU{0pjvv=Y9vFRs;@zZ9)XVBvh`LbM~rc(MW>^!S8%+7^lW{eEA(g1}q+_!IK zhWSMlf+MzBS@~32=)zG$J~Ay$Civ)4BfL!%8}fi^oPg^Fco$E*%5~8}F zwKE+Z9V@WE^tP6jc=x`L&X-wyt+gzGpJI~PVuXeN-nLzqddO%Gmcdv0496TlZWj(m zIshGXygr9-pdlbctz#*C%h4V0O$(2Xj&@=)m05v-bK&L4I(g|5#E222pytda3juK$ z=!w;ej`tl36-D)hXZpB{0dbJ{#i!;UaL!0O@H_v5Nd42k#qQ6}yadU`f|04xALp;R zKhV$hBlkEQy+z6ntjCQS_n)`5?a5rs&N|F0UMSKR3u|i^xAvUc?3hJL;X7&R&2Qdx zq9U7DT+Dp=!Pn0(pV_(|F~`K@$?+^DBrm3J_+iRa5ZsD{xap;-)%55QAJ7*rhP;-J z_dyb{pIDCr7q)9D@MSzZ3dvo{%7W^!A8MRtKZ=fvtJzv-Z4f0;u|=i)7@|Gwc05cb zlN5nhD=4fz+;7wL_AMQbJaU%oEWkpJBr^iH!EdpKpU7H)Zg{-~76I0HU#2rQ7YyMi zbB$H0wx~tWBMJ}+G_|$6P-A8RxwPi!_#qOs$W$P(E~_--PT2Vkw{I7tuAmTJ86{{y zmNa&ggROVPuy|SBi6(ZVW2lF2bah=3zf3QFvD$toLjQ?SHlrj;;Mbxw^Tz4YZZpH#@Ep>6_EoBAi$;m!IEb-0PefpRBCxp$`o? zeOe3#gW9OC&qH;9A_8FTSEWX-!yRuPDQ*9Qqwg8!>FObizVq`IyyRq!((xmjSQm_!03tH1JqE+)R-H#cmw74jvj`C zQsgOK#<1D?C>s(m8%lY9!3RZ7bXe%~itLo&D|n@bW2Nd5Fix5{p?cU2$hOLCz3U9L zSzbv=w9Qja&+)f3_VR{?D~5*j@h{C@Yq2?;I(6#!@DchesVP$f!$DgF0Td|#vKd%Z z{v0E&a_?h!ytRmxy$>+WZ_{y{?0)~AmjZ#Pb6}ulpfMvelQ)aAwH#Hw^-oL;b0F75 r09_SXXN|x98Rq`e()kIYK0W`umfy-kp+A*?s;7PdEArMRr||y(>GM{D literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/c107a6dfd6996b285ed0417049fff7921ecc9fdf04d164a5d38b09c5d79a2928.png b/docs/jupyter_execute/c107a6dfd6996b285ed0417049fff7921ecc9fdf04d164a5d38b09c5d79a2928.png new file mode 100644 index 0000000000000000000000000000000000000000..3d56743cbf3ea353b92b1c658f5c188612a17451 GIT binary patch literal 19179 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 YrsXp_h3*(QJPLJHRR>+Fd@uOl0KG6%!vFvP literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/cdad20abfcc24fbd4cf28786828a3603ff6d4ead6bcb3bc0c18f0b042b8295c2.png b/docs/jupyter_execute/cdad20abfcc24fbd4cf28786828a3603ff6d4ead6bcb3bc0c18f0b042b8295c2.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1b2c94aef3601dd5865a0d9bd584e310bc9d4f GIT binary patch literal 14273 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 OP>QlDGMP8;`2Qb<<+CdQ literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/de5e972375fe7cd173b51f678e6e3618ea3e5dccef27d7d271e594eac2d6adec.png b/docs/jupyter_execute/de5e972375fe7cd173b51f678e6e3618ea3e5dccef27d7d271e594eac2d6adec.png new file mode 100644 index 0000000000000000000000000000000000000000..0686b1d7c27b40d21b83a6fabf1ce00227336b14 GIT binary patch literal 24390 zcmb4rWmJ_>*X<#s8|jh|kQ9&(l}1VgDQOUpmTn}aLpl}d1`(vY6eT2;Zcr&fLc+U_ zzV{pN_v?;31`fwLoaZ_F*?X_G=A3J8BJQgx;Nwu^AP@+AB}Lf>2n4Dy0)bMEg#qt8 zbd%MD|3qEobX_$aEnPiKogX7qOZCY_JILYN}56!oJTFm$kx6t)z+y?m_sK2IpAX zjq6$WRsL%TILKcRr(aE>f#LDr`2QIDXi{cx6om{6iRn<5sE4HG!TKi{+q3L!y7G#O z(K=h5a>M3HC&mbvgiWg6x&jgsl4|F*dm&+A^9LfBn3ydWM>ALi1YwPhqVdi{8HH~6Oixu@%oX<|At*Nz`w zYKf_-BhfGkDA~8?p490Z@MKy!3u2*~0`_LMXMyOmVZp@}`y46RR z$DrXE3L3`jFOlSXR|+0@4XQF66&fkTg$9`Q9kU(&Jcs!i7YWKqiHwTsexJye5FbCX z*?*OSqPx2rjUyR{Bm&*o|MYqoA%p+ain*CtwMi$cVNWZYx{osAj=M(aym1tK{f=67 zLS}h6*T)=5n(vbp!J(mYc??$O=D|HZvMektCQDtRp4)X(L<|f8Q!9CSc^U==vrdB_ zK779Wd#3S*&7i8%WBjD#32!fan2n~}o$?N9St5bw=f19RwL)qybIm8^#=2+Yx!j~yab&iIZVFW z6dq5pFfqNJ!Pa&NBcO}S&(D9flPP3R9TXhQ=dm*@PM#?~YJKZ|iPrD%X$yMy6n2g( z`J+!b=*?eo=$^waR3#~&ot~b)#=^3iat3R@w7EI$6riPbRYF37h?ErVmHQ>^G;}f7 zO+@m&&;|c9eA}r?IXk=Z&Vz-B=IrY)T#^QsT9Es$ld@Mz*dsAL9lPda_sQMIj~}Or zy0BInwc;o%E2Cp#uAJ?*_vb4mqN|(=6E^==>P<#vgK)BGmesG&=5)o9dBBl;pZzL3 z4^LP{g@Za>#e8a5XnS^d+D#8%AyI>(VO3br6v4IKcZ+AUX(Vw?Yl{-xauFGqE$}qN*2RQzyT83$}qhDZDGHH+U^EGItd9i?FCS#4igvTt*Tl zw`a?Si7@!U`#0`1W_q0S%maDq)>sAGWfxigb8+mIrfCF%$7p2$;w*tk*TI#mqtRh? zomv5z9zr_c8WcBX;nbhXxsz{8E{GvqqEQE9V!gz5@3NA~Jj}bRZQ3~U6uF&|gG~&V z+Z>54Dnwq}<(!B4i?fi&SyTjW-B~lcdG}6t~aIW>-H-ilPF;_e@v7&CKQ6KS>ANwl=e65O*BBVoA?Ke2yMm6k@;t~7`k85!}R zr(j@+gREgboFggXdvdd-rDd-JjqsYd_{<%pOf@EQ!H>gz|| z&@43h^=+d1-MjXU8i?<17zQ$jA~%0oRa=mJUgyqSGk#LNS6Ax~1R~;Zp7v(*Y)lul zC6|w*k1_2I6FjY1TU#rxtPBed?lz3mDABslk^F8Jk9&5801=<2XR$ZM3PEF=FWu&8 zU_h&uBM}i25@IRozcbtDy}as?e(C`X?RkV z3=?KyJw3fNNgtufibt5ZxKXUP{r8u9!y!+ma6j5PJ=xr}hCC@e3k6D_q*>2^jNGZN z?wLF;i{YB3KZL|@7TreCr_1O+4-Q5v9tkTJJb<4cbIlZ-+U3u*I70RPj&1q;&iDIu zTRizLPgdg2)TC41TU6K8wXU&-RAzZV_*oDIWiwETxw5}_@xr0e@$1_sP)7P7=`kiK z?wm9b-aaS7rQqoq$`*&pW*S~BHaamw(9X6|gA9zVbd$BdzCH{_M#guuR`&Mz3JU#U zXL+w*FD@+wrlnCLI$m5?z8P@oTW;J=-`3VPFgS>Y7+7YR6_2J$sna0ix<(}t9|3HYb7^e zf47=9^1X6!%RJ3)aMql@2ES*GUh8}2eKNU|@4Ifp$5FQ1Hl7XJJ|hm^_NA>@WJ%4v zSJ6r3u&w}@gn~;LgM}nwq}Fe{fRcnC=ZYF~9y4?u@VL5)j>gBI{tb*)lSaPkobB%) zJ|$<~w|$FRgbYGSxRm^d4VtYB_B{^Uc<&0?O%deRKVR$X$S2`zI(3>yX12EKS*%z7 zN}kdf$IWorXTcO26xox>nAv;^>9V!IS>DjBk@!wSs${+!#b}Fnt@OY9gs#aWQr1aA zyg3kv=VLhNe@CXT>wx~bD3}znxcB()(2&ej;khPUhUHTi3Eem_ikh?&*( zBBFzw|3as9ycC*1-87{USaO8ADr|r)lEIi~zsFx@Ea#iSL}r^d65r2f*qB4^1xS+5 zn!INq(XPms;6M%zjYZB234A+C;yr42&h@{OKWEZNO!@DzxZ(D{DlW=@iWIsI(RW@37(@obLg|OC z^NNFwPp#COB5lSCSWyW7^kGB)|VG2g=1`N3`vmdQT<1gQ@q@Oxy^qMDfm(& zDKjJlz1*OYBsVwrSfa9}h1TES9~q_whKBe_Lr%Y4kQ+fG3fsuxp0YCE;}2JnN%ZLG z=vbm&A&&lJGcRrr0$PSOQSjU8Lk_Z}du!an<`Xl+#Fiw){J4Wp3tp-G-4Ycq7S}8% z%k?NFy>Er#(-fv|#6?5|O6OWPczJnkt+}~&>a)rT?|uz>7ng^G+Mk%L8zcT9HDXfI zymwRKv9a<`pFZv8=Hyg%tSZ1oL$%$Qqg_O9!q=9><+B!#ADbTi_@evHfsTud>+lGP zk?QN~-_1trU9@D%q8tFpvix51AdNn=Ay_rweN5wOIK*) zlBwR$o+GPvY`7|u@V7?m({+CMG?FWmkdzeC)6*072=Gs#N_r4LK1CLi+}GIOUZ$E& zXMXTPj$8FQ*|$)8J3As066Zm`$;nA4S691++Z-G?^z`)jF3zQ;rSUIbeBN95^5u)7 zib{w9&-3>7cGGqgNot}If|=n}GvjY=EkY9a|IJ$D|H?-jtE<-}BxskGmIgk3>g{I; zh~C?Ck~p4qK`k6_4ZK^I7^!Z|Eq%A--ru5H5e1pug9M=HaFw5*U+#nrK84~no_g}l zRm-R(gX>3zEwTGcInoLcK{kSrmkXm zhH()H6bC0K`^GN;`xvEO$pC&{pP4oCIp@;ji0EeK<-fsTtDLm6vD^ZtOg71 zyN+u11~SrLpP4p3xf15)ih}qd=Arr*#P!9k6_QaBZK4ZAU_F@{bUO7e`McE7)Pt&= zCg!GL^Zv1jXLGczkoB6_QZlt)UyhHzyzzH9uDo2r6+I)db;@0F#y5ICz2W#9=2X1! zv97Us9J)EX+|i%<$bdZVavqDstDuH4jYSb8iWZZl4g!_ z>pJL{m}VPXBaVuHQ6_77_aCy2#(=3@GqH~~+NMJw+Sy#p0C{Ri!o_wL-T!%M-59b(qr+yb&vrO}(#nSSm`hNX>M%;VGrC1MN_br0uKxzTVzRR46Mbhya#@zYFt> zI4Se<=Lah3{8!3!s=``ZFC^m(+k8doefRFRoUUhXPS-Hc2mJ8^R)+sF;PTXvA@4!S zD=iMk#`G5nvm0Ao75{Jm{{mvup0s=xk525W zl9CeSFS`a{TqeNgk-1Eksd1YxAt3?i_%ZkK_SZUGco7z9pOj_KJu*{uq^~(M%;Q$%)2i%G&J`1_N>zq1$>U|@MuMdlv8lBId@?=LbO<;HkyQ3V`gmAIWZ?EmcrPV7>X+v4o+7`AX<(4w!W5@)}{c1;OOEt zD@d`-?Xsa4sSbZJ(7+82jgqjr@GAE)p>^b9smnr%+W}#9p@$`7u?qRLTdfPd|6pkiNPAir8^6;e@f;Ov# zkKQ>ncpX^gy?krj?msZJe)LCLAT^SYr^VfDpRk|*AO5F|p>9-CQR&$lD_UAy94Tf~ zg~+^DV54#Ka}1le_ewja0CJZ)M{zC|R$mn(foy6d`1|cR031LFG;ZaJEH>`fK35

    Z@Ew`o_ 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 ZpdI3^u}WQHBb@dW?O$}MziFQG{vVc2L^1#X literal 0 HcmV?d00001 diff --git a/docs/jupyter_execute/examples/dict_inputs.ipynb b/docs/jupyter_execute/examples/dict_inputs.ipynb new file mode 100644 index 0000000..1a7639a --- /dev/null +++ b/docs/jupyter_execute/examples/dict_inputs.ipynb @@ -0,0 +1,235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dictionary Inputs\n", + "In the previous example, the model parameters were built from a '.yaml' file. In some cases, the functional parameters are relatively complex and can be challenging to specify in the '.yaml' format. Therefore, the model can also be constructed using a dictionary, as demonstrated below.\n", + "\n", + "## Import Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Define the Parameters\n", + "In addition to the open circuit voltage (`ocv`), all circuit elements (i.e., `R0`, `R1`, `C1`, etc.) must be specified as functions. While `OCV` is only a function of the state of charge (`soc`, -), the circuit elements are function of both soc and temperature (`T_cell`, K). It is important that these are the only inputs to the functions and that the inputs are given in the correct order. \n", + "\n", + "The functions below come from fitting the equivalent circuit model to a 75 Ah graphite-NMC battery made by Kokam. Fits were performed using charge and discharge pulses from HPPC tests done at multiple temperatures. The `soc` was assumed constant during a single pulse and each resistor and capacitor element was fit as a constant for a given soc/temperature condition. Expressions below come from AI-Batt, which is an open-source software capable of semi-autonomously identifying algebraic expressions that map inputs (`soc` and `T_cell`) to outputs (`R0`, `R1`, `C1`)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "stressors = {'q_dis': 1.}\n", + "\n", + "\n", + "def calc_xa(soc: float) -> float:\n", + " return 8.5e-3 + soc*(7.8e-1 - 8.5e-3)\n", + "\n", + "\n", + "def calc_Ua(soc: float) -> float:\n", + " xa = calc_xa(soc)\n", + " Ua = 0.6379 + 0.5416*np.exp(-305.5309*xa) \\\n", + " + 0.0440*np.tanh(-1.*(xa-0.1958) / 0.1088) \\\n", + " - 0.1978*np.tanh((xa-1.0571) / 0.0854) \\\n", + " - 0.6875*np.tanh((xa+0.0117) / 0.0529) \\\n", + " - 0.0175*np.tanh((xa-0.5692) / 0.0875)\n", + "\n", + " return Ua\n", + "\n", + "\n", + "def normalize_inputs(soc: float, T_cell: float) -> dict:\n", + " inputs = {\n", + " 'T_norm': T_cell / (273.15 + 35.),\n", + " 'Ua_norm': calc_Ua(soc) / 0.123,\n", + " }\n", + " return inputs\n", + "\n", + "\n", + "def ocv_func(soc: float) -> float:\n", + " coeffs = np.array([\n", + " 1846.82880284425, -9142.89133579961, 19274.3547435787, -22550.631463739,\n", + " 15988.8818738468, -7038.74760241881, 1895.2432152617, -296.104300038221,\n", + " 24.6343726509044, 2.63809042502323,\n", + " ])\n", + " return np.polyval(coeffs, soc)\n", + "\n", + "\n", + "def R0_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([4.07e12, 23.2, -16., -47.5, 2.62])\n", + "\n", + " R0 = b[0] * np.exp( b[1] / T_norm**4 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/3) ) \\\n", + " * np.exp( b[3] / T_norm**0.5 ) \\\n", + " * np.exp( b[4] / stressors['q_dis'] )\n", + "\n", + " return R0\n", + "\n", + "\n", + "def R1_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([2.84e-5, -12.5, 11.6, 1.96, -1.67])\n", + "\n", + " R1 = b[0] * np.exp( b[1] / T_norm**3 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[3] / stressors['q_dis'] ) \\\n", + " * np.exp( b[4] * soc**4 )\n", + "\n", + " return R1\n", + "\n", + "\n", + "def C1_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([19., -3.11, -27., 36.2, -0.256])\n", + "\n", + " C1 = b[0] * np.exp( b[1] * soc**4 ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/2) ) \\\n", + " * np.exp( b[3] / T_norm**3 * Ua_norm**(1/3) ) \\\n", + " * np.exp( b[4] / stressors['q_dis']**3 )\n", + "\n", + " return C1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Construct a Model\n", + "The model is constructed below using all necessary keyword arguments. You can see a list of these parameters using ``help(thevenin.Model)``." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "params = {\n", + " 'num_RC_pairs': 1,\n", + " 'soc0': 1.,\n", + " 'capacity': 75.,\n", + " 'mass': 1.9,\n", + " 'isothermal': False,\n", + " 'Cp': 745.,\n", + " 'T_inf': 300.,\n", + " 'h_therm': 12.,\n", + " 'A_therm': 1.,\n", + " 'ocv': ocv_func,\n", + " 'R0': R0_func,\n", + " 'R1': R1_func,\n", + " 'C1': C1_func,\n", + "}\n", + "\n", + "model = thevenin.Model(params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Build an Experiment\n", + "Experiments are built using the `Experiment` class. An experiment starts out empty and is then constructed by adding a series of current-, voltage-, or power-controlled steps. Each step requires knowing the control mode/units, the control value, a relative time span, and limiting criteria (optional). Control values can be specified as either constants or dynamic profiles with sinatures like `f(t: float) -> float` where `t` is the relative time of the new step, in seconds. The experiment below discharges at a nominal C/5 rate for up to 5 hours. A limit is set such that if the voltage hits 3 V then the next step is triggered early. Afterward, the battery rests for 10 min before charging at C/5 for 5 hours or until 4.2 V is reached. The final step is a 1 hour voltage hold at 4.2 V.\n", + "\n", + "Note that the time span for each step is constructed as `(t_max: float, dt: float)` which is used to determine the time array as `tspan = np.arange(0., t_max + dt, dt)`. You can also construct a time array given `(t_max: float, Nt: int)` by using an integer instead of a float in the second position. In this case, `tspan = np.linspace(0., t_max, Nt)`. To learn more about building an experiment, including which limits are allowed and/or how to adjust solver settings on a per-step basis, see the documentation `help(thevenin.Experiment)`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 15., (5.*3600., 60.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 5.))\n", + "expr.add_step('current_A', -15., (5.*3600., 60.), limits=('voltage_V', 4.2))\n", + "expr.add_step('voltage_V', 4.2, (3600., 60.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run the Experiment\n", + "Experiments are run using either the `run` method, as shown below, or the `run_step` method. The difference between the two is that the `run` method will run all experiment steps with one call. If you would prefer to run the discharge first, perform an analysis, and then run the rest, etc. then you will want to use the `run_step` method. In this case, you should always start with step 0 and then run the following steps in order. When you use `run_step` the models internal state is saved at the end of each step. Therefore, after all steps have been run, you should run the `pre` method to pre-process the model back to its original initial state. All of this is handled automatically in the `run` method.\n", + "\n", + "Regardless of how you run your experiment, the return value will be a solution instance. Solution instances each contain a `vars` attribute which contains a dictionary of the output variables. Keys are generally self descriptive and include units where applicable. To quickly plot any two variables against one another, use the `plot` method with the two keys of interest specified for the `x` and `y` variables of the figure. Below, time (in hours) is plotted against voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "

    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "soln = model.run(expr)\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/jupyter_execute/examples/ramping.ipynb b/docs/jupyter_execute/examples/ramping.ipynb new file mode 100644 index 0000000..f6041d4 --- /dev/null +++ b/docs/jupyter_execute/examples/ramping.ipynb @@ -0,0 +1,236 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ramping\n", + "Even with robust numerical solvers and thoughtfully chosen default tolerances, simulations may occasionally fail under certain conditions. This is often due to either inconsistent initial conditions or stiffness issues that prevent proper initialization from a rested state. While our solvers are designed to handle many scenarios effectively, the following issues may still arise:\n", + "\n", + "1. **Inconsistent initial conditions:**\n", + " \n", + " Many solvers are capable of detecting and resolving inconsistent initial conditions before taking the first step. However, this feature can be disabled, allowing bad initial conditions to be passed to the solver, and generally resulting in failures.\n", + "\n", + "2. **Stiff problems:**\n", + " \n", + " Some problems are inherently stiff and cannot be initialized effectively, even with a solver's initialization correction schemes. In such cases, the solver may have difficulty determining a stable solution.\n", + "\n", + "To address these issues, introducing a ramped load can stabilize the simulation. By default, Thevenin models are set to always ask the solver to correct the initial condition. The starting guess that gets passed to the solver is always a rested condition. Therefore, ramped loads can gradually adjust from the initial state to the desired load, making them easier for the solver to handle. This technique helps avoid the solver crashing due to an abrupt change in load.\n", + "\n", + "In this tutorial, we will demonstrate how to use the `loadfns` module to create a ramped load profile. While we will focus one specific function, other useful helper functions are available in the `loadfns` module, and we encourage you to explore the full documentation for more information." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating Ramped Demands\n", + "Thevenin supports both constant and dynamic load profiles for each experimental step. For example, below we make a profile that discharges the battery at a constant current until 3.5 V and then charges the battery by ramping the voltage until 4.2 V." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import matplotlib.pyplot as plt\n", + "\n", + "def voltage_ramp(t: float) -> float:\n", + " return 3.5 + 5e-3*t\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (3600., 60.), limits=('voltage_V', 3.5))\n", + "expr.add_step('voltage_V', voltage_ramp, (600., 10.), limits=('voltage_V', 4.2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This general approach provides the most flexibility so users can write any constant or dynamic load, including interpolations of data. However, we also provide select loads in the `loadfns` module that help with both solver stability and reduce the amount of code users need to write out for simple profiles. For instance, the same experiment above can also be constructed using the `Ramp` class, as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "voltage_ramp = thevenin.loadfns.Ramp(5e-3, 3.5)\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (3600., 60.), limits=('voltage_V', 3.5))\n", + "expr.add_step('voltage_V', voltage_ramp, (600., 10.), limits=('voltage_V', 4.2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below, we demonstrate running this experimental protocol so we can see that it is doing what we expect." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[thevenin UserWarning]: Using the default parameter file 'params.yaml'.\n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABX4klEQVR4nO3deViU5dcH8O8zMzAgMAO4ALKqLK4g7rjkrqmZmvm6FWpZaViaVkq2WRmUaWmWmUuaS5Rrau4mKCqILIoroiKIIG4wgDLAzLx/KGP83ECWZ2b4fq5rritmnuXwhHK873PuW9DpdDoQERERmQiJ2AEQERERVSYmN0RERGRSmNwQERGRSWFyQ0RERCaFyQ0RERGZFCY3REREZFKY3BAREZFJkYkdQHXTarW4evUqbGxsIAiC2OEQERFRGeh0OuTm5qJ+/fqQSJ48NlPjkpurV6/C1dVV7DCIiIjoGaSlpcHFxeWJx9S45MbGxgbAvYejUChEjoaIiIjKQqVSwdXVVf97/ElqXHJTMhWlUCiY3BARERmZspSUsKCYiIiITAqTGyIiIjIpTG6IiIjIpDC5ISIiIpPC5IaIiIhMCpMbIiIiMilMboiIiMikGExyExoaCkEQMGXKlMces3HjRrRp0wa2trawsrJCy5YtsWrVquoLkoiIiAyeQSziFxMTg8WLF8PX1/eJx9nb22PmzJlo3LgxzM3NsW3bNowbNw716tVD3759qylaIiIiMmSij9zk5eVh9OjRWLJkCezs7J54bLdu3TBkyBA0adIEjRo1wuTJk+Hr64vIyMhqipaIiIgMnejJTVBQEAYMGIBevXqV6zydTod9+/bh3LlzeO655x57nFqthkqlKvUiIiIi0yXqtFRYWBji4uIQExNT5nNycnLg7OwMtVoNqVSKn3/+Gb17937s8SEhIZg1a1ZlhEtERERGQLSRm7S0NEyePBlr1qyBhYVFmc+zsbFBQkICYmJiMHv2bEydOhXh4eGPPT44OBg5OTn6V1paWiVE/2hpt+7g/LXcKrs+ERERPZ2g0+l0Ytx48+bNGDJkCKRSqf49jUYDQRAgkUj0IzNPM378eKSlpWHXrl1luq9KpYJSqUROTk6l7gq+IzEDk/9MQLP6Cmyc2LFMu5YSERFR2ZTn97do01I9e/ZEYmJiqffGjRuHxo0bY/r06WVKbABAq9VCrVZXRYjl0trdDjKJgPjUbGw5fhWDWjqLHRIREVGNJFpyY2Njg+bNm5d6z8rKCrVr19a/HxgYCGdnZ4SEhAC4Vz/Tpk0bNGrUCGq1Gtu3b8eqVauwaNGiao//f9VTWODtbo3w3e4kfLPjLPo0dYSledkSNCIiIqo8BrHOzeOkpqZCInlQFpSfn4+3334bV65cgaWlJRo3bozVq1dj+PDhIkb5wPguDfHH0TSkZ9/F0oMX8U5PL7FDIiIiqnFEq7kRS1XV3JT4OyEdk8MSYGkmRfgH3eCgKHuxNBERET1aeX5/i77Ojal50a8+/N1scbdIgzm7zokdDhERUY3D5KaSCYKAT19oCgBYH3sFiVdyRI6IiIioZmFyUwX83ewwuGV9AMCX206jhs38ERERiYrJTRX58PnGsDCT4GjKLew8mSl2OERERDUGk5sqUt/WEm8+1wgA8PWOMygo0ogcERERUc3A5KYKTejaEA4KOdJu3cWKwylih0NERFQjMLmpQrXMZfigb2MAwMJ/k3E9V/yVlImIiEwdk5sq9pK/M1o4K5GnLsa8PUlih0NERGTymNxUMYlEwCf3W8P/jEnFmQyVyBERERGZNiY31aBdA3sMaOEErQ6YtfUUW8OJiIiqEJObajKj373W8KiLt/DH0TSxwyEiIjJZTG6qiat9LbzfxwcAMPuf07hy+47IEREREZkmJjfVaFynBmjtbof8Qg2CNyZyeoqIiKgKMLmpRlKJgG9f9oVcJsHB8zfwZwynp4iIiCobk5tq1qiutX566qt/ziA9+67IEREREZkWJjcieK1zA/i72SJPXczpKSIiokrG5EYEUomAOS/7wVwmwYGk61gXe0XskIiIiEwGkxuReNazxrTe3gCAL7edRkYOp6eIiIgqA5MbEY3v0hAtXW2RW1CMjzg9RUREVCmY3IhIKhHw3TBfmMsk2H/uOjbEpYsdEhERkdFjciMyz3o2eK/XvempWVtPITOnQOSIiIiIjBuTGwPwRpcG8HNRIregGMEbT3B6ioiIqAKY3BgAmVSCOcP89NNTyyIviR0SERGR0WJyYyC8HWzwyQtNAQDf7DyLhLRscQMiIiIyUkxuDMgr7d3Qv4UjijQ6TFobh5y7RWKHREREZHSY3BgQQRAQOtQXrvaWuHL7LqavZ/0NERFReTG5MTAKCzP8NKoVzKQCdp7KxKqoy2KHREREZFSY3BggXxdbBPdrAgD4atsZnEzPETkiIiIi48HkxkCN6+SB3k0dUKjRYtLaOOQWsP6GiIioLJjcGChBEDDnZV8421oi5eYdfLTpJOtviIiIyoDJjQGzrWWOH0f5QyYRsPX4VYTFpIkdEhERkcFjcmPgWrnZ4YO+PgCAz7ecwpkMlcgRERERGTaDSW5CQ0MhCAKmTJny2GOWLFmCLl26wM7ODnZ2dujVqxeOHj1afUGK5I0uDdHdpy7UxVoEreH6N0RERE9iEMlNTEwMFi9eDF9f3yceFx4ejpEjR2L//v04cuQIXF1d0adPH6Snm/Zu2hKJgLn/1xL1lRa4eCMfk8PiodGy/oaIiOhRRE9u8vLyMHr0aCxZsgR2dnZPPHbNmjV4++230bJlSzRu3BhLly6FVqvFvn37HnuOWq2GSqUq9TJG9lbm+DWwDSzMJAg/dx3f7jordkhEREQGSfTkJigoCAMGDECvXr3Kfe6dO3dQVFQEe3v7xx4TEhICpVKpf7m6ulYkXFE1d1Zizst+AIDFERexKf6KyBEREREZHlGTm7CwMMTFxSEkJOSZzp8+fTrq16//xMQoODgYOTk5+ldamnF3HA30q4+g7o0AANM3JOI4N9gkIiIqRbTkJi0tDZMnT8aaNWtgYWFR7vNDQ0MRFhaGTZs2PfF8uVwOhUJR6mXspvX2Qa8m9VBYrMWbq44hS1UgdkhERERIzsrDF1tPY9WRFFHjEC25iY2NRVZWFlq1agWZTAaZTIaIiAgsWLAAMpkMGo3msed+9913CA0Nxe7du59ahGyKJBIB3w9vCa961rimUuPNVbEoKHr88yIiIqoOF67nYfmhS9gUL26jj2jJTc+ePZGYmIiEhAT9q02bNhg9ejQSEhIglUofed63336LL7/8Ejt37kSbNm2qOWrDYWNhhiWBbaC0NENCWjZmcgVjIiISmer+UiUKSzNR45CJdWMbGxs0b9681HtWVlaoXbu2/v3AwEA4Ozvra3K++eYbfPrpp1i7di08PDyQmZkJALC2toa1tXX1fgMGwKOOFRaO8seY5UexIe4KmjjZYHyXhmKHRURENVTJOmwKC3GTG9G7pZ4kNTUVGRkZ+q8XLVqEwsJCvPzyy3ByctK/vvvuOxGjFFcXr7qYOaApAODr7WdwIOm6yBEREVFNpSooBgAoLEUbOwEg4sjNo4SHhz/x65SUlGqLxZi81skDZzJUWB97BUFr47B+Qkf4ONqIHRYREdUwJdNSSpGnpQx65IbKRhAEzB7SHG3c7ZBbUIyxvx1FZg47qIiIqHqpCjgtRZVILpNiSWAbNKxrhYycAoz97aj+h4yIiKg6qO6WTEsxuaFKYmdljpXj2qGOtRxnM3MxcXUsCou1YodFREQ1BEduqEq42tfCb2Pbopa5FIeSb2LGhhNsESciomrxoBVc3JJeJjcmqIWLEj+NbgWpRMDG+HTM3Z0kdkhERFQD5JZ0S3HkhqpCd596+HrIvfWCFu5PxproyyJHREREpi7HQBbxY3Jjwoa3dcPknl4AgE82n8S+M9dEjoiIiExVsUaLPHXJyA2npagKTenlhWGtXaDVAZPWxiOBu4gTEVEVKElsAI7cUBUTBAFfv9QCz3nXxd0iDV5bEYPkrDyxwyIiIhNT0gZey1wKM6m46QWTmxrATCrBz6NboYWzErfyC/HqsmhcuX1H7LCIiMiEGEobOMDkpsawlsuw8rV28KxnjYycAryyNBrXc9Vih0VERCbCUNrAASY3NYq9lTlWv94eLnaWSLl5B68ui0bOHa5iTEREFceRGxKNo9ICq19vj7o291YxHrfiKPL/UwRGRET0LAxl6wWAyU2N5FHHCqtebwelpRniUrMxYXUs1MUascMiIiIjVrLGjY3IbeAAk5saq7GjAivG3dum4eD5G5j8RwKKNdyHioiInk3JtJSSIzckJn83OywNbANzmQQ7T2VixsZEaLXch4qIiMpPX1DMmhsSW0fPOlg40h9SiYD1sVfwxbbT3GiTiIjKTXV/XymO3JBB6NPMEd8N8wUArDicgpAdZ5ngEBFRubAVnAzOEH8XfD2kBQDg1wMXMWfXOSY4RERUZmwFJ4M0qr0bvhjUDADwc/gFfL/3vMgRERGRsTCUHcEBJjf0PwIDPPDpC00BAAv2ncd8JjhERFQG+nVuOHJDhui1zg0ws38TAMD3e5Pw0/5kkSMiIiJDx1ZwMnhvPNcQ059vDACYs+scFkdcEDkiIiIyVEUaLe4U3lsMlgXFZNAmdmuEab29AQAhO85i6cGLIkdERESGKLfgwTY+1nImN2Tg3unphck9vQAAX/1zBr8duiRyREREZGhK2sCtzKWQScVPLcSPgAzelF5emNTdEwAwa+tpLItkgkNERA+UdEoZQr0NwOSGykAQBEzr4423uzUCAHy57TRrcIiISE+/xg2TGzImgiDgg74++imqkB1nsfBftokTEdF/2sCZ3JCxEQQB7/X21hcZf7c7CfP2JHElYyKiGs6QVicGmNzQM3inpxdm9LvXJr5g33lu1UBEVMMZ0r5SAJMbekYTujbCxwPuLfT3c/gFbrZJRFSDceTmMUJDQyEIAqZMmfLYY06dOoWhQ4fCw8MDgiDghx9+qLb46GHjuzTU70X164GLmLX1NBMcIqIayJD2lQIMJLmJiYnB4sWL4evr+8Tj7ty5g4YNGyI0NBSOjo7VFB09SWCAh3438RWHU/Dx5pPQapngEBHVJA/2leK0FAAgLy8Po0ePxpIlS2BnZ/fEY9u2bYs5c+ZgxIgRkMvl1RQhPc2o9m74dqgvBAFYE52K99cfR7FGK3ZYRERUTdgK/j+CgoIwYMAA9OrVq0qur1aroVKpSr2o8v1fW1d8/38tIZUI2BiXjklr46Eu1ogdFhERVQMVF/F7ICwsDHFxcQgJCamye4SEhECpVOpfrq6uVXavmm6wvzMWjW4Fc6kEO09l4o3fY3G3kAkOEZGpUxWUTEvV8OQmLS0NkydPxpo1a2BhYVFl9wkODkZOTo7+lZaWVmX3IqBPM0csG9sGlmZSHEi6jjHLj+qHK4mIyDSxFfy+2NhYZGVloVWrVpDJZJDJZIiIiMCCBQsgk8mg0VTOv/jlcjkUCkWpF1WtLl51ser1drCRy3A05RZGL4nG7fxCscMiIqIqwlbw+3r27InExEQkJCToX23atMHo0aORkJAAqVQqVmhUCdp42OOPNzvA3sociek5GP7rEWSpCsQOi4iIKpm6WIOContNJDW+oNjGxgbNmzcv9bKyskLt2rXRvHlzAEBgYCCCg4P15xQWFuoTocLCQqSnpyMhIQHJyclifRv0BM2dlfjzzQ5wUMiRdC0PwxYfQdqtO2KHRURElaikDVwQABt5DZ+WKovU1FRkZGTov7569Sr8/f3h7++PjIwMfPfdd/D398f48eNFjJKexMvBBuve6ghXe0tcvnkHw345gvPXcsUOi4iIKknJlJS1XAaJRBA5mnsEXQ1bUlalUkGpVCInJ4f1N9UoM6cAryyLRnJWHmxrmeG3sW3h7/bkdY2IiMjwxafexpCfD8PFzhKR03tU2X3K8/vboEduyHQ4Ki3w11sB8HO1RfadIoxeGo0DSdfFDouIiCrI0NrAASY3VI3srcyxdnx7dPGqgzuFGry+MgbbTlwVOywiIqoAQ2sDB5jcUDWzksuwdEwbDPB1QpFGh3f+iMeqqMtih0VERM/I0NrAASY3JAK5TIoFI/zxSgc36HTAJ5tPYv7e89xRnIjICOk3zTSQNnCAyQ2JRCoR8OWg5ni3pxcA4Pu9Sfh8yynuKE5EZGRy7nLkhkhPEARM7e2Nzwc2BQCsPHIZU/5MQGExdxQnIjIWD3YEZ80Nkd7YTg0wf0RLyCQCthy/itdWxCCX+1ERERkFQ9sRHGByQwZiUEtnLBvbFrXMpYhMvoHhi6O4XQMRkRFgKzjRE3T1ros/3wxAHWtznM5Q4aVFh3Hhep7YYRER0RM8aAVnckP0SC1clNg4sRM8atfCldt3MXTRYcRevi12WERE9BgPWsFZc0P0WG61a2HDxI7/Wc04CntOXxM7LCIiegS2ghOVUW1rOf54oz26+9RFQZEWb606hrXRqWKHRURE/6HT6TgtRVQetcxlWBLYBv/XxgVaHfDRpkTM232Oi/0RERkIdbEWhZp7y3dwWoqojGRSCb4Z6qtf7G/Bv8mYtu4418IhIjIAJaM2EgGwljO5ISqzksX+Ql5qAalEwMa4dIxZfhQ5d7gWDhGRmB4s4GcGQRBEjuYBJjdkNEa2c8OyMW1gZS7FkYs3MfSXw0i7dUfssIiIaqycu4a3xg3A5IaMTDefelg3oSMcFRZIzsrDkJ8P43hatthhERHVSIa49QLA5IaMUNP6CmwK6ojGjja4kafG8F+PYPepTLHDIiKqcVQGuGkmwOSGjJST0hLrJgSgq/f9VvHVsfjt0CWxwyIiqlGY3BBVMhsLMywb0wYj27lBpwNmbT2Nz7ecgkbLVnEiouqg31eK01JElUcmleDrIc0xo19jAMCKwykYv5K7ihMRVQdD3BEcYHJDJkAQBEzo2gg/jWoFuUyC/eeu4+VFR9hJRURUxR7sK8XkhqhKDPB1wl9vBaCejRznruVi8E+HcCzllthhERGZLEPcVwpgckMmxs/VFn9P6oRm9RW4mV+IUUuisTHuithhERGZJLaCE1WTkk6qvs0cUKjRYupfx/HtzrPQstCYiKhS5dyvubGRc+SGqMrVMpdh0ejWCOreCADwc/gFvL0mDncKi0WOjIjIdOgLimsxuSGqFhKJgA/6Nsa8//ODuVSCnacyMeyXI0jPvit2aEREJkHfCs6CYqLq9VIrF6x9oz1qW5nj1FUVBi2MRAwLjYmIKkSn07EVnEhMbTzs8fekTmjipMCNvEKMWhKFNdGXxQ6LiMho3S3SoPh+LSMLiolE4mJXCxsmBmCArxOKNDrM3HQSMzclorBYK3ZoRERGp6SYWCYRYGkmFTma0pjcUI1Sy1yGhSP98UFfHwgCsCY6FaOXRuFGnlrs0IiIjMp/17gRBEHkaEozmOQmNDQUgiBgypQpTzxu3bp1aNy4MSwsLNCiRQts3769egIkkyEIAoK6e2LZmDawkcsQk3IbL/4YiZPpOWKHRkRkNB6sTmxYU1KAgSQ3MTExWLx4MXx9fZ943OHDhzFy5Ei8/vrriI+Px+DBgzF48GCcPHmymiIlU9KjsQM2BXVCwzpWuJpTgKGLDuPvhHSxwyIiMgr6HcENrJgYMIDkJi8vD6NHj8aSJUtgZ2f3xGPnz5+P559/Hh988AGaNGmCL7/8Eq1atcLChQurKVoyNZ71rLEpqBO6+dSFuliLyWEJ+HLbaRRpWIdDRPQkhrqvFGAAyU1QUBAGDBiAXr16PfXYI0eOPHRc3759ceTIkceeo1aroVKpSr2I/ktpaYZlY9piYrd7C/4ti7yE0UuikZVbIHJkRESGq6TmxtDawAGRk5uwsDDExcUhJCSkTMdnZmbCwcGh1HsODg7IzMx87DkhISFQKpX6l6ura4ViJtMklQiY/nxj/PJKa1jLZTiacgsvLOB6OEREj5Nz1zD3lQJETG7S0tIwefJkrFmzBhYWFlV2n+DgYOTk5OhfaWlpVXYvMn7PN3fElkmd4O1gjaxcNUb+GoXfDl2CTsd9qYiI/ktfc8NpqQdiY2ORlZWFVq1aQSaTQSaTISIiAgsWLIBMJoNGo3noHEdHR1y7dq3Ue9euXYOjo+Nj7yOXy6FQKEq9iJ6kYV1rbHq7Ewb61UexVodZW09jclgC96UiIvqPBzuCM7nR69mzJxITE5GQkKB/tWnTBqNHj0ZCQgKk0ocXBAoICMC+fftKvbdnzx4EBARUV9hUQ1jJZVgwoiU+G9gUMomALcevYshPh3HpRr7YoRERGQT9OjcG2AouWkQ2NjZo3rx5qfesrKxQu3Zt/fuBgYFwdnbW1+RMnjwZXbt2xdy5czFgwACEhYXh2LFj+PXXX6s9fjJ9giBgXKcGaO6sxNtr4nDuWi5e/DESoUN9McDXSezwiIhExZGbZ5SamoqMjAz91x07dsTatWvx66+/ws/PD+vXr8fmzZsfSpKIKlNbD3v8805ntPOwR666GEFr4/Dp3yehLn546pSIqKYw5ORG0NWwSkmVSgWlUomcnBzW31C5FGu0mLsnCYvCLwAAmjsr8NOoVnCvbSVyZERE1a/Lt/8i7dZdbJjYEa3dn7xOXWUoz+9vgx65ITIkMqkE059vjN/GtYVdLTOcTFfhhQWR+OdExtNPJiIyMQ/WuTHSmht7e/tyXVQQBMTFxcHd3f2ZgiIyZN196mH75C549494xKTcRtDaOERfcsdH/ZvAwsB2xiUiqgparQ65BrxCcZmSm+zsbPzwww9QKpVPPVan0+Htt99+ZCs3kalwUlrijzc66Kepfj9yGXGptzlNRUQ1Qn5hMbT3i1psjDW5AYARI0agXr16ZTr2nXfeeeaAiIxFyTRVuwb2mPpnAk6mqzBgQSRmD2mOQS2dxQ6PiKjKqAruTUmZSyWwMDO8CpcyRaTVasuc2ABAbm4uGjZs+MxBERmTkmmqth52yFMXY3JYAqb+maAfsiUiMjWq/2y9IAiCyNE8rMzp1rZt26DVcqdkokcpmaaa0ssLEgHYGJ+OAQsiEZ96W+zQiIgq3YPkxvCmpIByJDeDBw+Gq6srZs6cieTk5KqMicgoyaQSTOnljb/eCoCzrSVSb93By78cwcJ/z0OjrVErLhCRicsx4H2lgHIkN5cuXcJbb72FsLAw+Pj4oGvXrli1ahXu3r1blfERGZ02HvbYPrkLBvrVh0arw3e7kzBySRSuZvPPChGZhpKaG6MfuXF1dcWnn36KCxcuYO/evfDw8MDEiRPh5OSECRMmICYmpirjJDIqSkszLBjREnOH+cHKXIqjl27h+R8OYHsi18QhIuP3YEdww1vjBnjGRfy6d++OlStXIiMjA3PmzEFiYiI6dOgAPz+/yo6PyGgJgoChrV3wz7td4OuihKqgGG+vicPUvxL0Q7pERMbIkLdeACq4QrGNjQ169uyJ7t27w9bWFqdPn66suIhMhkcdK2yY2BFvd2t0r9g4Lh39fjiAQ8k3xA6NiOiZPNgR3ISSm7t37+L3339Ht27d4OXlhbCwMEydOhUpKSmVHB6RaTCTSvDh842xbkIA3GvXwtWcAoxeGo3Pt5zC3UIueElExqVk5EZpCiM3UVFRePPNN/V1Ni4uLti7dy+Sk5Mxc+ZMODtz4TKiJ2ntbo/t73bBKx3cAAArDqdgwI8HkZCWLW5gRETl8N91bgxRmaNq2rQpzp07B39/f4SEhGDUqFFl2o6BiEqzksvw1eAW6N3UER+uP46L1/MxdNFhBHVrhHd6esFManirfRIR/ZfJtIL36tULcXFxOHbsGCZOnMjEhqiCunrXxe4pXTGo5b2W8QX/JmPIz4dwJkMldmhERE9kMq3gCxYsYDcUUSVT1jLD/BH++GlUK9jWMsPJdBVeXBiJ7/ckobCYK4ITkWEyiVbwVq1a4fbtsi8j37lzZ6Snpz9zUEQ1zQBfJ+x+7zn0beaAIo0O8/edx4sLI3HiSrbYoRERPcTQW8HLlHIlJCTg+PHjsLe3L9NFExISoFarKxQYUU1Tz8YCv7zSGv8kZuCzv0/hbGYuBv90CG8+1whTennBwkwqdohERNBqdchTG3YreJnHk3r27Amdrmz74xjiDqFExkAQBLzgWx8BDWtj1tbT2HL8Kn6JuIDdpzMx52VftHYv2z8wiIiqSq66GCXpgFF3S126dKncF3ZxcSn3OUR0T21rORaM9McLvk74ePNJXLyej5d/OYIxAR74oK8PrOSG+RcKEZm+knobCzMJ5DLDHFEu09+Q7u7uVR0HET1Cn2aOaN+gNr765zTWxV7BisMp2H0qE7MGNUfvpg5ih0dENZCht4EDFdx+gYiqnrKWGeYM88PK19rB1d4SV3MK8Mbvx/DWqmPIyOFO40RUvQy9mBhgckNkNErWxZnQtRFkEgG7Tl1Dr7kR+O3QJWi0ZauHIyKqqAf7Shnu9DiTGyIjYmkuxYx+jbHt3c5o5WaL/EINZm09jSE/H8LJ9ByxwyOiGoAjN0RUJRo7KrB+Qkd8Nbg5bCxkOHElBy8ujMSX207rWzSJiKqCylRrbrKzs7F06VIEBwfj1q1bAIC4uDgu3EdUjSQSAa90cMe+qV3xgq8TtDpgWeQl9Jwbjr8T0su8dAMRUXmUbL1gqDuCA8+Q3Jw4cQLe3t745ptv8N133yE7OxsAsHHjRgQHB1d2fET0FPUUFlg4qhVWjGsL99q1cE2lxuSwBIxcEoWka7lih0dEJsbQdwQHniG5mTp1KsaOHYvz58/DwsJC/37//v1x4MCBSg2OiMqum0897JryHKb19oaFmQRRF2+h//yD+GrbaeTenyMnIqoofc2NKU1LxcTE4K233nrofWdnZ2RmZlZKUET0bCzMpHinpxf2vNcVfZo6oFirw9LIS+g5N4JTVURUKR6M3JhQciOXy6FSqR56PykpCXXr1q2UoIioYlzta+HXwDZYMa4tPGrXQlbuvamqEb9G4fTVh//8EhGV1YNWcBNKbl588UV88cUXKCq6l7kJgoDU1FRMnz4dQ4cOrfQAiejZdfOph13vPYf3+9ybqoq+dAsv/HgQwRsTcSOPm9sSUfk9aAU3oZqbuXPnIi8vD/Xq1cPdu3fRtWtXeHp6wsbGBrNnz66KGImoAuQyKSb18MLeqV0x4H5X1R9HU9F9TjiWHLiIwmKt2CESkRExyVZwpVKJPXv2YOvWrViwYAEmTZqE7du3IyIiAlZWVuW61qJFi+Dr6wuFQgGFQoGAgADs2LHjsccXFRXhiy++QKNGjWBhYQE/Pz/s3LmzvN8CUY3kYlcLP41qhb/eCkBzZwVy1cWYvf0M+v5wAHtPX2M9DhGViTG0ggs6Ef9G27p1K6RSKby8vKDT6bBy5UrMmTMH8fHxaNas2UPHT58+HatXr8aSJUvQuHFj7Nq1C1OnTsXhw4fh7+9fpnuqVCoolUrk5ORAoVBU9rdEZBQ0Wh02xF7Bt7vO4kZeIQCgi1cdfPJCU3g72IgcHREZqmKNFp4z7w1CxH3SG/ZW5tV27/L8/i53crNgwYJHX0gQYGFhAU9PTzz33HOQSp9tG3R7e3vMmTMHr7/++kOf1a9fHzNnzkRQUJD+vaFDh8LS0hKrV69+5PXUajXU6ge1BSqVCq6urkxuiADkFhRh4f5k/BaZgkKNFlKJgBFtXTGllzfq2sjFDo+IDEz2nUK0/GIPAOD87H4wk1bfRgflSW7KXQ30/fff4/r167hz5w7s7OwAALdv30atWrVgbW2NrKwsNGzYEPv374erq2uZr6vRaLBu3Trk5+cjICDgkceo1epSa+sAgKWlJSIjIx973ZCQEMyaNavMcRDVJDYWZgju1wSj2rlh9j9nsPv0NayJTsXm+HRM7NYIr3duCEvzZ/uHChGZnpJOKUszabUmNuVV7si+/vprtG3bFufPn8fNmzdx8+ZNJCUloX379pg/fz5SU1Ph6OiI9957r0zXS0xMhLW1NeRyOSZMmIBNmzahadOmjzy2b9++mDdvHs6fPw+tVos9e/Zg48aNyMjIeOz1g4ODkZOTo3+lpaWV91smMnnuta3wa2AbhL3ZAb4uSuQXavDd7iR0/y4c646lcddxIgLwoFPKkOttgGeYlmrUqBE2bNiAli1blno/Pj4eQ4cOxcWLF3H48GEMHTr0iUlHicLCQqSmpiInJwfr16/H0qVLERER8cgE5/r163jjjTewdetWCIKARo0aoVevXli+fDnu3r1bpvhZc0P0ZFqtDltPXMW3O88hPfven6smTgrM7N8Enb3qiBwdEYnpUPINjF4aDW8Ha+x+r2u13rs8v7/LPXKTkZGB4uKHdx0uLi7Wr1Bcv3595OaWbU8bc3NzeHp6onXr1ggJCYGfnx/mz5//yGPr1q2LzZs3Iz8/H5cvX8bZs2dhbW2Nhg0blvfbIKLHkEgEDGrpjH3TuuKj/o1hYyHDmQwVXlkWjTHLj+JMBhcBJKqpjKENHHiG5KZ79+546623EB8fr38vPj4eEydORI8ePQDcm2pq0KDBMwWk1WpLFQA/ioWFBZydnVFcXIwNGzZg0KBBz3QvIno8CzMp3nyuEQ580B3jOnnATCogIuk6+i84iPf+TEDarTtih0hE1cxYpqXKndwsW7YM9vb2aN26NeRyOeRyOdq0aQN7e3ssW7YMAGBtbY25c+c+9VrBwcE4cOAAUlJSkJiYiODgYISHh2P06NEAgMDAwFI7jUdHR2Pjxo24ePEiDh48iOeffx5arRYffvhheb8NIiojOytzfDawGfa81xUv+DpBpwM2xaejx9xwzNp6Cje50jFRjaHfesHAk5tyd0s5Ojpiz549OHv2LJKSkgAAPj4+8PHx0R/TvXv3Ml0rKysLgYGByMjIgFKphK+vL3bt2oXevXsDAFJTUyGRPMi/CgoK8PHHH+PixYuwtrZG//79sWrVKtja2pb32yCicvKoY4WFo1rhredy8M3Os4hMvoHfDqVg3bEreKNLQ4zv0gBWcsNdjp2IKu7BjuCG/Wdd1EX8xMCCYqLKEXn+Br7ZeRaJ6TkAgDrW5ninhxdGtnODucxwW0SJ6Nl99vdJrDxyGe/08MS0Pj5PP6ESVek6NwBw5coVbNmyBampqSgsLCz12bx5857lkkRkZDp71UHHRp3wT2IG5u4+h5Sbd/DZllNYcvAipvTyxhB/Z0glgthhElElKtl6wdALisud3Ozbtw8vvvgiGjZsiLNnz6J58+ZISUmBTqdDq1atqiJGIjJQEomAgX718XxzR4TFpGHBvvO4cvsu3l93HL9EXMC03t54vrkjBIFJDpEpyLlr+DuCA89QUBwcHIz3338fiYmJsLCwwIYNG5CWloauXbti2LBhVREjERk4M6kEr3Zwx4EPumNGv8ZQWpohOSsPE9fE4cWFhxCRdJ0bcxKZAJNtBT9z5gwCAwMBADKZDHfv3oW1tTW++OILfPPNN5UeIBEZD0tzKSZ0bYSD07vj3R6eqGUuRWJ6DsYsP4rhv0YhJuWW2CESUQWYbCu4lZWVvs7GyckJFy5c0H9248aNyouMiIyWwsIMU/v44MCH3fF65wYwl0lw9NItDPvlCMYsP4oTV7LFDpGInoHJtoJ36NABkZGRaNKkCfr3749p06YhMTERGzduRIcOHaoiRiIyUnWs5fjkhaYY36UBFuw7j7+OXUFE0nVEJF1H76YOmNrbG02c2LVIZCwetIIbdnJT7lbwixcvIi8vD76+vsjPz8e0adNw+PBheHl5Yd68eXB3d6+qWCsFW8GJxJNyIx8L9p3H5oR0lOzFOcDXCe/18oJnPRtxgyOiJyrSaOE1cwcAIOHT3rCtZV6t9y/P72+uc0NE1S45Kxff7z2Pf07c21xXIgCDWzpjci8vuNe2Ejk6InqUW/mFaPXlHgBA8ux+kEmrdz2rKt04s2HDhrh58+ZD72dnZ3MDSyIqE896NvhpVCvsmNwFvZs6QKsDNsano+fcCMzYcAJXbnPfKiJDU9IpZS2XVXtiU17lji4lJQUajeah99VqNdLT0yslKCKqGZo4KbAksA22TOqErt51UazVISwmDd2/C8fMTYm4mn1X7BCJ6D79GjcGvvUCUI6C4i1btuj/e9euXVAqlfqvNRoN9u3bBw8Pj0oNjohqBl8XW6x8rR1iL9/C93vOIzL5BtZEp2LdsSsY2c4Vb3f3hIPCQuwwiWo0fTGxgXdKAeVIbgYPHgwAEAQBY8aMKfWZmZkZPDw8yrQTOBHR47R2t8fq8e0RffEm5u1JQvSlW1h55DLCYtIwur07JnRriHo2THKIxGAsbeBAOZIbrVYLAGjQoAFiYmJQp06dKguKiGq29g1rI+zNDjhy4V6Sc+zybSw/dAlrj15GYIAH3nquIWpby8UOk6hGMZY2cOAZ1rm5dOlSVcRBRFSKIAjo6FkHAY1q4+D5G5i3JwkJadn49cBFrI66jDEdPfBml4aws6redlSimkplajU3CxYsKPMF33333WcOhojofwmCgOe866KLVx2En7uO7/cm4cSVHCwKv4DfD6dgXKcGGN+lQbWvuUFU05hczc33339fposJgsDkhoiqhCAI6N64Hrr51MW+M1mYtycJpzNUWLg/GSsPp+C1zg3wWucGBr/nDZGxMrmaG05FEZGhEAQBvZo6oGeTeth16hp+2JuEs5m5mL/vPH47dAnjuzTEuE4esDGCugAiY2JMreAVWoVHp9Ohhi1wTEQGQhAEPN/cEdvf7YKfR7eCVz1rqAqKMW9PErp8ux8/7U9GvrpY7DCJTIYxTUs9U3Lz+++/o0WLFrC0tISlpSV8fX2xatWqyo6NiOipJBIB/Vs4YeeU57BgpD8a1rVC9p0izNl1Dl2+3Y/FERdwp5BJDlFFlRQUG8PUb7nHlubNm4dPPvkEkyZNQqdOnQAAkZGRmDBhAm7cuIH33nuv0oMkInoaqUTAi371MaCFE7YcT8f8veeRcvMOQnacxZKDFzGhayO80sEdFmZSsUMlMkqqgvs1N0Yw5VvujTMbNGiAWbNmITAwsNT7K1euxOeff27w9TncOJOoZijWaLEpPh0L/j2PtFv3tnGoZyPH290aYWR7N8hlTHKIyqPd7L3IylXjn3c7o1l95dNPqGRVunFmRkYGOnbs+ND7HTt2REZGRnkvR0RUJWRSCYa1ccW/07oh9KUWcLa1RFauGp9vPY1uc8KxJvoyCou1YodJZDSMaRG/cic3np6e+Ouvvx56/88//4SXl1elBEVEVFnMpBKMaOeGf9/vii8HN4ejwgIZOQWYuekkeswNx1/H0lCsYZJD9CTqYg0Kiu79OTGGguJy19zMmjULw4cPx4EDB/Q1N4cOHcK+ffsemfQQERkCuUyKVzu4Y1hrF6yNTsXP4Rdw5fZdfLj+BBaFX8Dknl4Y6FcfUokgdqhEBqdkjRtBAGzkJtQKfvLkSQDA0KFDER0djTp16mDz5s3YvHkz6tSpg6NHj2LIkCFVFigRUWWwMJPitc4NcPDD7viof2PYW5nj0o18TPkzAc//cADbEzOg1XKJC6L/KpmSspbLIDGCfwCUuaBYIpGgbdu2GD9+PEaMGAEbG5uqjq1KsKCYiP4rT12MlYdT8OuBi/pFypo6KTCtjzd6NK4HQTD8v8iJqlp86m0M+fkwnG0tcWhGD1FiqJKC4oiICDRr1gzTpk2Dk5MTxo4di4MHD1Y4WCIiMVnLZQjq7omD07tjck8vWMtlOJ2hwusrj+GlRYdxKPkGFyulGq+kDdwY1rgBypHcdOnSBcuXL0dGRgZ+/PFHXLp0CV27doW3tze++eYbZGZmVmWcRERVSmFhhvd6e+Pgh90xoWsjWJhJEJ+ajdFLozFySRSOpdwSO0Qi0eh3BLc0/Hob4Bm6paysrDBu3DhEREQgKSkJw4YNw08//QQ3Nze8+OKLVREjEVG1sbMyx4x+jXHgw+4Y29ED5lIJoi7ewsu/HMHY344i8UqO2CESVbsH+0qZ2MjNo3h6euKjjz7Cxx9/DBsbG/zzzz+VFRcRkajq2Vjg8xebIfyDbhjZzg0yiYDwc9cxcGEkJqyKxflruWKHSFRtjGlfKaACyc2BAwcwduxYODo64oMPPsBLL72EQ4cOVWZsRESiq29riZCXWmDftK54yd8ZggDsPJWJPj8cwNQ/E5B6847YIRJVuZJWcJMcubl69Sq+/vpreHt7o1u3bkhOTsaCBQtw9epVLFmyBB06dCjXzRctWgRfX18oFAooFAoEBARgx44dTzznhx9+gI+PDywtLeHq6or33nsPBQUF5bovEVF5ude2wrzhLbFrynN4vpkjdDpgY3w6eswNx8xNicjM4d9DZLoejNwYR81NmaPs168f9u7dizp16iAwMBCvvfYafHx8KnRzFxcXhIaGwsvLCzqdDitXrsSgQYMQHx+PZs2aPXT82rVrMWPGDCxfvhwdO3ZEUlISxo4dC0EQMG/evArFQkRUFt4ONvjl1dY4cSUb3+1OwoGk61gTnYr1sVfwagd3vN3dE/ZW5mKHSVSpjK3mpszJjZmZGdavX48XXngBUmnlbDg3cODAUl/Pnj0bixYtQlRU1COTm8OHD6NTp04YNWoUAMDDwwMjR45EdHR0pcRDRFRWvi62+P21doi+eBPf7T6HmJTbWBp5CX8cTcX4Lg0xvksD2BjJLwKipynpljK5VvAtW7Zg0KBBlZbY/C+NRoOwsDDk5+cjICDgkcd07NgRsbGxOHr0KADg4sWL2L59O/r37//Y66rVaqhUqlIvIqLK0r5hbfz1VgBWjGuLZvUVyC/UYP6+83ju2/1YevAiCoo0YodIVGEl69zYWJjYtFRVSUxMREBAAAoKCmBtbY1NmzahadOmjzx21KhRuHHjBjp37gydTofi4mJMmDABH3300WOvHxISglmzZlVV+EREEAQB3Xzq4TmvuthxMhNzd5/DxRv5+OqfM1gWeQmTe3rh5dYukEkr1KBKJJpcIxu5KfP2C1WlsLAQqampyMnJwfr167F06VJEREQ8MsEJDw/HiBEj8NVXX6F9+/ZITk7G5MmT8cYbb+CTTz555PXVajXUarX+a5VKBVdXV26/QERVplijxYa4K5i/9zyu3i80blDHClN7e2NACyej2JuH6L/afLUHN/IKsWNyFzRxEud3Z3m2XxA9uflfvXr1QqNGjbB48eKHPuvSpQs6dOiAOXPm6N9bvXo13nzzTeTl5UEiefq/iri3FBFVl4IiDdZEp+Kn/cm4lV8IAGhWX4EP+vqgq3dd7ltFRkGn08Hn450o1GhxaEYPONtaihJHlewtVV20Wm2pkZb/unPnzkMJTEkNkIHlaEREsDCT4vXODXDgw+6Y2tsb1nIZTl1VYexvMRjxaxRiL98WO0Sip1IXa1Go0QIAFKy5ebrg4GD069cPbm5uyM3Nxdq1axEeHo5du3YBAAIDA+Hs7IyQkBAA97qr5s2bB39/f/201CeffIKBAwdWWaEzEVFFWctleLenF17p4I5F4clYeeQyoi/dwtBFh9G7qQM+6OsDbwcbscMkeqSSNnCJcO9n2RiIGmVWVhYCAwORkZEBpVIJX19f7Nq1C7179wYApKamlhqp+fjjjyEIAj7++GOkp6ejbt26GDhwIGbPni3Wt0BEVGb2VuaYOaApxnVqgPl7z2NdbBr2nL6GvWeuYYi/M97r5Q1X+1pih0lUyoNNM82MZirV4GpuqhprbojIUCRn5WHu7nPYcTITAGAmFTC6vTsm9fBEHWu5yNER3RN7+RaGLjoCN/taOPBhd9HiMOqaGyKimsKznjUWvdIafwd1QifP2ijS6LDicAq6frsf8/YkIff+kvdEYtLvK2UkWy8ATG6IiETn52qLNeM7YPXr7eHrokR+oQYLuBAgGQj9vlJGtOI2kxsiIgPR2asO/g7qhEWjW6FhXSvcvlOEr/45gx7fheOvY2kovt+xQlSdVEa2rxTA5IaIyKAIgoB+LZywe8pz+GZoCzgqLHA1pwAfrj+B5+cfxM6TmVz6gqpVydYLxrI6McDkhojIIMmkEgxv64bwD7phZv8msK1lhuSsPExYHYvBPx/G4Qs3xA6Ragj9juCsuSEiospgYSbFG881xIEPu2NSd09YmklxPC0bo5ZE49Vl0Ui8kiN2iGTiOC1FRERVQmFhhvf7+iDiw24YE+AOM6mAg+dvYODCSASticOF63lih0gmSl9QzGkpIiKqCvVsLDBrUHP8O60bXvJ3hiAA/yRmoM/3BzBjwwlk5NwVO0QyMWwFJyKiauFqXwvzhrfEjsld0KtJPWi0OoTFpKHrnHB8ue00buY9eo8+ovIqGblhQTEREVWLxo4KLB3TFhsmBqBdA3sUFmuxLPISnru/EKCKCwFSBbHmhoiIRNHa3R5/vtkBK19rh+bOilILAS6OuMCFAOmZlbSCs+aGiIiqnSAI6OpdF1sndcbPo1uhUV0rZN8pQsiOs+g6Zz9WR11GERcCpHLQ6XQcuSEiIvEJgoD+LZywa8pzmPOyL5xtLXFNpcbHm0+i59wIbIi9Ao2WCwHS090p1KD4/s8KC4qJiEh0MqkEw9q44t/3u+LzgU1Rx1qO1Ft3MG3dcfT5PgLbTlyFlkkOPUFJzZZMIsDSTCpyNGXH5IaIyMTJZVKM7dQABz7shunPN4bS0gwXrudj0tp4DPgxEntPX+OWDvRIJW3gSkszCIIgcjRlx+SGiKiGqGUuw8RujXBwendM6eUFa7kMZzJUGP/7MQz5+TAiz99gkkOlGOMCfgCTGyKiGkdhYYYpvbxx8MPumNitESzNpEhIy8Yry6IxfHEUjly4KXaIZCAeFBMbT70NwOSGiKjGsrMyx/TnG+PAh90xrpMHzKUSHE25hZFLojDi1yOIusgkp6bjyA0RERmlujZyfDawGSI+7IbAAHeYSyWIungLI36Nwshfo3D00i2xQySR6LdeMKI2cIDJDRER3eektMQXg5oj/INueKWDG8ykAo5cvIn/W3wEo5dGISaFSU5No5+WMqI2cIDJDRER/Y/6tpb4anALhH/QHaPb30tyDiXfxLBfjmDUkns1OSw8rhlyjHABP4DJDRERPYazrSVmD2mB/e93w8h2bpBJBBy+cBMjl0Th/xYfwYGk60xyTBxrboiIyCS52NVCyEstEP5BN7za4V5NTkzKbQQuP4rBPx/mOjkmTF9zw+SGiIhMkYtdLXw5uDkOTu+O1zo1gIWZBMfTsjH+92PovyAS2xMzuOKxidGP3LAVnIiITJmDwgKfDmyKyOk9MKFrI1iZS3EmQ4W318Sh9/cRWHcsDYXF3KDTFHBaioiIapQ61nLM6NcYkdN74N2eXrCxkOHC9Xx8sP4Eus7Zj2WRl5CvLhY7TKoAtoITEVGNZGdljqm9vXF4Rg8E92uMujZyZOQU4Mttp9Hpm3/x/Z4k3MovFDtMegYlIzdKtoITEVFNZGNhhre6NsLBD7sj5KUW8KhdC9l3ijB/33l0Cv0Xs7aeQnr2XbHDpDLSanX/2X6BIzdERFSDWZhJMbKdG/ZN64afRrVCs/oK3C3S4LdDKXju2/149494JF7JETtMeor8wmKU1IcbW82NcY0zERGR0ZBKBAzwdUL/Fo6ITL6BReEXcPjCTWw5fhVbjl9Fh4b2eKNLQ3T3qQeJRBA7XPofqoJ79TbmMgkszKQiR1M+TG6IiKhKCYKALl510cWrLk6m52DpwYvYdiIDURdvIeriLTSqa4XxXRpiiL+z0f0SNWXGOiUFcFqKiIiqUXNnJX4Y4Y8DH3bHm881hI38XodV8MZEdAq9V3yclVsgdpgE491XChA5uVm0aBF8fX2hUCigUCgQEBCAHTt2PPb4bt26QRCEh14DBgyoxqiJiKii6tta4qP+TXA4uAc+HtAEzraWuJlfqC8+nvpnAutyRFYyLWWMIzeipmMuLi4IDQ2Fl5cXdDodVq5ciUGDBiE+Ph7NmjV76PiNGzeisPBBO+HNmzfh5+eHYcOGVWfYRERUSWwszDC+S0OM7eiBHScz8duhS4hLzcbG+HRsjE9HWw87jOvUAH2aOkAm5WRDdXowcsPkplwGDhxY6uvZs2dj0aJFiIqKemRyY29vX+rrsLAw1KpV64nJjVqthlqt1n+tUqkqGDUREVU2mVSCgX71MdCvPhLSsvHboUv450QGYlJuIyblNpxtLfFqgDtGtHWFbS1zscOtEYx16wXAgGpuNBoNwsLCkJ+fj4CAgDKds2zZMowYMQJWVlaPPSYkJARKpVL/cnV1rayQiYioCrR0tcX8Ef44NKMH3unhCXsrc6Rn30XojrPoELIPMzacwJkM/kO1quUY8ciNoBN5K9fExEQEBASgoKAA1tbWWLt2Lfr37//U844ePYr27dsjOjoa7dq1e+xxjxq5cXV1RU5ODhQKRaV8D0REVHUKijTYcvwqfjuUUiqpaedhjzEdPdCnmQPMOGVV6b7YehrLD13CxG6NMP35xmKHA5VKBaVSWabf36KPNfn4+CAhIQE5OTlYv349xowZg4iICDRt2vSJ5y1btgwtWrR4YmIDAHK5HHK5vDJDJiKiamRhJsX/tXHFsNYuiEm5jZVHUrDzZCaOptzC0ZRbcFRYYHR7N4xo54a6Nvz7vrI8mJYyvpEb0ZMbc3NzeHp6AgBat26NmJgYzJ8/H4sXL37sOfn5+QgLC8MXX3xRXWESEZHIBEFAuwb2aNfAHpk5BVgbfRlrj6YiU1WAuXuS8OO/yRjg64TAAHf4u9mJHa7RM+ZWcIOLWKvVlppGepR169ZBrVbjlVdeqaaoiIjIkDgqLTC1jw+CenhiR2ImVhxOQUJaNjbFp2NTfDr8XJQY09EDA3ydIJdxYcBnwZGbZxQcHIx+/frBzc0Nubm5WLt2LcLDw7Fr1y4AQGBgIJydnRESElLqvGXLlmHw4MGoXbu2GGETEZGBkMukGOzvjMH+zjielo2VR1Kw7XgGjl/JwdS/juPr7Wcwsp0bRrd3h6PSQuxwjYrq7v11boywoFjU5CYrKwuBgYHIyMiAUqmEr68vdu3ahd69ewMAUlNTIZGULhI7d+4cIiMjsXv3bjFCJiIiA+Xnaot5ri3xUf8mCDuaitVR96asfvw3GT+HX8DzzRwxtpMH2rjbQRC4l9XTGHMruOjdUtWtPNXWRERkvIo1Wuw+fQ0rDqfg6KVb+vd9XZR4vXMD9G/hxC6rJ2jx+S7kFhTj32ld0bCutdjhlOv3N/+vEhGRSZJJJejfwgl/vRWAHZO7YERbV8hlEpy4koPJYQno8s1+/ByejOw7hU+/WA2j1eqQpzbeaSkmN0REZPKaOCkQOtQXh2f0wLTe3qhrI0emqgDf7jyHDiH7MHNTIi5czxM7TIORqy5GybyOjRFOSzG5ISKiGqO2tRzv9PRC5PTumDvMD02dFCgo0mJNdCp6zo3A+JUxiE+9LXaYoitpA7cwkxhlt5nxpWNEREQVJJdJMbS1C15q5Yyoi7ewLPIS9p29hr1nsrD3TBY6e9ZBUHdPdGhoXyOLj425DRxgckNERDWYIAgIaFQbAY1q4+L1PCwKv4BN8emITL6ByOQbaO1uh0k9PNHNu26NSnJK2sCNcUoK4LQUERERAKBhXWvMGeaH8A+64dUO7jCXSRB7+TbG/RaDgQsjsfNkBrTamtFgXDJyozTCYmKAyQ0REVEpLna18OXg5oj8sDve6NIAlmZSnExXYcLqOPRfcBAHkq6LHWKVK6m5YXJDRERkQuopLDBzQFMcmtED7/TwhI2FDGczcxG4/CjGLD+Kc5m5YodYZXL0+0oxuSEiIjI59lbmmNbHBwc/7I7XOzeAmVRARNJ19Jt/ADM2nECWqkDsECudquD+GjdGWlDM5IaIiKgMbGuZ45MXmmLv1K7o38IRWh0QFpOGbt+F44e9SbhTWCx2iJXGmHcEB5jcEBERlYt7bSv8PLo1NkwMgL+bLe4UavDD3vPoNiccG2KvwBR2NTL2VnAmN0RERM+gtbs9Nk7siJ9GtYKrvSWyctWYtu44Xl95DNeMfKrKmHcEB5jcEBERPTNBEDDA1wl7p3bFh8/7wFwqwb9ns9B7XgQ2xRvvKA5HboiIiGo4uUyKt7t5Ytu7neHrooSqoBjv/Xkcb66KRVau8Y3isOaGiIiIAADeDjbYOLEj3u/jDTOpgD2nr6HP9wew5fhVoxrF4To3REREpCeTSjCphxe2TOqMpk4KZN8pwrt/xOPtNXG4kacWO7wyYSs4ERERPaSJkwJ/T+qEyT29IJMI2HEyE/3nH0TilRyxQ3uiYo0WeWoWFBMREdEjmEkleK+3NzYHdYJnPWtk5aoxbPFh7DyZIXZoj1WS2ADcOJOIiIgeo7mzEpve7oiu3nVRUKTFhNVx+Dk82SDrcErawGuZS2EmNc40wTijJiIiMjI2FmZYNqYNxgS4AwC+3XkOH6w/gcJirciRlWbsbeAAkxsiIqJqI5NKMGtQc8x6sRkkArA+9gpeWRaNW/mFYoeml2PkbeAAkxsiIqJqN6ajB5aPbQsbuQxHL93CkJ8PITkrT+ywAPxnjRuO3BAREVF5dPOphw1vd4SLnSUu37yDl34+hEPJN8QOSz8tZaxr3ABMboiIiETj7WCDzUGd0NrdDqqCYoxbEYMjF26KGpOx7ysFMLkhIiISVR1rOdaMb49eTRxQWKzFG78fw8l08dbCKRm5MdY2cIDJDRERkegszKRYOMof7RvYI09djDHLj+LSjXxRYjH2rRcAJjdEREQGwcJMiiVj2qCpkwI38wvx6rJoXFNV/6abxr71AsDkhoiIyGAoLMyw8rV28KhdC1du30XgsqPIuVNUrTGwFZyIiIgqVV0bOVa93h71bOQ4dy0Xr62Mwd1CTbXdn63gREREVOlc7Wth1evtobCQIfbybUxcE4siTfWsZMxWcCIiIqoSPo42+G1cW1iYSRB+7jo+WHccWm3V70XFVvAKWrRoEXx9faFQKKBQKBAQEIAdO3Y88Zzs7GwEBQXByckJcrkc3t7e2L59ezVFTEREVH1au9tj0ejWkEkEbE64iq/+OVPl9+TeUhXk4uKC0NBQxMbG4tixY+jRowcGDRqEU6dOPfL4wsJC9O7dGykpKVi/fj3OnTuHJUuWwNnZuZojJyIiqh7dG9fDd8P8AADLD13CzpMZVXavIo0Wd+7X9xhzQbGokQ8cOLDU17Nnz8aiRYsQFRWFZs2aPXT88uXLcevWLRw+fBhmZvcySg8Pj+oIlYiISDSD/Z1xNjMXv0RcwIyNifB3s4ODwqLS75N7vw0cAKzlxpvcGEzNjUajQVhYGPLz8xEQEPDIY7Zs2YKAgAAEBQXBwcEBzZs3x9dffw2N5vFV5Gq1GiqVqtSLiIjI2Ezt7Y1m9RXIvlOE96uo/qakDdxaLoNMajApQrmJHnliYiKsra0hl8sxYcIEbNq0CU2bNn3ksRcvXsT69euh0Wiwfft2fPLJJ5g7dy6++uqrx14/JCQESqVS/3J1da2qb4WIiKjKmMskmD+iJeQyCQ6ev4GVR1Iq/R6msDoxYADJjY+PDxISEhAdHY2JEydizJgxOH369COP1Wq1qFevHn799Ve0bt0aw4cPx8yZM/HLL7889vrBwcHIycnRv9LS0qrqWyEiIqpSnvVsMHNAEwBAyI6zSLqWW6nXN4V9pQADSG7Mzc3h6emJ1q1bIyQkBH5+fpg/f/4jj3VycoK3tzekUqn+vSZNmiAzMxOFhYWPPEcul+u7sUpeRERExurVDu7o5lMXhcVavPtHPNTFlbfAnym0gQMGkNz8L61WC7Va/cjPOnXqhOTkZGi1DxYySkpKgpOTE8zNzasrRCIiItEIgoBvX/aFvZU5zmbmYu7upEq7tim0gQMiJzfBwcE4cOAAUlJSkJiYiODgYISHh2P06NEAgMDAQAQHB+uPnzhxIm7duoXJkycjKSkJ//zzD77++msEBQWJ9S0QERFVu3o2FvhmqC8AYMnBizicfKNSrqsygX2lAJGTm6ysLAQGBsLHxwc9e/ZETEwMdu3ahd69ewMAUlNTkZHxoJ/f1dUVu3btQkxMDHx9ffHuu+9i8uTJmDFjhljfAhERkSh6N3XAyHZu0OmAaeuOV8oGmzkmsK8UIPI6N8uWLXvi5+Hh4Q+9FxAQgKioqCqKiIiIyHh88kITRF28iUs38vHR5kQsHOkPQRCe+Xr6aSnW3BAREZEYapnL8MPwlpBKBPxzIgObE9IrdL2SgmK2ghMREZFo/FxtMaWnFwDg082ncCv/0d3DZfGgoJg1N0RERCSiid0aoVl9BXLVxVj4b/IzX+dBQTFHboiIiEhEMqkEM/o1BgCsikpB2q07z3Qd1f29pYy9oJjJDRERkQno4lUXnT3roEijw7w9z7b2DVvBiYiIyKBMf/7e6M3mhHScuppT7vNNpRWcyQ0REZGJaOGixEC/+tDpgG93nivXuQVFGqiL7+0AoKzF5IaIiIgMxLTe3pBJBEQkXS/XysW59+ttBAGwNue0FBERERkIjzpWGNXeDQAQuvMsdDpdmc7T7wgul0EiefaFAA0BkxsiIiIT804PL9Qyl+LElRxsT8ws0zmm0gYOMLkhIiIyOXVt5HijS0MAwJxdZ1Gk0T71HFNpAweY3BAREZmkN55riNpW5ki5eQdhMWlPPd5U2sABJjdEREQmyVouw7v3t2WYv/c88tXFTzy+pA3c2PeVApjcEBERmayR7dzgZl8LN/LUWB556YnH6guKOS1FREREhspcJsH7fX0AAIsPXMTNPPVjjzWVHcEBJjdEREQm7YUWTmjurECeuhgL9z9+U80HO4IzuSEiIiIDJpEImPF8EwDA6qjLyMoteORxLCgmIiIio9HZqw783WxRpNHhz6OP7pxiKzgREREZlcAAdwDAmuhUFD9i3ZscLuJHRERExqR/CyfUtjJHpqoAe05fe+jzXLaCExERkTGRy6QY0c4VAPD7kcsPfa4vKGbNDRERERmLUe3dIRGAIxdv4vy1XP37Op1O3wrOmhsiIiIyGs62lujVxAEAsCrqweiNuliLwvt1OKy5ISIiIqMSGOABANgYl468+1sylLSBSwTAylwqVmiVhskNERFRDdLJszYa1rVCnroYm+KuACjdKSUIgpjhVQomN0RERDWIIAh4tcO9tvCVRy7fq7cxodWJASY3RERENc7Q1i6oZS5FclYejly8+aCY2AQ6pQAmN0RERDWOwsIMQ/ydAQCrjlzWj9yYwho3AJMbIiKiGqmksHj36Ws4l3mvLZzTUkRERGS0fBxt0K6BPTRaHRYfuAiAyQ0REREZuZL9pjRaHQDW3FSKRYsWwdfXFwqFAgqFAgEBAdixY8djj1+xYgUEQSj1srCwqMaIiYiITEffZo6oZyPXf82Rm0rg4uKC0NBQxMbG4tixY+jRowcGDRqEU6dOPfYchUKBjIwM/evy5Yf3xyAiIqKnM5NKMLKdm/5rU1idGABEHX8aOHBgqa9nz56NRYsWISoqCs2aNXvkOYIgwNHRsTrCIyIiMnmj2rth/r7zAIDruWqRo6kcBlNzo9FoEBYWhvz8fAQEBDz2uLy8PLi7u8PV1fWpozwAoFaroVKpSr2IiIjoHgfFg/KOovv7Sxk70ZObxMREWFtbQy6XY8KECdi0aROaNm36yGN9fHywfPly/P3331i9ejW0Wi06duyIK1euPPb6ISEhUCqV+perq2tVfStERERGaWpvb3jVs8bEbo3EDqVSCDqdTidmAIWFhUhNTUVOTg7Wr1+PpUuXIiIi4rEJzn8VFRWhSZMmGDlyJL788stHHqNWq6FWPxhmU6lUcHV1RU5ODhQKRaV9H0RERFR1VCoVlEplmX5/i97zZW5uDk9PTwBA69atERMTg/nz52Px4sVPPdfMzAz+/v5ITk5+7DFyuRxyufyxnxMREZFpEX1a6n9ptdpSIy1PotFokJiYCCcnpyqOioiIiIyFqCM3wcHB6NevH9zc3JCbm4u1a9ciPDwcu3btAgAEBgbC2dkZISEhAIAvvvgCHTp0gKenJ7KzszFnzhxcvnwZ48ePF/PbICIiIgMianKTlZWFwMBAZGRkQKlUwtfXF7t27ULv3r0BAKmpqZBIHgwu3b59G2+88QYyMzNhZ2eH1q1b4/Dhw2WqzyEiIqKaQfSC4upWnoIkIiIiMgzl+f1tcDU3RERERBXB5IaIiIhMCpMbIiIiMilMboiIiMikMLkhIiIik8LkhoiIiEwKkxsiIiIyKUxuiIiIyKQwuSEiIiKTIvqu4NWtZEFmlUolciRERERUViW/t8uysUKNS25yc3MBAK6uriJHQkREROWVm5sLpVL5xGNq3N5SWq0WV69ehY2NDQRBqNRrq1QquLq6Ii0tjftWPQM+v4rh86sYPr+K4zOsGD6/J9PpdMjNzUX9+vVLbar9KDVu5EYikcDFxaVK76FQKPiDWQF8fhXD51cxfH4Vx2dYMXx+j/e0EZsSLCgmIiIik8LkhoiIiEwKk5tKJJfL8dlnn0Eul4sdilHi86sYPr+K4fOrOD7DiuHzqzw1rqCYiIiITBtHboiIiMikMLkhIiIik8LkhoiIiEwKkxsiIiIyKUxuKslPP/0EDw8PWFhYoH379jh69KjYIRmsAwcOYODAgahfvz4EQcDmzZtLfa7T6fDpp5/CyckJlpaW6NWrF86fPy9OsAYoJCQEbdu2hY2NDerVq4fBgwfj3LlzpY4pKChAUFAQateuDWtrawwdOhTXrl0TKWLDsmjRIvj6+uoXSgsICMCOHTv0n/PZlU9oaCgEQcCUKVP07/EZPt7nn38OQRBKvRo3bqz/nM+ucjC5qQR//vknpk6dis8++wxxcXHw8/ND3759kZWVJXZoBik/Px9+fn746aefHvn5t99+iwULFuCXX35BdHQ0rKys0LdvXxQUFFRzpIYpIiICQUFBiIqKwp49e1BUVIQ+ffogPz9ff8x7772HrVu3Yt26dYiIiMDVq1fx0ksviRi14XBxcUFoaChiY2Nx7Ngx9OjRA4MGDcKpU6cA8NmVR0xMDBYvXgxfX99S7/MZPlmzZs2QkZGhf0VGRuo/47OrJDqqsHbt2umCgoL0X2s0Gl39+vV1ISEhIkZlHADoNm3apP9aq9XqHB0ddXPmzNG/l52drZPL5bo//vhDhAgNX1ZWlg6ALiIiQqfT3XteZmZmunXr1umPOXPmjA6A7siRI2KFadDs7Ox0S5cu5bMrh9zcXJ2Xl5duz549uq5du+omT56s0+n48/c0n332mc7Pz++Rn/HZVR6O3FRQYWEhYmNj0atXL/17EokEvXr1wpEjR0SMzDhdunQJmZmZpZ6nUqlE+/bt+TwfIycnBwBgb28PAIiNjUVRUVGpZ9i4cWO4ubnxGf4PjUaDsLAw5OfnIyAggM+uHIKCgjBgwIBSzwrgz19ZnD9/HvXr10fDhg0xevRopKamAuCzq0w1buPMynbjxg1oNBo4ODiUet/BwQFnz54VKSrjlZmZCQCPfJ4ln9EDWq0WU6ZMQadOndC8eXMA956hubk5bG1tSx3LZ/hAYmIiAgICUFBQAGtra2zatAlNmzZFQkICn10ZhIWFIS4uDjExMQ99xp+/J2vfvj1WrFgBHx8fZGRkYNasWejSpQtOnjzJZ1eJmNwQGbGgoCCcPHmy1Jw9PZ2Pjw8SEhKQk5OD9evXY8yYMYiIiBA7LKOQlpaGyZMnY8+ePbCwsBA7HKPTr18//X/7+vqiffv2cHd3x19//QVLS0sRIzMtnJaqoDp16kAqlT5UzX7t2jU4OjqKFJXxKnlmfJ5PN2nSJGzbtg379++Hi4uL/n1HR0cUFhYiOzu71PF8hg+Ym5vD09MTrVu3RkhICPz8/DB//nw+uzKIjY1FVlYWWrVqBZlMBplMhoiICCxYsAAymQwODg58huVga2sLb29vJCcn8+evEjG5qSBzc3O0bt0a+/bt07+n1Wqxb98+BAQEiBiZcWrQoAEcHR1LPU+VSoXo6Gg+z/t0Oh0mTZqETZs24d9//0WDBg1Kfd66dWuYmZmVeobnzp1Damoqn+FjaLVaqNVqPrsy6NmzJxITE5GQkKB/tWnTBqNHj9b/N59h2eXl5eHChQtwcnLiz19lErui2RSEhYXp5HK5bsWKFbrTp0/r3nzzTZ2tra0uMzNT7NAMUm5uri4+Pl4XHx+vA6CbN2+eLj4+Xnf58mWdTqfThYaG6mxtbXV///237sSJE7pBgwbpGjRooLt7967IkRuGiRMn6pRKpS48PFyXkZGhf925c0d/zIQJE3Rubm66f//9V3fs2DFdQECALiAgQMSoDceMGTN0ERERukuXLulOnDihmzFjhk4QBN3u3bt1Oh2f3bP4b7eUTsdn+CTTpk3ThYeH6y5duqQ7dOiQrlevXro6derosrKydDodn11lYXJTSX788Uedm5ubztzcXNeuXTtdVFSU2CEZrP379+sAPPQaM2aMTqe71w7+ySef6BwcHHRyuVzXs2dP3blz58QN2oA86tkB0P3222/6Y+7evat7++23dXZ2drpatWrphgwZosvIyBAvaAPy2muv6dzd3XXm5ua6unXr6nr27KlPbHQ6Prtn8b/JDZ/h4w0fPlzn5OSkMzc31zk7O+uGDx+uS05O1n/OZ1c5BJ1OpxNnzIiIiIio8rHmhoiIiEwKkxsiIiIyKUxuiIiIyKQwuSEiIiKTwuSGiIiITAqTGyIiIjIpTG6IiIjIpDC5ISIiIpPC5IaIqtTYsWMxePDgar/vihUrIAgCBEHAlClTKnwtW1vbcp0zduxY/f03b95cofsTUfnIxA6AiIyXIAhP/Pyzzz7D/PnzIdZC6AqFAufOnYOVlVWFrjN8+HD079+/XOfMnz8foaGhcHJyqtC9iaj8mNwQ0TPLyMjQ//eff/6JTz/9FOfOndO/Z21tDWtrazFCA3Av+XJ0dKzwdSwtLWFpaVmuc5RKJZRKZYXvTUTlx2kpInpmjo6O+pdSqdQnEyUva2vrh6alunXrhnfeeQdTpkyBnZ0dHBwcsGTJEuTn52PcuHGwsbGBp6cnduzYUepeJ0+eRL9+/WBtbQ0HBwe8+uqruHHjRrlj9vDwwFdffYXAwEBYW1vD3d0dW7ZswfXr1zFo0CBYW1vD19cXx44d05/zv9NSn3/+OVq2bIlVq1bBw8MDSqUSI0aMQG5ubrnjIaLKx+SGiKrdypUrUadOHRw9ehTvvPMOJk6ciGHDhqFjx46Ii4tDnz598Oqrr+LOnTsAgOzsbPTo0QP+/v44duwYdu7ciWvXruH//u//nun+33//PTp16oT4+HgMGDAAr776KgIDA/HKK68gLi4OjRo1QmBg4BOn0y5cuIDNmzdj27Zt2LZtGyIiIhAaGvpM8RBR5WJyQ0TVzs/PDx9//DG8vLwQHBwMCwsL1KlTB2+88Qa8vLzw6aef4ubNmzhx4gQAYOHChfD398fXX3+Nxo0bw9/fH8uXL8f+/fuRlJRU7vv3798fb731lv5eKpUKbdu2xbBhw+Dt7Y3p06fjzJkzuHbt2mOvodVqsWLFCjRv3hxdunTBq6++in379j3zMyGiysOaGyKqdr6+vvr/lkqlqF27Nlq0aKF/z8HBAQCQlZUFADh+/Dj279//yPqdCxcuwNvb+5nvX3Kvx93/cTU7Hh4esLGx0X/t5OSkj5eIxMXkhoiqnZmZWamvBUEo9V5JF5ZWqwUA5OXlYeDAgfjmm28eutazdCM96l5Puv/TrlFyzpOOJ6Lqw+SGiAxeq1atsGHDBnh4eEAm419bRPRkrLkhIoMXFBSEW7duYeTIkYiJicGFCxewa9cujBs3DhqNRuzwiMjAMLkhIoNXv359HDp0CBqNBn369EGLFi0wZcoU2NraQiLhX2NEVJqgE2vpUCKiKrRixQpMmTIF2dnZosYhCAI2bdokyhYURDUV/8lDRCYrJycH1tbWmD59erXfe8KECaKuzkxUk3HkhohMUm5urn6dGltbW9SpU6da75+VlQWVSgXgXkdXRfe3IqKyY3JDREREJoXTUkRERGRSmNwQERGRSWFyQ0RERCaFyQ0RERGZFCY3REREZFKY3BAREZFJYXJDREREJoXJDREREZmU/wejn/rIjbp1owAAAABJRU5ErkJggg==", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model = thevenin.Model()\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_min', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Stability Ramps\n", + "Aside from a constant ramp, like `Ramp` demonstrated above, ramps are also commonly used to quickly move from a rested state to a constant load. This can help with solver stability over trying to instantaneously pull a load. To build this type of provile, use the `Ramp2Constant` class. Below, we ramp up to a 20 C discharge in one millisecond and then hold the 20 C discharge rate until 3 V." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\crandall\\Documents\\thevenin\\src\\thevenin\\loadfns\\_ramps.py:97: RuntimeWarning: overflow encountered in exp\n", + " sigmoid = 1. / (1. + np.exp(-self._sharpness*(linear - self._step)))\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dynamic_load = thevenin.loadfns.Ramp2Constant(20*75/1e-3, 20*75)\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', dynamic_load, (180., 0.5), limits=('voltage_V', 3.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_s', 'current_A')\n", + "soln.plot('time_s', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These types of \"stability\" ramps become more and more helpful (or needed) as loads become more demanding. They can also depend on the model's parameter set, i.e., for one set of parameters the model may start crashing at a 5 C discharge whereas another set is stable up to 50 C. \n", + "\n", + "## Comparing to Instantaneous Demands\n", + "The default model parameters, and the Thevenin model in general, is typically fairly stable compared to other higher-fidelity models (e.g., the single particle model or pseudo-2D model). Therefore, here we can also demonstrate that when we run an instantaneous 20 C discharge profile that the results are not significantly impacted. See the figure below that compares the voltage profile above to one obtained without the ramped profile." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75*20, (180., 75), limits=('voltage_V', 3.))\n", + "\n", + "soln2 = model.run(expr)\n", + "\n", + "plt.plot(soln.vars['time_s'], soln.vars['voltage_V'], '-k')\n", + "plt.plot(soln2.vars['time_s'], soln2.vars['voltage_V'], 'ok', markerfacecolor='none')\n", + " \n", + "plt.xlabel('Time [s]');\n", + "plt.ylabel('Voltage [V]');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Due to the ramp the initial conditions are obviously a bit different. However, since the ramp occurs over just one millisecond, the profile from the ramped case (solid line) very quickly adjusts to the same voltage as the case where current is instantaneous (open markers). The solutions maintain good agreement throughout the rest of discharge." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "In this tutorial, you’ve seen how ramped loads can stabilize simulations that struggle with abrupt load changes. By using the loadfns module, you can easily implement these profiles, ensuring smoother transitions for the solver. For more advanced load functions, check out the full documentation to optimize your simulations further." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/jupyter_execute/examples/step_functions.ipynb b/docs/jupyter_execute/examples/step_functions.ipynb new file mode 100644 index 0000000..9f5449c --- /dev/null +++ b/docs/jupyter_execute/examples/step_functions.ipynb @@ -0,0 +1,214 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step Functions\n", + "In many experimental setups, dynamic loads are applied to simulate realistic operating conditions. Experimental platforms often handle these dynamic loads effectively, interpolating between data points if necessary to create smooth profiles. However, while interpolation is a convenient tool, there are situations where it might not be the best approach for simulating system behavior. Therefore, we also supply helper functions to construct step-based load profiles.\n", + "\n", + "## Why not interpolate?\n", + "Interpolating data can introduce a level of artificial smoothness that doesn't always reflect the abrupt changes seen in real-world systems. For example, interpolated loads are often used to ease solver convergence, but they may not capture the behavior of systems that respond rapidly to changes. This is particularly important for systems that exhibit stepwise or discrete changes in load, where instantaneous shifts between levels are more appropriate than a continuous curve.\n", + "\n", + "While writing an interpolation function is typically straightforward—requiring little more than a call to a standard library, the complexity increases when building a function that implements stepwise behavior. A step function requires more careful attention to correctly represent when and where the system load changes instantaneously. Consequently, we provide this functionality within the `loadfns` modeule to reduce the users' burden to have to develop their own. \n", + "\n", + "## Overview\n", + "When dealing with numerical simulations, introducing ramps between load changes can significantly improve the stability of the solver, reducing the risk of failure during abrupt transitions. Sudden, instantaneous changes in load can sometimes cause solvers to struggle, especially with stiff systems, leading to crashes or errors. That’s why in Thevenin, we offer two classes for defining stepped load profiles: `StepFunction` and `RampedSteps`.\n", + "\n", + "The `StepFunction` class is designed for scenarios where immediate, instantaneous changes in load are appropriate, while the `RampedSteps` class helps transition between steps by applying an interpolation ramps over a specified time interval at the start of each new step. These two approaches cover a wide range of scenarios, from systems that can handle rapid shifts to those that require more stable transitions.\n", + "\n", + "Below, we will cover:\n", + "1. Building load profiles using interpolated data.\n", + "2. Setting up multi-step experiments using for loops.\n", + "3. Using the `StepFunctio` class to create instantaneous stepped loads.\n", + "4. Using the `RampedSteps` class to create stable transitions between load steps.\n", + "\n", + "## Dynamic Experiments\n", + "To create dynamic load profiles, especially for more complex experiments, there are many approaches you can take. The `Experiment` class allows users to pass in any Python `Callable` like `f(t: float) -> float` to control each step. Therefore, if you have data, you can easily interpolate the data to create a load profile, or you can automate the construction of load steps using a for loop. Below we demonstrate both approaches." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[thevenin UserWarning]: Using the default parameter file 'params.yaml'.\n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import thevenin\n", + "import numpy as np\n", + "\n", + "model = thevenin.Model()\n", + "\n", + "# Fake hour-by-hour load data\n", + "time_s = 3600.*np.array([0., 1., 2., 3., 4., 5.])\n", + "current_A = model.capacity*np.array([0.6, 0.3, -0.5, 0.2, 0.3, -0.1])\n", + "\n", + "# Interpolating the data\n", + "interp = lambda t: np.interp(t, time_s, current_A)\n", + "\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "expr.add_step('current_A', interp, (3600*6, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the script above, the data represents hour-by-hour constant-current loads, which might represent some stationary storage system. Since the current is constant across each hour, interpolating between points poorly approximates the actual system behavior. However, interpolation might be more relevant for other dynamic systems like electric vehicles, where data is resolved on shorter timescales, such as seconds.\n", + "\n", + "A better approach for modeling constant-step experiments, rather than using interpolation, is to manually construct the steps using a for loop. In the code block below, we demonstrate how to create a new experiment with multiple steps, where each step lasts one hour, and the current is set by the values in the `current_A` array." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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DqaKfJLst99+2+kYUePo0aO2JHvbtm1OR4kKaWlp9i9+8QunY0SshoYGu2fPnvbmzZvtO++803788cedjhRxFi5caA8YMMDpGFFh3rx59u233+50DB9mfMKoublZpaWlGjNmjG/M5XJpzJgx2rFjh4PJcK2pq6uTJLVr187hJJHN4/FozZo1amxs1NChQ52OE7EKCgr0ne98x+93Fy70t7/9TZ07d1b37t01efJkHTx40OlIEemdd95Rfn6+7r//fnXs2FGDBg3S66+/7lgeik8Yff755/J4PMrIyPAbz8jIUHV1tUOpcK3xer2aM2eOhg0bpn79+jkdJyJ9+OGHSkpKUkJCgh599FG9/fbbuummm5yOFZHWrFmjvXv3qqioyOkoEW3IkCFatWqVNmzYoKVLl+rAgQO644471NDQ4HS0iPPpp59q6dKl6tmzpzZu3KiZM2fqhz/8od58801H8vDt7ECUKygoUHl5OdcXXELv3r1VVlamuro6/ed//qemTJmibdu2UX6+pqqqSo8//rg2b96sxMREp+NEtLvuusv3ODc3V0OGDFFOTo7+4z/+Q9OnT3cwWeTxer3Kz8/XM888I0kaNGiQysvLtWzZMk2ZMuWq52HGJ4zS09MVExOjmpoav/GamhplZmY6lArXklmzZmndunXaunWrsrKynI4TseLj43XDDTcoLy9PRUVFGjBggF588UWnY0Wc0tJSHT16VIMHD1ZsbKxiY2O1bds2vfTSS4qNjZXH43E6YsRKTU1Vr169VFlZ6XSUiNOpU6cL/si48cYbHXtrkOITRvHx8crLy1NJSYlvzOv1qqSkhOsLcEVs29asWbP09ttva8uWLerWrZvTkaKK1+tVU1OT0zEizujRo/Xhhx+qrKzMt+Tn52vy5MkqKytTTEyM0xEj1smTJ/XJJ5+oU6dOTkeJOMOGDbvgdhv79+9XTk6OI3l4qyvM5s6dqylTpig/P1+33HKLlixZosbGRk2bNs3paBHn5MmTfn8tHThwQGVlZWrXrp26dOniYLLIU1BQoNWrV+v3v/+9kpOTfdeMud1utWnTxuF0kaWwsFB33XWXunTpooaGBq1evVp//OMftXHjRqejRZzk5OQLrhNr27at2rdvz/VjX/PUU0/pnnvuUU5Ojg4fPqyFCxcqJiZGDz74oNPRIs4TTzyh2267Tc8884weeOAB7dq1S8uXL9fy5cudCeT0x8pM8PLLL9tdunSx4+Pj7VtuucXeuXOn05Ei0tatW21JFyxTpkxxOlrEudh5kmSvXLnS6WgR55FHHrFzcnLs+Ph4u0OHDvbo0aPtTZs2OR0ravBx9oubNGmS3alTJzs+Pt6+/vrr7UmTJtmVlZVOx4pY7777rt2vXz87ISHB7tOnj718+XLHsli2bdvOVC4AAICri2t8AACAMSg+AADAGBQfAABgDIoPAAAwBsUHAAAYg+IDAACMQfEBAADGoPgAAABjUHwARKypU6dqwoQJV/11V61aJcuyZFmW5syZ4xvv2rWrlixZcsnntj4vNTU1rBkBXB6+qwuAIyzLuuT2hQsX6sUXX5RTN5dPSUlRRUWF2rZtG9Tzjhw5orVr12rhwoVhSgbgSlB8ADjiyJEjvsdr167VggUL/L7BOSkpSUlJSU5Ek3SumGVmZgb9vMzMTLnd7jAkAhAKvNUFwBGZmZm+xe12+4pG65KUlHTBW10jRozQ7NmzNWfOHKWlpSkjI0Ovv/66GhsbNW3aNCUnJ+uGG27Q+vXr/V6rvLxcd911l5KSkpSRkaGHH35Yn3/++WXlPnXqlB555BElJyerS5cuzn3DNIDLQvEBEFXefPNNpaena9euXZo9e7Zmzpyp+++/X7fddpv27t2rsWPH6uGHH9apU6ckSbW1tRo1apQGDRqkPXv2aMOGDaqpqdEDDzxwWa///PPPKz8/X++//74ee+wxzZw502+mCkBko/gAiCoDBgzQj3/8Y/Xs2VOFhYVKTExUenq6ZsyYoZ49e2rBggX64osvtG/fPknSK6+8okGDBumZZ55Rnz59NGjQIK1YsUJbt27V/v37g379u+++W4899phuuOEGzZs3T+np6dq6dWuo/5kAwoRrfABEldzcXN/jmJgYtW/fXv379/eNZWRkSJKOHj0qSfrggw+0devWi14v9Mknn6hXr16X/fqtb8+1vhaAyEfxARBV4uLi/NYty/Iba/20mNfrlSSdPHlS99xzj/71X//1gmN16tQpJK/f+loAIh/FB8A1bfDgwfrtb3+rrl27KjaWX3mA6bjGB8A1raCgQMePH9eDDz6o3bt365NPPtHGjRs1bdo0eTwep+MBuMooPgCuaZ07d9Zf/vIXeTwejR07Vv3799ecOXOUmpoql4tfgYBpLNup26ICQIRatWqV5syZo9raWkeeDyB8+HMHAC6irq5OSUlJmjdvXlDPS0pK0qOPPhqmVACuFDM+APA1DQ0NqqmpkSSlpqYqPT094OdWVlZKOvdR+27duoUlH4DLR/EBAADG4K0uAABgDIoPAAAwBsUHAAAYg+IDAACMQfEBAADGoPgAAABjUHwAAIAxKD4AAMAY/x+J9Fux37riWgAAAABJRU5ErkJggg==", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Looping over constant steps\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "for amps in current_A:\n", + " expr.add_step('current_A', amps, (3600, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This loop-based method significantly improves the accuracy of the results in this case. You can see how different the two voltage profiles are when the load profile is applied correctly, instead of using interpolation. This loop-based approach offers the most flexibility and is recommended when users need precise control over each step. For example, using the `add_step` method allows you to add different limits to each step, which can be incorporated into the loop. This level of control is not always possible with other methods.\n", + "\n", + "## Ramped Transitions\n", + "Unlike `StepFunction`, the `RampedSteps` class introduces \"smooth\" transitions between load steps by ramping up or down over a specified time period. This method is especially useful when dealing with stiff systems, where abrupt changes might otherwise cause solver instability. Below we demonstrate this using the same hour-by-hour profile from above. We set the ramp between steps to be just one millisecond so that the transitions are still quick and approximate an instantaneous change. In this case, the added ramps improve the stability and the full simulation is run, as shown in the figure. Overall, the results are nearly identical to the loop-based approach since the ramps are set to occur over such a small time scale. In particular, the main difference is shown in the current profile, where you can briefly see the first ramp (starting from zero current at `t = 0`)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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WV3upI6sAPxBj495PAefbdu2afTo0ZKk7du3p32P4eOvlmSIHQGIOs3N4dZhCufICj6BwCeps7ro8TGF5+Czfv36IOrIa+1X3JB74Cf7sE1yjztOj0+4ZSCPxO0enzaehabw3ONj27Fjh1avXq2DBw9KYjltJu0fGnp84CeWs3vDkRXwW0n88NtoM2d1GcNz8Pn88881adIknXzyybr00ku1e/duSdLMmTN1++23+15gPmjff8EIO/xEc7M3HFkBvxUfCT4tbQQfU3gOPrfddpuKior08ccfq3Pnzs71V199tVatWuVrcfmifc8bnzThJ3Zu9oYjK+C3VPBJhFwJ3PLc47NmzRqtXr1a/fv3T7t+2LBh+t///V/fCssnSXp8EBSmujxiPy34ywk+THUZw/OIT1NTU9pIj+2LL75QSUmJL0XlMz5pwk/2XxMrad1hxAd+K44x1WUaz8Hnggsu0C9/+Uvn60gkomQyqfvvv18XXXSRr8XlC3p8EBSmuryxWNYFn5UWHWluJvgYw/NU1/33369JkybpzTffVEtLi374wx/q3Xff1RdffKFXX301iBqNl2RVFwLCqi5vGPGB34pjMUmM+JjE84jPyJEj9f777+v888/Xd77zHTU1Nenyyy/XW2+9pRNPPDGIGo3HrroISoQNDD2xHyZGXuEXVnWZx9OIT2trqy6++GItXbpUd999d1A15R328UFQUlNdJB83LE5nh8/s4NOWtJRMWuwKbgBPIz5FRUXatm1bULXkLYseHwSMER93Umfm8USEP+zgI7GyyxSep7q+973v6cknnwyiFt8sWbJEgwcPVmlpqcaNG6c33ngj1Hro8UFQIhxS6gkPE/xW0i74NLcSfEzgubm5ra1Ny5cv1x//+EeNGTNGXbp0Sft+2Kezr1y5UnPnztXSpUs1btw4LV68WFOnTlVNTY369OkTSk3s44OgcEipN4z4wG/xaESRyOHnYHMiIako7JLQAc/BZ/v27TrzzDMlSe+//37a93JhV+JFixZp1qxZuv766yVJS5cu1X/+539q+fLluuuuu9Ju29zcrObmZufrhoaGQGqy2LkZAeGQUm84sgJ+i0QiKo5F1dyWpMHZEJ6CTyKR0D333KPTTjtN3bt3D6qm49bS0qLNmzdr3rx5znXRaFSTJ0/Wxo0bj7r9woULdc899wRel+V8ygz8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H+qxxx7TsGHDtHr1at100036p3/6Jz399NOh1MPp7IDhqqurtX37dvoLMhg+fLi2bt2q+vp6/fu//7umT5+uDRs2EH6+ZOfOnbr11lu1du1alZaWhl1OTrvkkkucfx81apTGjRunQYMG6de//rVmzpwZYmW5J5lMauzYsbr33nslSWeccYa2b9+upUuXavr06VmvhxGfAPXq1UuxWEx1dXVp19fV1amqqiqkqpBPZs+erRdffFHr169X//79wy4nZxUXF+ukk07SmDFjtHDhQp1++ul66KGHwi4r52zevFl79uzRmWeeqXg8rng8rg0bNujhhx9WPB5XIpEIu8Sc1a1bN5188snasWNH2KXknL59+x71IeMb3/hGaFODBJ8AFRcXa8yYMVq3bp1zXTKZ1Lp16+gvwNdiWZZmz56t559/Xi+//LKGDBkSdklGSSaTam5uDruMnDNp0iS988472rp1q3MZO3asrr32Wm3dulWxWCzsEnPW/v379cEHH6hv375hl5JzzjvvvKO223j//fc1aNCgUOphqitgc+fO1fTp0zV27FidffbZWrx4sZqamnT99deHXVrO2b9/f9qnpY8++khbt25Vjx49NHDgwBAryz3V1dV69tln9fvf/17l5eVOz1hFRYU6deoUcnW5Zd68ebrkkks0cOBANTY26tlnn9Wf/vQnrV69OuzSck55eflRfWJdunRRz5496R/7kjvuuEOXXXaZBg0apF27dmnBggWKxWL67ne/G3ZpOee2227Tueeeq3vvvVdXXXWV3njjDS1btkzLli0Lp6Cwl5UVgkceecQaOHCgVVxcbJ199tnW66+/HnZJOWn9+vWWpKMu06dPD7u0nHOsx0mS9dRTT4VdWs654YYbrEGDBlnFxcVW7969rUmTJllr1qwJuyxjsJz92K6++mqrb9++VnFxsXXCCSdYV199tbVjx46wy8pZL7zwgjVy5EirpKTEGjFihLVs2bLQaolYlmWFE7kAAACyix4fAABQMAg+AACgYBB8AABAwSD4AACAgkHwAQAABYPgAwAACgbBBwAAFAyCDwAAKBgEHwA5a8aMGZo2bVrWf++KFSsUiUQUiUQ0Z84c5/rBgwdr8eLFGX/W/rlu3boFWiOA48NZXQBCEYlEMn5/wYIFeuihhxTW5vJdu3ZVTU2NunTp4unndu/erZUrV2rBggUBVQbg6yD4AAjF7t27nX9fuXKl5s+fn3aCc1lZmcrKysIoTdLhYFZVVeX556qqqlRRURFARQD8wFQXgFBUVVU5l4qKCido2JeysrKjprouvPBC3XLLLZozZ466d++uyspKPfHEE2pqatL111+v8vJynXTSSXrppZfSftf27dt1ySWXqKysTJWVlbruuuv02WefHVfdBw4c0A033KDy8nINHDgwvBOmARwXgg8Aozz99NPq1auX3njjDd1yyy266aabdOWVV+rcc8/Vli1bNGXKFF133XU6cOCAJGnfvn2aOHGizjjjDL355ptatWqV6urqdNVVVx3X73/ggQc0duxYvfXWW7r55pt10003pY1UAchtBB8ARjn99NP1ox/9SMOGDdO8efNUWlqqXr16adasWRo2bJjmz5+vzz//XNu2bZMk/fznP9cZZ5yhe++9VyNGjNAZZ5yh5cuXa/369Xr//fc9//5LL71UN998s0466STdeeed6tWrl9avX+/3fyaAgNDjA8Aoo0aNcv49FoupZ8+eOu2005zrKisrJUl79uyRJL399ttav379MfuFPvjgA5188snH/fvt6Tn7dwHIfQQfAEYpKipK+zoSiaRdZ68WSyaTkqT9+/frsssu07/8y78cdV99+/b15ffbvwtA7iP4AMhrZ555pn77299q8ODBisd5yQMKHT0+APJadXW1vvjiC333u9/Vpk2b9MEHH2j16tW6/vrrlUgkwi4PQJYRfADktX79+unVV19VIpHQlClTdNppp2nOnDnq1q2bolFeAoFCE7HC2hYVAHLUihUrNGfOHO3bty+UnwcQHD7uAMAx1NfXq6ysTHfeeaennysrK9ONN94YUFUAvi5GfADgSxobG1VXVydJ6tatm3r16uX6Z3fs2CHp8FL7IUOGBFIfgONH8AEAAAWDqS4AAFAwCD4AAKBgEHwAAEDBIPgAAICCQfABAAAFg+ADAAAKBsEHAAAUDIIPAAAoGP8fYuk5MGhSlxwAAAAASUVORK5CYII=", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Stabilize the solver with ramped steps\n", + "demand = thevenin.loadfns.RampedSteps(time_s, current_A, 1e-3)\n", + "\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "expr.add_step('current_A', demand, (3600*6, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "While the `RampedSteps` class improves solver stability, it still lacks flexibility for setting limits on each individual step. For instance, you could apply limits to stop the simulation if the voltage goes outside a specific window (e.g., [3, 4.2]), but this would simply end the entire simulation prematurely. In most cases, you wouldn’t want to stop the simulation completely but instead transition to the next step early. To achieve this behavior, you would need to use loops, or alternatively, set up multiple instances of the `RampedSteps` class if you want to transition between groups of steps based on specific limits rather than between individual steps.\n", + "\n", + "In general, if maximum flexibility is needed, more manual setup is required for multi-step experiments. However, if you can work within the limitations of `RampedSteps`, it is a powerful tool for quickly constructing step-like profiles while maintaining some degree of stability.\n", + "\n", + "## Conclusion\n", + "In this tutorial, we explored various methods for constructing dynamic load profiles using Thevenin’s `StepFunction` and `RampedSteps` classes. We’ve shown how both instantaneous steps and ramps between steps can be modeled and discussed the trade-offs between flexibility, stability, and ease of use. While loop-based approaches offer the greatest control, `RampedSteps` provides a simple and effective way to ensure stability in simulations, making it a valuable option for many users. Ultimately, the best method depends on the complexity of the load profile you need and the requirements of your specific experiment or model." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/jupyter_execute/examples/yaml_inputs.ipynb b/docs/jupyter_execute/examples/yaml_inputs.ipynb new file mode 100644 index 0000000..9d6dc70 --- /dev/null +++ b/docs/jupyter_execute/examples/yaml_inputs.ipynb @@ -0,0 +1,243 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# YAML File Inputs\n", + "This basic example will walk you through understanding the three main classes required to build and exercise equivalent circuit models using this package. The three classes as the `Model`, `Experiment`, and `StepSolution` or `CylceSolution` classes. Models hold parameters associated with defining the battery circuit, experiments list a series of sequential steps that define a test protocol or duty cycle, and the solution classes provide an interface to access, manipulate, and/or plot the solution.\n", + "\n", + "## Import Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Construct a Model\n", + "The model class can be constructed using either a '.yaml' file or a dictionary that specifies all keyword arguments shown in the documentation (`help(thevenin.Model)`). A default '.yaml' file is read in when no input is provided. This is simply for convenience to help users get up and going as quickly as possible. However, you should learn how to write your own '.yaml' file or dictionary input if you would like to use this package to its fullest extent. \n", + "\n", + "The '.yaml' format is very similar to building a dictionary in Python. Use the default 'params.yaml' file given below as a template for your own files. Note that the open circuit voltage `ocv` and circuit elements (`R0`, `R1`, and `C1`) must be input as a `Callable` with the correct inputs in the correct order, i.e., `f(soc: float) -> float` for `ocv` and `f(soc: float, T_cell: float) -> float` for all RC elements. The inputs represent the state of charge (`soc`, -) and cell temperature (`T_cell`, K). Resistor and capacitor outputs should be in Ohm and F, respectively. Since '.yaml' files do not natively support python functions, this package uses a custom `!eval` constructor to interpret functional parameters. The `!eval` constructor should be followed by a pipe `|` so that the interpreter does not get confused by the colon in the `lambda` expression. `np` expressions and basic math are also supported when using the `!eval` constructor.\n", + "\n", + "```yaml\n", + "num_RC_pairs: 1\n", + "soc0: 1.\n", + "capacity: 75.\n", + "mass: 1.9\n", + "isothermal: False\n", + "Cp: 745.\n", + "T_inf: 300.\n", + "h_therm: 12.\n", + "A_therm: 1.\n", + "ocv: !eval | \n", + " lambda soc: 84.6*soc**7 - 348.6*soc**6 + 592.3*soc**5 - 534.3*soc**4 \\\n", + " + 275.*soc**3 - 80.3*soc**2 + 12.8*soc + 2.8\n", + "R0: !eval |\n", + " lambda soc, T_cell: 1e-4 + soc/1e5 - T_cell/3e7\n", + "R1: !eval |\n", + " lambda soc, T_cell: 1e-5 + soc/1e5 - T_cell/3e7\n", + "C1: !eval |\n", + " lambda soc, T_cell: 1e4 + soc*1e4 + np.exp(T_cell/300.)\n", + "```\n", + "\n", + "Although this example only uses a single RC pair, `num_RC_pairs` can be as low as 0 and can be as high as $N$. The number of defined `Rj` and `Cj` elements in the '.yaml' file should be consistent with `num_RC_pairs`. For example, if `num_RC_pairs=0` then only `R0` should be defined, with no other resistors or capacitors. However, if `num_RC_pairs=3` then the user should specify `R0`, `R1`, `R2`, `R3`, `C1`, `C2`, and `C3`. Note that the series resistor element `R0` is always included, even when there are no RC pairs. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[thevenin UserWarning]: Using the default parameter file 'params.yaml'.\n", + "\n" + ] + } + ], + "source": [ + "model = thevenin.Model()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When using the default parameters, a warning will always print. This is to ensure the user is running with their preferred inputs. In the case that a user has a file by the same name, the package will take the default as its preference. Be sure to specify the local or absolute path in this case, e.g., `./params.yaml`, or simply rename your file.\n", + "\n", + "## Build an Experiment\n", + "Experiments are built using the `Experiment` class. An experiment starts out empty and is then constructed by adding a series of current-, voltage-, or power-controlled steps. Each step requires knowing the control mode/units, the control value, a relative time span, and limiting criteria (optional). Control values can be specified as either constants or dynamic profiles with sinatures like `f(t: float) -> float` where `t` is the relative time of the new step, in seconds. The experiment below discharges at a nominal 1C rate for up to 1 hour. A limit is set such that if the voltage hits 3 V then the next step is triggered early. Afterward, the battery rests for 10 min before charging at 1C for 1 hours or until 4.3 V is reached. The remaining three steps perform a voltage hold at 4.3 V for 10 min, a constant power profile of 200 W for 1 hour or until 3.8 V is reached, and a sinusoidal voltage load for 10 min centered around 3.8 V.\n", + "\n", + "Note that the time span for each step is constructed as `(t_max: float, dt: float)` which is used to determine the time array as `tspan = np.arange(0., t_max + dt, dt)`. You can also construct a time array given `(t_max: float, Nt: int)` by using an integer instead of a float in the second position. In this case, `tspan = np.linspace(0., t_max, Nt)`. To learn more about building an experiment, including which limits are allowed and/or how to adjust solver settings on a per-step basis, see the documentation `help(thevenin.Experiment)`." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "dynamic_load = lambda t: 10e-3*np.sin(2.*np.pi*t / 120.) + 3.8\n", + "\n", + "expr = thevenin.Experiment(max_dt=10.)\n", + "expr.add_step('current_A', 75., (3600., 1.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 1.))\n", + "expr.add_step('current_A', -75., (3600., 1.), limits=('voltage_V', 4.3))\n", + "expr.add_step('voltage_V', 4.3, (600., 1.))\n", + "expr.add_step('power_W', 200., (3600., 1.), limits=('voltage_V', 3.8))\n", + "expr.add_step('voltage_V', dynamic_load, (600., 1.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run the Experiment\n", + "Experiments are run using either the `run` method, as shown below, or the `run_step` method. The difference between the two is that the `run` method will run all experiment steps with one call. If you would prefer to run the discharge first, perform an analysis, and then run the rest, etc. then you will want to use the `run_step` method. In this case, you should always start with step 0 and then run the following steps in order. When you use `run_step` the models internal state is saved at the end of each step. Therefore, after all steps have been run, you should run the `pre` method to pre-process the model back to its original initial state. All of this is handled automatically in the `run` method.\n", + "\n", + "Regardless of how you run your experiment, the return value will be a solution instance. Solution instances each contain a `vars` attribute which contains a dictionary of the output variables. Keys are generally self descriptive and include units where applicable. To quickly plot any two variables against one another, use the `plot` method with the two keys of interest specified for the `x` and `y` variables of the figure. Below, time (in hours) is plotted against voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sol = model.run(expr)\n", + "sol.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To run step-by-step, perform the following." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Run each index, starting with 0\n", + "solns = []\n", + "for i in range(expr.num_steps):\n", + " solns.append(model.run_step(expr, i))\n", + " \n", + "# Re-run the pre-processor in case you'd like to run another experiment\n", + "model.pre()\n", + " \n", + "# Look at the first step solution (i.e., the 1C discharge)\n", + "solns[0].plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you run an experiment step-by-step, you can also manually stitch them together into a `CycleSolution` once you are finished. Alternatively, if you have a `CycleSolution`, you can pull a single `StepSolution` or a subset of the `CycleSolution` using the `get_steps` method. See below for an example." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGfUlEQVR4nO3dd3hUZeL28XvSIR0CAVKA0FukKYQiq4AuKKKrouISQMAC62LZ/bEoymID64plESmLu4IRUHxdRbPKgoC00DRIJwkJkEIoSUhInfP+EYiLFDNhZs5k8v1c11yXOTkzc+cYM7fPeZ5zLIZhGAIAAHATHmYHAAAAsCfKDQAAcCuUGwAA4FYoNwAAwK1QbgAAgFuh3AAAALdCuQEAAG7Fy+wAzma1WnXs2DEFBgbKYrGYHQcAAFSDYRgqKChQs2bN5OFx5bGZOldujh07pqioKLNjAACAGsjIyFBkZOQV96lz5SYwMFBS5cEJCgoyOQ0AAKiO/Px8RUVFVX2OX0mdKzfnT0UFBQVRbgAAqGWqM6WECcUAAMCtUG4AAIBbodwAAAC3QrkBAABuhXIDAADcCuUGAAC4FcoNAABwK5QbAADgVig3AADArVBuAACAW6HcAAAAt0K5AQAAbqXO3TgTAACz5OQXq7TCanYMh/Px8lDjQD/T3p9yAwCAE8z+9oD+9u1+s2M4RffoEH06sa9p70+5AQDACbaknaj6Z18v954V4u1p7s9HuQEAwMEO5hQoKe2UJGnpQ3G6rmUDkxO5N/eujgAAmKy8wqonl/6g0nKrBrRtpGtbhJodye1RbgAAcKC/rzmkH47kKcjPSy/fGSuLxWJ2JLdHuQEAwEG2HT6l2asOSJKeG95ZTYLNW0FUl1BuAABwgLyzZfrjRztUYTV0e9dmGt61mdmR6gzKDQAAdmYYhp5ekayjp88qukF9PX97Z05HORHlBgAAO1u29Yi++DFTXh4Wzb63qwL9vM2OVKdQbgAAsKP92QWa/vlPkqQnb2qnbtGsjnI2yg0AAHaSX1ymh/61TWfLKtSvdZgeuj7G7Eh1EuUGAAA7sFoNPbn0B6XmFqpZsJ9m39tVHh7MszED5QYAADuY890hfbM7Wz6eHprz+x5qGOBrdqQ6i3IDAMBVWnfguF7/zz5J0ozhnXRNVIi5geo4yg0AAFch5fgZ/WHJDlkN6Z6eUbrvumizI9V5lBsAAGrodFGpxn2wVXlny3RNVIhmDO9kdiSIcgMAQI2Ullv18IfblJpbqIiQepof31N+3p5mx4IoNwAA2MwwDE37LFmbUk4qwNdLC8b0VKNAJhC7CsoNAAA2mrs2RUu3HpGHRXp7ZDe1bxJkdiT8D8oNAAA2+HT7Ec36aq8k6dlbO+qGdo1NToRfotwAAFBNq/fl6P+W/yhJGt+vpcb0bWlyIlwK5QYAgGrYdviUHvlwm8qthu7oFqGnhnYwOxIug3IDAMCvOJBdoAcWJam4zKrftGukV+6K5dYKLsxlys2sWbNksVj02GOPXXafefPmqX///goNDVVoaKgGDRqkLVu2OC8kAKDOOXKqSPELtyjvbJm6RYfo7/d3l7eny3x84hJc4t9OUlKS5s6dq9jY2Cvut2bNGt13331avXq1Nm7cqKioKN100006evSok5ICAOqSzLyzum/eJmXmFat14wAtHH2t6vt4mR0Lv8L0cnPmzBndf//9mjdvnkJDQ6+47+LFizVx4kR17dpV7du31/z582W1WrVq1SonpQUA1BU5+cUaOW+zMk6eVfOG9fXhuF4K9fcxOxaqwfRyM2nSJN1yyy0aNGiQzc8tKipSWVmZGjRocNl9SkpKlJ+ff8EDAIArOV5QovvmbVJqbqEiQ+tpyYTeahLsZ3YsVJOpY2sJCQnavn27kpKSavT8KVOmqFmzZlcsRjNnztSMGTNqGhEAUMecLCzV7+dv1qHjhWoa7KePJvRWREg9s2PBBqaN3GRkZGjy5MlavHix/Pxsb8OzZs1SQkKCVqxYccXnT506VXl5eVWPjIyMq4kNAHBj54vNvuwCNQ701UcTeiuqQX2zY8FGFsMwDDPe+LPPPtMdd9whT8+fbzJWUVEhi8UiDw8PlZSUXPC9//Xaa6/phRde0LfffquePXva9L75+fkKDg5WXl6egoK4XDYAoFJOQbFGzd+ifdkFCgvwUcKDcWrdOMDsWDjHls9v005LDRw4UMnJyRdsGzt2rNq3b68pU6Zctti88sorevHFF5WYmGhzsQEA4FIy887q/nmblZJbqPAgXy0e35tiU4uZVm4CAwPVuXPnC7b5+/urYcOGVdvj4+MVERGhmTNnSpJefvllPfvss1qyZIlatGihrKwsSVJAQIACAvglBADYLuNkkUbO36SMk2cVEVJPSyb0UvOG/mbHwlUwfbXUlaSnpyszM7Pq6zlz5qi0tFR33XWXmjZtWvV47bXXTEwJAKitUo6f0Yi5G6uWey99OI5i4wZMm3NjFubcAAAkaV9Wge6fv1m5Z0rUunGAFo/vpfAglnu7qlox5wYAALNsTTupBxYlKb+4XB2aBulf465TWICv2bFgJ5QbAECd8u3ubE1asl0l5Vb1aB6qBaN7KqQ+Vx52J5QbAECdsXRrhqZ+mqwKq6GB7RvrnZHdVc/n0qtzUXtRbgAAbs8wDM357pBe+XqfJOmuHpGa+bsu3N3bTVFuAABuzWo19MKXe7Tw+1RJ0sMDWmnKb9vJYrGYnAyOQrkBALitkvIK/XnZj/r8h2OSpGm3dND4/jEmp4KjUW4AAG7pVGGpHvrXNm1JOykvD4tevTtWd3SLNDsWnIByAwBwO2m5hRq7KEmpuYUK9PXSnN/3UL82YWbHgpNQbgAAbmXb4ZMa/8FWnSoqU0RIPf1j7LVqGx5odiw4EeUGAOA2/v3DMT257AeVllsVGxms+aN7qnEgVx2uayg3AIBa75dLvQd3DNfse7uqvg8fc3UR/9YBALVaablVz/6/XUpIypAkPdC3pZ6+pYM8PVjqXVdRbgAAtdaJMyV6ZPF2bUk9KQ+LNH1YJ43u08LsWDAZ5QYAUCvtyczXhH9u1ZFTZxXo66W37uumG9o3NjsWXADlBgBQ6yT+lKXHP96potIKNW9YXwtG91TrxqyIQiXKDQCg1jAMQ++uPqjX/rNfktS3dUO9O7I7d/XGBSg3AIBa4Wxphf7vkx/173O3UhjTp4WevqUDN7/ERSg3AACXl5l3Vg/+c5uSj+bJy8Oi54Z31she0WbHgoui3AAAXFpS2klNXLxdxwtKFFrfW3N+30O9YxqaHQsujHIDAHBJhmHonxsP6/kvdqvcaqhdeKDmj+6pqAb1zY4GF0e5AQC4nLOlFXp6RbI+3XFUkjTsmmZ6+c4uXHEY1cJvCQDApWScLNJD/9qm3Zn58vSwaOqQ9hrXr6UsFq44jOqh3AAAXMa6A8f16Ec7dLqoTA39ffT2yG7q0yrM7FioZSg3AADTnb/x5WuJ+2Q1pGsigzXn9z3ULKSe2dFQC1FuAACmKigu05+X/aivf8qSJN17bZT+elsn+Xl7mpwMtRXlBgBgmt3H8jVpyXal5hbKx9NDM4Z30n3Xcf0aXB3KDQDA6QzD0MdJGZr++U8qKbeqWbCf3r2/u7pFh5odDW6AcgMAcKqi0nJNW7Grapn3De0a6Y0RXRXqz/2hYB+UGwCA0xzILtDExdt1IOeMPD0s+tNN7fTQ9THy8GCZN+yHcgMAcIpPtx/R0yt26WxZhRoH+urt+7qpF7dRgANQbgAADlVcVqG/fv6TEpIyJEn9WofpzXu7KizA1+RkcFeUGwCAw+zPLtAfP9qhvVkFslikxwa21R9ubC1PTkPBgSg3AAC7MwxDizen6/kvdquk3KqwAB/Nvreb+rbmasNwPMoNAMCuTheVasonPyrxp2xJ0vVtG+n1u69Ro0BOQ8E5KDcAALvZlHJCj3+8U5l5xfL2tGjKb9vrgb4tWQ0Fp6LcAACuWnmFVW+tOqB3Vh+U1ZBahvnrrXu7qUtksNnRUAdRbgAAVyXjZJEe+3inth0+JUm6u0ek/npbJ/n78hEDc/CbBwCoEcMwtHzbEc34926dKSlXoK+XXvxdF912TTOzo6GOo9wAAGyWe6ZET32arP/srpw03D06RLPv7aaoBvVNTgZQbgAANvpmd7amfvqjcs+UytvToscGtdXDA1px7Rq4DMoNAKBaCorL9PwXu7V06xFJUrvwQL1xzzXq1IxJw3AtlBsAwK/anHJCTy77QUdOnZXFIk3oH6MnBreVn7en2dGAi3iYHeC8WbNmyWKx6LHHHrvifsuWLVP79u3l5+enLl26aOXKlc4JCAB1UFFpuZ77927dO2+Tjpw6q8jQekqY0FtPDe1AsYHLcolyk5SUpLlz5yo2NvaK+23YsEH33Xefxo0bpx07duj222/X7bffrl27djkpKQDUHRsO5eq3b67Twu9TZRjSiJ6R+mpyf+7kDZdnMQzDMDPAmTNn1L17d/3973/XCy+8oK5du+rNN9+85L733HOPCgsL9cUXX1Rt6927t7p27ar33nvvks8pKSlRSUlJ1df5+fmKiopSXl6egoKC7PqzAIA7KCgu08yv9mrJ5nRJUrNgP734uy66oV1jk5OhLsvPz1dwcHC1Pr9NH7mZNGmSbrnlFg0aNOhX9924ceNF+918883auHHjZZ8zc+ZMBQcHVz2ioqKuOjMAuKvV+3J009/WVhWb+3tFK/Hx6yk2qFVMnVCckJCg7du3KykpqVr7Z2VlKTw8/IJt4eHhysrKuuxzpk6dqieeeKLq6/MjNwCAn50uKtXzX+zRJ9srV0I1b1hfs34Xq7hWnIJC7WNaucnIyNDkyZP1zTffyM/Pz2Hv4+vrK19f7kQLAJdiGIY+/+GYnv9ij3LPlMhikcb1baknb2qnej5MGEbtZFq52bZtm3JyctS9e/eqbRUVFVq7dq3eeecdlZSUyNPzwv+wmjRpouzs7Au2ZWdnq0mTJk7JDADuJDW3UM98tkvrD+ZKklo3DtArd8Wqe3SoycmAq2NauRk4cKCSk5Mv2DZ27Fi1b99eU6ZMuajYSFJcXJxWrVp1wXLxb775RnFxcY6OCwBuo6S8QnPWHNLf1xxSablVvl4e+uPANprQP0Y+XqZPxQSummnlJjAwUJ07d75gm7+/vxo2bFi1PT4+XhEREZo5c6YkafLkyRowYIBef/113XLLLUpISNDWrVv1/vvvOz0/ANRGGw7matpnu5SSWyhJur5tIz0/vJOaN/Q3ORlgPy59heL09HR5ePz8fxF9+vTRkiVLNG3aND311FNq06aNPvvss4tKEgDgQjkFxZq5cq9W7DgqSWoU6Kvpwzrqli5NZbFwTyi4F9Ovc+NstqyTB4DarrTcqkUbUvXWqoM6U1Iui0WK791cT97cTkF+3mbHA6rNls9vlx65AQDU3Op9OXr+37urTkFdExms54Z31jVRIeYGAxyMcgMAbiYtt1DPf7Fbq/bmSJLCAnw15bftdGf3SHl4cAoK7o9yAwBu4kxJud5dfVAL1qWqtMIqLw+LxvZtoUcHtuEUFOoUyg0A1HLlFVZ9vDVDf/vmgHLPVN5L7/q2jfTsrR3VunGAyekA56PcAEAtZRiGVu3J0ayv9+pgzhlJUouG9TXtlo4a2KExq6BQZ1FuAKAW+iHjtF5auUebU09KkkLre+uPA9vo/l7NuRAf6jzKDQDUIhkni/RK4j79+4djkiQfLw890LelJt7Qink1wDmUGwCoBXIKivX31Ye0ZHO6SiusslikO7pG6Mmb2ykipJ7Z8QCXQrkBABd2qrBU7609pA82pKm4zCpJ6tu6oaYO6aDOEcEmpwNcE+UGAFxQQXGZFqxP1YJ1qSooKZckdY0K0Z9vbqc+rRoyWRi4AsoNALiQs6UV+mBjmt777pBOF5VJkjo0DdKfbmqrG9uzAgqoDsoNALiAs6UVWrz5sOauTdHxgspr1bRq5K8nBrfTkM5NuLIwYAPKDQCY6ExJuf618bDmr0vRicJSSVJUg3p6bGBb3d4tQp6UGsBmlBsAMEHe2TJ9sCFNC79PrTr9FN2gvib+ppV+1z2Sa9UAV4FyAwBOdKqwVAvWp+qDDWlVE4VjGvlr0m9aa3jXZvLypNQAV4tyAwBOkFNQrAXrUvWvTYdVVFohSWoXHqg/3NhaQ7s05fQTYEeUGwBwoD2Z+VqwPlWf7zym0orK69R0ahakR29so5s6hjNRGHAAyg0A2JlhGFp7IFfz16Vo3YHcqu09modq0g2tdEM7lnQDjkS5AQA7KS6r0P/beVQL1qdqf3blXbo9LNKQLk01vl9LdYsONTkhUDdQbgDgKp04U6IPN6XrX5vSlHumcjm3v4+n7rk2WmP7tlBUg/omJwTqFsoNANTQwZwzWrA+VZ9uP6KS8sr5NM2C/TS2b0vdc10Ud+kGTEK5AQAbGIahjSknNH9dqv67N6dqe2xksMb3j9GQzk3kzXJuwFSUGwCohtJyq75MPqb561L107F8SZLFIg3qEK4J/WN0bYtQJgkDLoJyAwBXkFdUpiVb0vXBhjRl5RdLkvy8PXR3jyg90K+lWob5m5wQwC9RbgDgEg6fKNQ/vk/T0q0ZVRfdaxToqzF9WmjkddEK9fcxOSGAy6HcAMA5hmFo2+FTmr8uVYm7s2QYldvbNwnU+P4xGnZNU/l6eZobEsCvotwAqPPKK6z6+qcszV+Xqp0Zp6u2/6ZdI43vF6O+rRsynwaoRSg3AOqsguIyfZyUoX98n6ajp89Kkny8PHRH1wiN699SbcMDTU4IoCYoNwDqnKOnz2rR96lK2JJRdWfuBv4+GtW7uX7fu7kaBfqanBDA1aDcAKgzfjxyWvPXperL5ExVWCsn1LRq5K/x/WN0R7cI+XkznwZwB5QbAG6twmpo1Z5szV+Xqi1pJ6u292nVUBP6x2hA20bcmRtwM5QbAG6pqLRcn2w7ogXrU5V2okiS5OVh0W3XNNO4/i3VqVmwyQkBOArlBoBbyckv1gcb07R4c7pOF5VJkoL8vHR/7+YaHddCTYL9TE4IwNEoNwDcwp7MfM1fl6rPfziqsorK+TTNG9bXA31b6q4ekfL35c8dUFfwXzuAWsswDH1/8ITmrj2kdQdyq7Zf2yJU4/rFaHDHcHkynwaocyg3AGqdsgqrvvwxU++vTdHuzMqbWHpYpCFdmmpC/xh1jQoxNyAAU1FuANQa5y+6t3B9qo7lVd7Esp63p+65Nkrj+rVUVIP6JicE4AooNwBcXlZesf6xIVVLNqeroLjyonthAb4a06fyonsh9bmJJYCfUW4AuKx9WQV6f23KBZOEYxr568H+Mbqdi+4BuAzKDQCXYhiGNh46oblrU/Td/uNV269r2UAP9o/Rje0bc9E9AFdEuQHgEsorrPoyOVPz1qVo19GfJwn/tnMTTegfo27RoSYnBFBbeJj55nPmzFFsbKyCgoIUFBSkuLg4ffXVV1d8zptvvql27dqpXr16ioqK0uOPP67i4mInJQZgb4Ul5Vq4PlUDXl2jyQk7tetovvy8PRQf11yr//Qb/f3+HhQbADYxdeQmMjJSs2bNUps2bWQYhj744AMNHz5cO3bsUKdOnS7af8mSJfrLX/6ihQsXqk+fPtq/f7/GjBkji8WiN954w4SfAEBN5eQXa9GGNH246bDyz00Sbujvo9F9WmhU7+YK9WeSMICaMbXcDBs27IKvX3zxRc2ZM0ebNm26ZLnZsGGD+vbtq5EjR0qSWrRoofvuu0+bN292Sl4AV+9AdoHmrUvRZzuOqbTCKkmKCau8M/fvujNJGMDVc5k5NxUVFVq2bJkKCwsVFxd3yX369OmjDz/8UFu2bNF1112nlJQUrVy5UqNGjbrs65aUlKikpKTq6/z8fLtnB3BlhmFoc+pJvb82Rf/dm1O1vWfzUE24PkaDO4QzSRiA3ZhebpKTkxUXF6fi4mIFBARoxYoV6tix4yX3HTlypHJzc9WvXz8ZhqHy8nI9/PDDeuqppy77+jNnztSMGTMcFR/AFZRXWPX1T1matzZFPxzJkyRZLNLNHZtowvUx6tGcuTQA7M9iGIbxazs1aNDAthe1WLR9+3Y1b978V/ctLS1Venq68vLytHz5cs2fP1/ffffdJQvOmjVrdO+99+qFF15Qr169dPDgQU2ePFkTJkzQM888c8nXv9TITVRUlPLy8hQUFGTTzwWgeopKy7U0KUMLvk9VxsmzkiRfLw/d1SNS4/vHqGWYv8kJAdQ2+fn5Cg4Ortbnd7XKjYeHh958800FBwf/6psbhqGJEydq165diomJqX7qcwYNGqRWrVpp7ty5F32vf//+6t27t1599dWqbR9++KEefPBBnTlzRh4ev774y5aDA8A2xwtK9MGGNP1r02HlnS2TJIXW91Z8XAvFxzVXwwBfkxMCqK1s+fyu9mmpe++9V40bN67Wvo8++mh1X/YiVqv1gpGW/1VUVHRRgfH0rJx8WI2OBsBBDuac0fx1Kfp0x1GVlldOEm7esL7G94/RXd0jVc+HScIAnKda5cZqtdr0ogUFBdXab+rUqRoyZIiio6NVUFCgJUuWaM2aNUpMTJQkxcfHKyIiQjNnzpRUubrqjTfeULdu3apOSz3zzDMaNmxYVckB4ByGYWhL6knNW5eib/f8PEm4W3SIHro+RoM7NpEnk4QBmKDaIzdffPGFhg4dWq1TP9WVk5Oj+Ph4ZWZmKjg4WLGxsUpMTNTgwYMlSenp6Re837Rp02SxWDRt2jQdPXpUjRo10rBhw/Tiiy/aLROAK7vUJGFJGtwxXA9eH6OezUNlsVBqAJinWnNuJMnLy0vh4eEaM2aMxo4dq9atWzs6m0Mw5waomcKScn2clKGF36fqyKmfJwnf2SNS4/q1VKtGASYnBODOHDLnJjU1Vf/4xz/0wQcfaNasWerXr5/Gjx+vu+66S/Xq1bvq0ABcU/a5Kwkv/p8rCTfw99Go3s01Kq65wpgkDMDFVHvk5n+tXr1aixYt0ieffCIvLy/de++9GjdunK699lpHZLQrRm6A6tmXVXkl4f+386jKKir/TLQM89f4/i11Z/dIriQMwKnsvhT8cgoKCpSQkKBFixZp06ZN6ty5s3744YeavpxTUG6AyzMMQxsOndD7a1P03f7jVduvbRGqCf1jNIgrCQMwiUNOS11KYGCgBg4cqMOHD2vv3r3avXv31bwcAJOcLa3QZzuPatH3adqXXbna0cMi/bZzE43vH6Pu3JUbQC1So3Jz9uxZLVu2TAsXLtS6devUsmVLPfHEExozZoyd4wFwpGOnz+qfGw8rISldp4sqL7pX38dTd/eI1Lh+MYpuWN/khABgO5vKzaZNm7Rw4UItXbpUpaWl+t3vfqdvv/1WN9xwg6PyAbAzwzC09fApLfo+TV//lKUKa+WZ6cjQehrTp4Xu7hml4HreJqcEgJqrdrnp2LGj9u3bp27dumnmzJkaOXJktW7HAMA1lJRX6N8/ZGrRhlTtOppftT0upqHG9m2hgR3CuegeALdQ7XIzaNAgffTRR7rmmmscmQeAnWWcLNJHW9K1dGuGcs+USqq8Ps0d3SI0pm8LtW/CxHoA7qXa5eatt95yZA4AdlRhNbR6b44Wbz6sNfuP6/yayKbBfhoV11z3XhutBv4+5oYEAAepVrnp3r27Vq1apdDQ6q2Y6Nevnz7++GNFRERcVTgAtsnJL9bHSRn6aEu6juUVV23v3yZM9/eK1sAO4fL2tN8tVADAFVWr3OzcuVM//PCDGjRoUK0X3blz52Xv7A3AvqxWQxtTTmjx5sP6z0/ZKj83QTi0vrfu7hmlkddFq0WYv8kpAcB5qn1aauDAgaru9f64aR7geOknivTJ9iP6ZPuRqns9SZUX3Lu/V3P9tnMTriIMoE6qVrlJTU21+YUjIyNtfg6AKyssKdfK5Ewt33ZEm1NPVm0P9PXSHd0jNLJXNBOEAdR51So3zZs3d3QOAJdhtRranHpSy7cd0Ve7MlVUWiFJslikfq3DdFePSN3ciVEaADjvqm6/AMBx0k8Uafn2I/r0F6edYsL8dWePSP2ue4SaBtczMSEAuCbKDeBCzvzPaactvzjtdOs1zXRXj0h1jw5hXhsAXAHlBjCZ1WpoU+qJytNOyVk6W8ZpJwC4GpQbwCSHTxTqk+1H9cm2Izp6mtNOAGAvNSo3p0+f1vLly3Xo0CH9+c9/VoMGDbR9+3aFh4dz4T7gCgpLyvXlpU47+Xlp2LnTTt2iOO0EAFfD5nLz448/atCgQQoODlZaWpomTJigBg0a6NNPP1V6err++c9/OiInUGsZhqGktFNaujVDK5MvXO3Uv00j3dUjUjd1DOe0EwDYic3l5oknntCYMWP0yiuvKDAwsGr70KFDNXLkSLuGA2qzzLyz+mTbES3fdkRpJ4qqtrcM89ddnHYCAIexudwkJSVp7ty5F22PiIhQVlaWXUIBtVWF1dDa/cf1r02HtXpfTtUNK/19PHVLbFON6BmlHs1DOe0EAA5kc7nx9fVVfn7+Rdv379+vRo0a2SUUUNucLCzV0q0ZWrz5sDJO/jw5uFfLBrq7Z5SGdmmi+j7M3wcAZ7D5r+1tt92m5557TkuXLpVUeR+p9PR0TZkyRXfeeafdAwKubH92geZ+l6J//3hMpeVWSVJwPW/d3SNS9/durpbcsBIAnM5iVPdumOfk5eXprrvu0tatW1VQUKBmzZopKytLcXFxWrlypfz9XfuPeX5+voKDg5WXl6egIO7BA9udnyA897tDWrU3p2p7l4hgjYprrmGxzVTPh8nBAGBPtnx+2zxyExwcrG+++Ubr16/Xjz/+qDNnzqh79+4aNGhQjQMDtcX3B3P1xjf7te3wKUmVK55+26mJJlwfo+7RoSanAwBINRi5qe0YuUFNbDt8Sq8l7tPGlBOSJB8vD93ZPVIPXh/DqScAcAKHjty89dZbl9xusVjk5+en1q1b6/rrr5enJ8PyqP0OnyjUC1/u0Te7syVJPp4eGtkrWhNvaKXGgX4mpwMAXIrN5eZvf/ubjh8/rqKiIoWGVg7Dnzp1SvXr11dAQIBycnIUExOj1atXKyoqyu6BAWcoKi3Xu6sPat7aVJVWWOXpYdFd3SP1x0FtFBHCtWkAwJV52PqEl156Sddee60OHDigEydO6MSJE9q/f7969eql2bNnKz09XU2aNNHjjz/uiLyAw63em6NBr3+nd1cfUmmFVf3bhCnxsf56+a5Yig0A1AI2z7lp1aqVPvnkE3Xt2vWC7Tt27NCdd96plJQUbdiwQXfeeacyMzPtmdUumHODy8kvLtPz/96tZduOSJIiQ+vpmVs76qaO4Vx0DwBM5tA5N5mZmSovL79oe3l5edUVips1a6aCggJbXxowzcZDJ/TE0p3KzCuWxSI90Lel/nRTO5Z0A0AtZPNpqRtuuEEPPfSQduzYUbVtx44deuSRR3TjjTdKkpKTk9WyZUv7pQQcxGo19O7qg7p//iZl5hWrRcP6WvpQnJ65tSPFBgBqKZvLzYIFC9SgQQP16NFDvr6+8vX1Vc+ePdWgQQMtWLBAkhQQEKDXX3/d7mEBezpdVKpxHyTp1cR9shrSXT0itXJyf13booHZ0QAAV6HG17nZu3ev9u/fL0lq166d2rVrZ9dgjsKcG0iVS7zHLkpSyvFC+Xp56PnhnTXiWlb3AYCrcuicm/Pat2+v9u3b1/TpgGm2HT6lCf/cqpOFpWoW7Kd5o3uqU7Ngs2MBAOykRuXmyJEj+vzzz5Wenq7S0tILvvfGG2/YJRjgCKv35ejhf21TSblVnSOCtGD0tQoP4mJ8AOBObC43q1at0m233aaYmBjt3btXnTt3VlpamgzDUPfu3R2REbCLb3Zna9Li7SqtsOrG9o319n3d5O9b48FLAICLsnlC8dSpU/WnP/1JycnJ8vPz0yeffKKMjAwNGDBAd999tyMyAlft612ZeuTDbSqtsOqWLk01d1QPig0AuCmby82ePXsUHx8vSfLy8tLZs2cVEBCg5557Ti+//LLdAwJXa+3+43r0ox0qtxoa3rWZZt/bVd6eNv/qAwBqCZv/wvv7+1fNs2natKkOHTpU9b3c3Fz7JQPs4IeM03r4w20qqzB0a2xTvTGiq7woNgDg1mwel+/du7fWr1+vDh06aOjQoXryySeVnJysTz/9VL1793ZERqBGUnMrl3sXlVaoX+swvT7iGnl6cBsFAHB3Nv8v7BtvvKFevXpJkmbMmKGBAwfq448/VosWLaou4lddc+bMUWxsrIKCghQUFKS4uDh99dVXV3zO6dOnNWnSJDVt2lS+vr5q27atVq5caeuPATdXUFym8R8k6WRhqbpEBOu9UT3k68UVhwGgLrB55CYmJqbqn/39/fXee+/V+M0jIyM1a9YstWnTRoZh6IMPPtDw4cO1Y8cOderU6aL9S0tLNXjwYDVu3FjLly9XRESEDh8+rJCQkBpngPuxWg09/vFOHTpeqCZBflowpqcCmDwMAHVGjcpNUlKSGjZseMH206dPq3v37kpJSan2aw0bNuyCr1988UXNmTNHmzZtumS5WbhwoU6ePKkNGzbI29tbktSiRYsrvkdJSYlKSkqqvs7Pz692PtROb646oG/35MjHy0NzR/VQ40CuYwMAdYnNp6XS0tJUUVFx0faSkhIdPXq0xkEqKiqUkJCgwsJCxcXFXXKfzz//XHFxcZo0aZLCw8PVuXNnvfTSS5fMc97MmTMVHBxc9YiK4hL77mz9gVy9teqAJGnmHV10TVSIuYEAAE5X7ZGbzz//vOqfExMTFRz88+XqKyoqtGrVql8dRbmU5ORkxcXFqbi4WAEBAVqxYoU6dux4yX1TUlL03//+V/fff79WrlypgwcPauLEiSorK9P06dMv+ZypU6fqiSeeqPo6Pz+fguOmThaW6omlOyVJI3tF684ekeYGAgCYoto3zvTwqBzksVgs+uVTvL291aJFC73++uu69dZbbQpQWlqq9PR05eXlafny5Zo/f76+++67Sxactm3bqri4WKmpqfL0rJwc+sYbb+jVV19VZmZmtd6PG2e6J8MwNOGf2/Ttnmy1bhygf/+hn+r5MIEYANyFQ26cabVaJUktW7ZUUlKSwsLCri7lOT4+PmrdurUkqUePHkpKStLs2bM1d+7ci/Zt2rSpvL29q4qNJHXo0EFZWVkqLS2Vj4+PXTKh9vloS4a+3ZMtH08PvXVvN4oNANRhNs+5SU1NtVuxuRSr1XrBBOD/1bdvXx08eLCqaEnS/v371bRpU4pNHZaVV6yZK/dIkv7vt+3UsRkjcgBQl1Vr5Oatt96q9gv+8Y9/rPa+U6dO1ZAhQxQdHa2CggItWbJEa9asUWJioiQpPj5eERERmjlzpiTpkUce0TvvvKPJkyfr0Ucf1YEDB/TSSy/Z9J5wL4Zh6Jn/t0sFJeXqGhWisX1bmh0JAGCyapWbv/3tb9V6MYvFYlPRyMnJUXx8vDIzMxUcHKzY2FglJiZq8ODBkqT09PSquT6SFBUVpcTERD3++OOKjY1VRESEJk+erClTplT7PeFevt6VpW92Z8vLw6JZd3bhCsQAgOpPKHYXTCh2H4Ul5brhtTXKKSjRoze21pM3tTM7EgDAQWz5/L6qOwgahnHRyinAWeasOaScghI1b1hfk25obXYcAICLqFG5+ec//6kuXbqoXr16qlevnmJjY/Wvf/3L3tmAy8o4WaT311VeDfupoR3k583qKABAJZtvv/DGG2/omWee0R/+8Af17dtXkrR+/Xo9/PDDys3N1eOPP273kMAvzfpqr0rLrYqLaaibOoabHQcA4EJsLjdvv/225syZo/j4+Kptt912mzp16qS//vWvlBs43LbDJ/VlcqY8LNKzwzrKYmESMQDgZzaflsrMzFSfPn0u2t6nT59qXyUYuBqvJe6XJI3oGaUOTZkUDgC4kM3lpnXr1lq6dOlF2z/++GO1adPGLqGAy9lwMFcbU07Ix9NDjw7k9w0AcDGbT0vNmDFD99xzj9auXVs15+b777/XqlWrLll6AHsxDEOvf1M5anPfdVGKCKlnciIAgCuq9sjNrl27JEl33nmnNm/erLCwMH322Wf67LPPFBYWpi1btuiOO+5wWFDgu/3Hte3wKfl6ebD0GwBwWdUeuYmNjdW1116r8ePH695779WHH37oyFzABQzD0FurDkiS4uOaq3GQn8mJAACuqtojN9999506deqkJ598Uk2bNtWYMWO0bt06R2YDqmw9fErb00/Lx8tDE66PMTsOAMCFVbvc9O/fXwsXLlRmZqbefvttpaamasCAAWrbtq1efvllZWVlOTIn6ri531VesO/O7hFqHMioDQDg8mxeLeXv76+xY8fqu+++0/79+3X33Xfr3XffVXR0tG677TZHZEQddzCnQN/uyZbFIo3vz6gNAODKrureUq1bt9ZTTz2ladOmKTAwUF9++aW9cgFV5q1NlSQN7hCuVo0CTE4DAHB1Ni8FP2/t2rVauHChPvnkE3l4eGjEiBEaN26cPbMBOl5QohU7jkqSHhrQyuQ0AIDawKZyc+zYMS1atEiLFi3SwYMH1adPH7311lsaMWKE/P39HZURddjSrRkqrbCqa1SIejQPNTsOAKAWqHa5GTJkiL799luFhYUpPj5eDzzwgNq1a+fIbKjjKqyGFm86LKly+TcAANVR7XLj7e2t5cuX69Zbb5Wnp6cjMwGSpP/uzdGxvGKF1vfW0C5NzY4DAKglql1uPv/8c0fmAC7y4blRmxE9o+TnTaEGAFTPVa2WAhzl8IlCfbf/uCwWaWSvaLPjAABqEcoNXNLHSRmSpOvbNFLzhkxWBwBUH+UGLqfCalQt/77n2iiT0wAAahvKDVzOxkMnlJlXrOB63hrYobHZcQAAtQzlBi5n+bbKU1LDrmkqXy8mEgMAbEO5gUspKC7T1z9V3oT1zu6RJqcBANRGlBu4lK+Ss1RcZlVMI391jQoxOw4AoBai3MClnJ9IfGf3SFksFpPTAABqI8oNXEZOQbE2p56QJA3v2szkNACA2opyA5fx9a4sWQ2pa1SIIkPrmx0HAFBLUW7gMr74MVOSdGss95ECANQc5QYuITu/WElpJyVJQ7hJJgDgKlBu4BK+Ss6UYUjdo0MUEVLP7DgAgFqMcgOX8GVy5SmpW2KZSAwAuDqUG5gup6BYWw+fkiQN7dLE5DQAgNqOcgPTrd6bI8OQrokMVtNgTkkBAK4O5Qam+2Z3jiRpYIdwk5MAANwB5QamKi6r0PqDxyVJgyg3AAA7oNzAVN8fzFVxmVURIfXUoWmg2XEAAG6AcgNTfbsnW5I0sENj7iUFALALyg1MY7UaWrWncr4Np6QAAPZCuYFpko/mKaegRAG+XuoV08DsOAAAN0G5gWnW7KucSNy/TZh8vTxNTgMAcBemlps5c+YoNjZWQUFBCgoKUlxcnL766qtqPTchIUEWi0W33367Y0PCYdYdqCw3A9o2MjkJAMCdmFpuIiMjNWvWLG3btk1bt27VjTfeqOHDh+unn3664vPS0tL0pz/9Sf3793dSUthbfnGZdmScliT1axNmbhgAgFsxtdwMGzZMQ4cOVZs2bdS2bVu9+OKLCggI0KZNmy77nIqKCt1///2aMWOGYmJinJgW9rTx0AlVWA3FNPJXZGh9s+MAANyIy8y5qaioUEJCggoLCxUXF3fZ/Z577jk1btxY48aNq9brlpSUKD8//4IHzHf+lNT1bTglBQCwLy+zAyQnJysuLk7FxcUKCAjQihUr1LFjx0vuu379ei1YsEA7d+6s9uvPnDlTM2bMsFNa2Mva/bmSKicTAwBgT6aP3LRr1047d+7U5s2b9cgjj2j06NHavXv3RfsVFBRo1KhRmjdvnsLCqv+BOHXqVOXl5VU9MjIy7BkfNXD4RKHSTxbJ29Oi3jENzY4DAHAzpo/c+Pj4qHXr1pKkHj16KCkpSbNnz9bcuXMv2O/QoUNKS0vTsGHDqrZZrVZJkpeXl/bt26dWrVpd9Pq+vr7y9fV14E8AW609UDlq0z06VP6+pv8KAgDcjMt9slitVpWUlFy0vX379kpOTr5g27Rp01RQUKDZs2crKirKWRFxldbtPzffhiXgAAAHMLXcTJ06VUOGDFF0dLQKCgq0ZMkSrVmzRomJiZKk+Ph4RUREaObMmfLz81Pnzp0veH5ISIgkXbQdrstqNbQ59aQkqU8rTkkBAOzP1HKTk5Oj+Ph4ZWZmKjg4WLGxsUpMTNTgwYMlSenp6fLwMH1aEOxob1aB8s6Wyd/HU10igs2OAwBwQ6aWmwULFlzx+2vWrLni9xctWmS/MHCKTSknJEk9WzSQlyfFFQBgf3y6wKk2p1aWG26UCQBwFMoNnMZqNbTl3HybXi2ZbwMAcAzKDZxmf06BThWVqZ63p2IjmW8DAHAMyg2cZnNK5ahNzxah8ma+DQDAQfiEgdNUzbdpyXwbAIDjUG7gFIZhVI3ccMsFAIAjUW7gFIeOn9GJwlL5eXsoNjLE7DgAADdGuYFTbDt8SpJ0TWSIfLz4tQMAOA6fMnCK7YdPS5K6Nw81NwgAwO1RbuAU29MrR266R1NuAACORbmBw+UVlelAzhlJUvfoEHPDAADcHuUGDrcjo3LUpkXD+moY4GtyGgCAu6PcwOG2p5+WxCkpAIBzUG7gcDvOzbfpxmRiAIATUG7gUFaroZ3nRm56MHIDAHACyg0c6kDOGRWUlMvfx1PtmgSaHQcAUAdQbuBQVRfviwqRp4fF5DQAgLqAcgOH2nlupVQ3loADAJyEcgOH+vFInqTK2y4AAOAMlBs4THFZRdXF+7hZJgDAWSg3cJjdmfmqsBpqFOir8CAu3gcAcA7KDRwm+dwpqdiIYFksTCYGADgH5QYOc36+TeeIYJOTAADqEsoNHCb56GlJUmwk5QYA4DyUGzhEYUm5Dp6bTNyFkRsAgBNRbuAQuzPzZTWkJkF+ahzkZ3YcAEAdQrmBQ5yfTNyFU1IAACej3MAhko/+vFIKAABnotzAIX48clqS1JmRGwCAk1FuYHdFpeVKyS2UxGRiAIDzUW5gd3uzCmQYUuNAX4UFcGViAIBzUW5gd3sy8yVJHZoGmZwEAFAXUW5gd5QbAICZKDewuz2ZBZKkDk0DTU4CAKiLKDewK6vV0N5zIzcdGbkBAJiAcgO7yjhVpMLSCvl4eahlmL/ZcQAAdRDlBna1+1jlqE278EB5efLrBQBwPj59YFc/TyZmvg0AwByUG9jV7qrJxMy3AQCYg3IDu2IZOADAbJQb2E3e2TIdPX1WktShCeUGAGAOU8vNnDlzFBsbq6CgIAUFBSkuLk5fffXVZfefN2+e+vfvr9DQUIWGhmrQoEHasmWLExPjSs4vAY8Iqafg+t4mpwEA1FWmlpvIyEjNmjVL27Zt09atW3XjjTdq+PDh+umnny65/5o1a3Tfffdp9erV2rhxo6KionTTTTfp6NGjTk6OS9mXXTnfpn0TJhMDAMxjMQzDMDvE/2rQoIFeffVVjRs37lf3raioUGhoqN555x3Fx8dX6/Xz8/MVHBysvLw8BQVx6sSepn2WrA83peuR37TSlN+2NzsOAMCN2PL57eWkTL+qoqJCy5YtU2FhoeLi4qr1nKKiIpWVlalBgwaX3aekpEQlJSVVX+fn5191Vlza/uwzkqQ2jQNMTgIAqMtMn1CcnJysgIAA+fr66uGHH9aKFSvUsWPHaj13ypQpatasmQYNGnTZfWbOnKng4OCqR1RUlL2i4xcO5lSWm7bhnJYCAJjH9HLTrl077dy5U5s3b9Yjjzyi0aNHa/fu3b/6vFmzZikhIUErVqyQn5/fZfebOnWq8vLyqh4ZGRn2jI9zcs+U6GRhqSwWqVUjRm4AAOYx/bSUj4+PWrduLUnq0aOHkpKSNHv2bM2dO/eyz3nttdc0a9Ysffvtt4qNjb3i6/v6+srX19eumXGx/ecmE0c3qK96Pp4mpwEA1GWml5tfslqtF8yR+aVXXnlFL774ohITE9WzZ08nJsOVHGC+DQDARZhabqZOnaohQ4YoOjpaBQUFWrJkidasWaPExERJUnx8vCIiIjRz5kxJ0ssvv6xnn31WS5YsUYsWLZSVlSVJCggIUEAAH6pmOpBTOXLThvk2AACTmVpucnJyFB8fr8zMTAUHBys2NlaJiYkaPHiwJCk9PV0eHj9PC5ozZ45KS0t11113XfA606dP11//+ldnRscvnF8p1TackgkAMJep5WbBggVX/P6aNWsu+DotLc1xYVBjhmHowLk5N20aM3IDADCX6aulUPvlninVqaIyVkoBAFwC5QZX7fx8G1ZKAQBcAeUGV+3nlVKckgIAmI9yg6t2/ho3bZhMDABwAZQbXLUDOayUAgC4DsoNrlrK8cpyw2RiAIAroNzgquSdLVPumVJJUsswf5PTAABAucFVOj9q0zjQV4F+3ianAQCAcoOrlJpbKEmKacSoDQDANVBucFVSjp8vN8y3AQC4BsoNrkpKbuVpqRjm2wAAXATlBlfl/MgNK6UAAK6CcoMas1oN5twAAFwO5QY1dvT0WZWUW+XtaVFESD2z4wAAIIlyg6uQcm7UpnlDf3l58qsEAHANfCKhxs5f44bJxAAAV0K5QY2xDBwA4IooN6ixqmXgTCYGALgQyg1q7Odl4JQbAIDroNygRopKy5WZVyxJignjtBQAwHVQblAjablFkqSQ+t4K9fcxOQ0AAD+j3KBGDp+oPCXVoiGnpAAAroVygxo5fLJy5KZ5w/omJwEA4EKUG9TI+ZGb5g0oNwAA10K5QY0cPnF+5IbTUgAA10K5QY38XG4YuQEAuBbKDWxWUl6hY3lnJTFyAwBwPZQb2OzIqbMyDKm+j6fCAlgGDgBwLZQb2Cz93Cmp6Ab1ZbFYTE4DAMCFKDewWRrXuAEAuDDKDWzGZGIAgCuj3MBm6ecu4BdNuQEAuCDKDWzGaSkAgCuj3MAmFVZDR05WLgOP5urEAAAXRLmBTbLyi1VaYZW3p0XNQuqZHQcAgItQbmCTw7mVp6SiQuvL04Nl4AAA10O5gU0OM5kYAODiKDewyfll4EwmBgC4KsoNbHLsdOVk4gjm2wAAXJSX2QHcRUl5hY4XlMgwzE7iWKeKSiVJAX786gAAXBOfUHby07F8/e7vG8yO4TR+3gz6AQBcE+XGTjwsljrzgd840E/XtWxodgwAAC7J1HIzZ84czZkzR2lpaZKkTp066dlnn9WQIUMu+5xly5bpmWeeUVpamtq0aaOXX35ZQ4cOdVLiy+saFaK9z18+NwAAcA5ThxoiIyM1a9Ysbdu2TVu3btWNN96o4cOH66effrrk/hs2bNB9992ncePGaceOHbr99tt1++23a9euXU5ODgAAXJXFMFxrCmyDBg306quvaty4cRd975577lFhYaG++OKLqm29e/dW165d9d57713y9UpKSlRSUlL1dX5+vqKiopSXl6egoCD7/wAAAMDu8vPzFRwcXK3Pb5eZJFJRUaGEhAQVFhYqLi7ukvts3LhRgwYNumDbzTffrI0bN172dWfOnKng4OCqR1RUlF1zAwAA12J6uUlOTlZAQIB8fX318MMPa8WKFerYseMl983KylJ4ePgF28LDw5WVlXXZ1586dary8vKqHhkZGXbNDwAAXIvpq6XatWunnTt3Ki8vT8uXL9fo0aP13XffXbbg2MrX11e+vr52eS0AAOD6TC83Pj4+at26tSSpR48eSkpK0uzZszV37tyL9m3SpImys7Mv2Jadna0mTZo4JSsAAHB9pp+W+iWr1XrBBOD/FRcXp1WrVl2w7ZtvvrnsHB0AAFD3mDpyM3XqVA0ZMkTR0dEqKCjQkiVLtGbNGiUmJkqS4uPjFRERoZkzZ0qSJk+erAEDBuj111/XLbfcooSEBG3dulXvv/++mT8GAABwIaaWm5ycHMXHxyszM1PBwcGKjY1VYmKiBg8eLElKT0+Xh8fPg0t9+vTRkiVLNG3aND311FNq06aNPvvsM3Xu3NmsHwEAALgYl7vOjaPZsk4eAAC4hlp5nRsAAAB7oNwAAAC3QrkBAABuhXIDAADciukX8XO28/On8/PzTU4CAACq6/zndnXWQdW5clNQUCBJ3EATAIBaqKCgQMHBwVfcp84tBbdarTp27JgCAwNlsVjs+tr5+fmKiopSRkYGy8zP4ZhcjGNyMY7JxTgmF+OYXKwuHRPDMFRQUKBmzZpdcA28S6lzIzceHh6KjIx06HsEBQW5/S+ZrTgmF+OYXIxjcjGOycU4JherK8fk10ZszmNCMQAAcCuUGwAA4FYoN3bk6+ur6dOny9fX1+woLoNjcjGOycU4JhfjmFyMY3Ixjsml1bkJxQAAwL0xcgMAANwK5QYAALgVyg0AAHArlBsAAOBWKDc2evfdd9WiRQv5+fmpV69e2rJlyxX3X7Zsmdq3by8/Pz916dJFK1eudFJS57HlmMybN0/9+/dXaGioQkNDNWjQoF89hrWRrb8n5yUkJMhisej22293bEAT2HpMTp8+rUmTJqlp06by9fVV27Zt3e6/H1uPyZtvvql27dqpXr16ioqK0uOPP67i4mInpXWstWvXatiwYWrWrJksFos+++yzX33OmjVr1L17d/n6+qp169ZatGiRw3M6k63H5NNPP9XgwYPVqFEjBQUFKS4uTomJic4J62oMVFtCQoLh4+NjLFy40Pjpp5+MCRMmGCEhIUZ2dvYl9//+++8NT09P45VXXjF2795tTJs2zfD29jaSk5OdnNxxbD0mI0eONN59911jx44dxp49e4wxY8YYwcHBxpEjR5yc3HFsPSbnpaamGhEREUb//v2N4cOHOyesk9h6TEpKSoyePXsaQ4cONdavX2+kpqYaa9asMXbu3Onk5I5j6zFZvHix4evrayxevNhITU01EhMTjaZNmxqPP/64k5M7xsqVK42nn37a+PTTTw1JxooVK664f0pKilG/fn3jiSeeMHbv3m28/fbbhqenp/H11187J7AT2HpMJk+ebLz88svGli1bjP379xtTp041vL29je3btzsnsAuh3NjguuuuMyZNmlT1dUVFhdGsWTNj5syZl9x/xIgRxi233HLBtl69ehkPPfSQQ3M6k63H5JfKy8uNwMBA44MPPnBURKeryTEpLy83+vTpY8yfP98YPXq025UbW4/JnDlzjJiYGKO0tNRZEZ3O1mMyadIk48Ybb7xg2xNPPGH07dvXoTnNUJ0P8v/7v/8zOnXqdMG2e+65x7j55psdmMw81Tkml9KxY0djxowZ9g/k4jgtVU2lpaXatm2bBg0aVLXNw8NDgwYN0saNGy/5nI0bN16wvyTdfPPNl92/tqnJMfmloqIilZWVqUGDBo6K6VQ1PSbPPfecGjdurHHjxjkjplPV5Jh8/vnniouL06RJkxQeHq7OnTvrpZdeUkVFhbNiO1RNjkmfPn20bdu2qlNXKSkpWrlypYYOHeqUzK7G3f++2oPValVBQYHb/H21RZ27cWZN5ebmqqKiQuHh4RdsDw8P1969ey/5nKysrEvun5WV5bCczlSTY/JLU6ZMUbNmzS76I1Vb1eSYrF+/XgsWLNDOnTudkND5anJMUlJS9N///lf333+/Vq5cqYMHD2rixIkqKyvT9OnTnRHboWpyTEaOHKnc3Fz169dPhmGovLxcDz/8sJ566ilnRHY5l/v7mp+fr7Nnz6pevXomJXMdr732ms6cOaMRI0aYHcXpGLmBaWbNmqWEhAStWLFCfn5+ZscxRUFBgUaNGqV58+YpLCzM7Dguw2q1qnHjxnr//ffVo0cP3XPPPXr66af13nvvmR3NNGvWrNFLL72kv//979q+fbs+/fRTffnll3r++efNjgYXtGTJEs2YMUNLly5V48aNzY7jdIzcVFNYWJg8PT2VnZ19wfbs7Gw1adLkks9p0qSJTfvXNjU5Jue99tprmjVrlr799lvFxsY6MqZT2XpMDh06pLS0NA0bNqxqm9VqlSR5eXlp3759atWqlWNDO1hNfk+aNm0qb29veXp6Vm3r0KGDsrKyVFpaKh8fH4dmdrSaHJNnnnlGo0aN0vjx4yVJXbp0UWFhoR588EE9/fTT8vCoW/+verm/r0FBQXV+1CYhIUHjx4/XsmXL3GZU3FZ167+Gq+Dj46MePXpo1apVVdusVqtWrVqluLi4Sz4nLi7ugv0l6Ztvvrns/rVNTY6JJL3yyit6/vnn9fXXX6tnz57OiOo0th6T9u3bKzk5WTt37qx63Hbbbbrhhhu0c+dORUVFOTO+Q9Tk96Rv3746ePBgVdGTpP3796tp06a1vthINTsmRUVFFxWY8+XPqIO3CHT3v6819dFHH2ns2LH66KOPdMstt5gdxzxmz2iuTRISEgxfX19j0aJFxu7du40HH3zQCAkJMbKysgzDMIxRo0YZf/nLX6r2//777w0vLy/jtddeM/bs2WNMnz7dLZeC23JMZs2aZfj4+BjLly83MjMzqx4FBQVm/Qh2Z+sx+SV3XC1l6zFJT083AgMDjT/84Q/Gvn37jC+++MJo3Lix8cILL5j1I9idrcdk+vTpRmBgoPHRRx8ZKSkpxn/+8x+jVatWxogRI8z6EeyqoKDA2LFjh7Fjxw5DkvHGG28YO3bsMA4fPmwYhmH85S9/MUaNGlW1//ml4H/+85+NPXv2GO+++67bLQW39ZgsXrzY8PLyMt59990L/r6ePn3arB/BNJQbG7399ttGdHS04ePjY1x33XXGpk2bqr43YMAAY/To0Rfsv3TpUqNt27aGj4+P0alTJ+PLL790cmLHs+WYNG/e3JB00WP69OnOD+5Atv6e/C93LDeGYfsx2bBhg9GrVy/D19fXiImJMV588UWjvLzcyakdy5ZjUlZWZvz1r381WrVqZfj5+RlRUVHGxIkTjVOnTjk/uAOsXr36kn8bzh+D0aNHGwMGDLjoOV27djV8fHyMmJgY4x//+IfTczuSrcdkwIABV9y/LrEYRh0czwQAAG6LOTcAAMCtUG4AAIBbodwAAAC3QrkBAABuhXIDAADcCuUGAAC4FcoNAABwK5QbAADgVig3AEw1ZswY3X777U5/30WLFslischiseixxx6r2t6iRQu9+eabV3zu+eeFhIQ4NCOAmuGu4AAcxmKxXPH706dP1+zZs0278WNQUJD27dsnf39/m56XmZmpjz/+WNOnT3dQMgBXg3IDwGEyMzOr/vnjjz/Ws88+q3379lVtCwgIUEBAgBnRJFWWryZNmtj8vCZNmig4ONgBiQDYA6elADhMkyZNqh7BwcFVZeL8IyAg4KLTUr/5zW/06KOP6rHHHlNoaKjCw8M1b948FRYWauzYsQoMDFTr1q311VdfXfBeu3bt0pAhQxQQEKDw8HCNGjVKubm5NcpdVFSkBx54QIGBgYqOjtb7779/NYcBgJNRbgC4nA8++EBhYWHasmWLHn30UT3yyCO6++671adPH23fvl033XSTRo0apaKiIknS6dOndeONN6pbt27aunWrvv76a2VnZ2vEiBE1ev/XX39dPXv21I4dOzRx4kQ98sgjF4w4AXBtlBsALueaa67RtGnT1KZNG02dOlV+fn4KCwvThAkT1KZNGz377LM6ceKEfvzxR0nSO++8o27duumll15S+/bt1a1bNy1cuFCrV6/W/v37bX7/oUOHauLEiWrdurWmTJmisLAwrV692t4/JgAHYc4NAJcTGxtb9c+enp5q2LChunTpUrUtPDxckpSTkyNJ+uGHH7R69epLzt85dOiQ2rZtW+P3P38q7fx7AXB9lBsALsfb2/uCry0WywXbzq/CslqtkqQzZ85o2LBhevnlly96raZNm9rl/c+/FwDXR7kBUOt1795dn3zyiVq0aCEvL/6sAXUdc24A1HqTJk3SyZMndd999ykpKUmHDh1SYmKixo4dq4qKCrPjAXAyyg2AWq9Zs2b6/vvvVVFRoZtuukldunTRY489ppCQEHl48GcOqGsshlmXBgUAEy1atEiPPfaYTp8+bcrzATgO/0sDoM7Ky8tTQECApkyZYtPzAgIC9PDDDzsoFYCrxcgNgDqpoKBA2dnZkqSQkBCFhYVV+7kHDx6UVLlMvWXLlg7JB6DmKDcAAMCtcFoKAAC4FcoNAABwK5QbAADgVig3AADArVBuAACAW6HcAAAAt0K5AQAAboVyAwAA3Mr/B3vU1LIaYAIhAAAAAElFTkSuQmCC", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Stitch the step solutions together\n", + "cycle_soln = thevenin.CycleSolution(*solns)\n", + "cycle_soln.plot('time_h', 'voltage_V')\n", + "\n", + "# Pull steps 1--3 (inclusive)\n", + "some_steps = cycle_soln.get_steps((1, 3))\n", + "some_steps.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/jupyter_execute/user_guide/basic_tutorial.ipynb b/docs/jupyter_execute/user_guide/basic_tutorial.ipynb new file mode 100644 index 0000000..3b60a50 --- /dev/null +++ b/docs/jupyter_execute/user_guide/basic_tutorial.ipynb @@ -0,0 +1,265 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Basic Tutorial\n", + "The Thevenin package is built around three main classes:\n", + "\n", + "1. `Model` - used to construct instances of an equivalent circuit.\n", + "2. `Experiment` - used to define an experimental protocol containing current, voltage, and/or power-controlled steps.\n", + "3. `Solution` - the result object(s) that contain simulation outputs when a particular model runs a particular experiment.\n", + "\n", + "Each of these classes exist at the base package level so they are easily accessible. In this tutorial you will be introduced to each of class through a minimal example. The example will demonstrate a typical workflow for constructing a model, defining an experiment, and interacting with the solution.\n", + "\n", + "## Construct a Model\n", + "The model class is constructed by providing options and parameters that define your circuit. The input can be given as either a dictionary or using a `.yaml` file. If you do not give an input, we include a default parameters file for you to get started. However, it is important that you understand this file and/or its dictionary equivalent so you can modify parameter definitions as necessary later. For more information about constructing model inputs, see the {ref}`examples ` section.\n", + "\n", + "Here, we will start by simply using the default parameters. A warning will print when the default parameters are accessed, but we can ignore it. After initialization, the class can be printed to check all of the constant options/parameters. The model also contains functional parameters, i.e., properties that change as a function of state of charge (soc) and/or temperature. These values are difficult to represent in the printed output so they are not displayed." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model(\n", + "\tnum_RC_pairs=1,\n", + "\tsoc0=1.0,\n", + "\tcapacity=75.0,\n", + "\tmass=1.9,\n", + "\tisothermal=False,\n", + "\tCp=745.0,\n", + "\tT_inf=300.0,\n", + "\th_therm=12.0,\n", + "\tA_therm=1.0,\n", + ")\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[thevenin UserWarning]: Using the default parameter file 'params.yaml'.\n", + "\n" + ] + } + ], + "source": [ + "import thevenin\n", + "\n", + "model = thevenin.Model()\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Options and parameters can be changed after initialization by modifying the corresponding attribute. However, if you modify anything after initialization, you should ALWAYS run the preprocessor `pre()` method afterward. This method is run automatically when the class is first initialized, but needs to be run again manually in some cases. One such case is when options and/or parameters are changes. Forgetting to do this will cause the internal state and options to not be self consistent. We demonstrate the correct way to make changes below, by setting the `isothermal` option to `True`." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "model.isothermal = True \n", + "model.pre()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Define an Experiment\n", + "The model has two methods, `run()` and `run_step()` that correspond to the steps of the `Experiment` class. Similar to how a typical battery cycler would be programmed, an experiment is built by defining a series of sequential steps. Each step has its own mode (current, voltage, or power), value, time span, and limiting criteria.\n", + "\n", + "While we will not cover solver options in this tutorial, you should know that these options exist and are controlled through the `Experiment` class. Options that should be consistent throughout all steps should be set with keyword arguments when the class instance is created. You can also modify solver options at the per-step level (e.g., tighter tolerances) if needed. For more information, see the full documentation.\n", + "\n", + "Below we construct an experiment instance with two simple steps. The first step discharges the battery at a constant current until it reaches 3 V. Afterward, the battery rests for 10 minutes. Note that the sign convention for current and power are such that positive values discharge the cell and negative values charge the cell." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (4000., 60.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 60.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are also control modes available for both voltage and power, and while we do not demonstrate it here, the load value does not need to be constant. By passing in a callable like `f(t) -> float` where `t` is time and the return value is your load at that time, you can also run a dynamic profiles within a step. \n", + "\n", + "Pay attention to two important details in the example above:\n", + "\n", + "1. The `tspan` input (third argument) uses 4000 seconds in the first step even though the current is chosen such that the battery should dischange within an hour. When `limits` is used within a step, and you want to guarantee the limit is actually reached, you will want to pick a time beyond when you expect the limiting event to occur.\n", + "2. The value `60.` in the second position of the `tspan` argument contains a trailing decimal on purpose. When the decimal is present, Python interprets this as a float rather than an integer. The time step behavior is sensitive to this. When a float is passed, the solution is saved in intervals of this value (here, every 60 seconds). If an integer is passed instead, the full timespan is split into that number of times. In otherwords, `dt = tspan[0] / (tspan[1] - 1)`. We recommend always use floats for steps that have limits.\n", + "\n", + "## Run the Simulation\n", + "As mentioned above, the model contains two methods to run an experiment. You can either run the entire series of experiment steps by calling `run()`, or you can run one step at a time by calling `run_step()`. The most important difference between the two is that the model's internal state is changed and saved at the end of each step when using `run_step()` so that it is ready for the following step. Therefore, steps should only ever be run in sequential order, and steps between multiple experiments should not be mixed. For example, to run the above two steps one at a time, run the following code." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "soln_0 = model.run_step(expr, 0)\n", + "soln_1 = model.run_step(expr, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Indexing starts at zero to be consistent with the Python language. When steps are run one at a time, the output will be a `StepSolution`, which we discuss more below. \n", + "\n", + "It is common to setup multiple experiments that you'd like a model to run and to loop over them. For example, maybe you want to simulate different discharge rates using one experiment per rate. When using the `run()` method, you can do these back-to-back without much thought, however, when using `run_step()`, the `pre()` method should always be called before switching to another experiment. Otherwise, after the first experiment, the internal state will be at `soc = 0` and when the following experiment tries to discharge the cell at a higher rate, the results will not be physical. Likely this will lead to a crash. Therefore, before we demonstrate the `run()` method, we will call `pre()` to reset the model state from the steps run above." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "model.pre()\n", + "\n", + "soln = model.run(expr)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Interacting with Solutions\n", + "Simulation outputs will give one of two solution objects depending on your run mode. A `StepSolution` is returned when you run step by step and a `CycleSolution` is returned when using `run()`. The latter simply stitches together the individual step solutions. Each solution object has numerous attributes to inform the user whether or not their simulation was successful, how long the integrator took, etc. For `CycleSolution` instances, most of these values are lists where each index corresponds to experimental steps with the same indices. For example, below we see that both steps were successful and the total integration time." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "success = [True, True]\n", + "Solve time: 0.008 s\n" + ] + } + ], + "source": [ + "print(f\"success = {soln.success}\")\n", + "print(soln.solvetime)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most likely, everything else you will need to extract from solutions can be found in the solution's `vars` dictionary. This dictionary contains easy to read names and units for all of the model's outputs. You can always check the keys to this dictionary by printing the solution instance." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dict_keys(['time_s', 'time_min', 'time_h', 'soc', 'temperature_K', 'voltage_V', 'current_A', 'power_W', 'capacity_Ah', 'eta0_V', 'eta1_V'])\n" + ] + } + ], + "source": [ + "print(soln)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All values in the `vars` dictionary are 1D arrays that provide the values of the named variable at each integrator step. You can plot any two variables against each other using the `plot()` method. For example, to see voltage plotted against time, see below." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "soln.plot('time_min', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It can also be helpful to extract portions of a `CycleSolution` to examine what occurred within a given step, or to combine `StepSolution` instances so that you can post process or plotting purposes. Both of these features are available, as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "soln_0 = soln.get_steps(0)\n", + "soln_1 = soln.get_steps(1)\n", + "\n", + "soln = thevenin.CycleSolution(soln_0, soln_1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..dc1312a --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/_static/api_reference.svg b/docs/source/_static/api_reference.svg new file mode 100644 index 0000000..645d02a --- /dev/null +++ b/docs/source/_static/api_reference.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css new file mode 100644 index 0000000..0dffb7b --- /dev/null +++ b/docs/source/_static/custom.css @@ -0,0 +1,50 @@ +@import "../basic.css"; + +:root { + /* --pst-color-primary: #0079C2 !important; + --pst-color-secondary: #5D9732 !important; */ + + --pst-sidebar-font-size-mobile: 0.9rem !important; +} + +/* Remove caption text on main page, but keep in toc */ +section span.caption-text { + display: none; +} + +/* Fix transparent background in images */ +.transparent { + background: transparent; + background-color: transparent; +} + +/* Dark theme tweaking */ +html[data-theme=dark] .sd-card img[src*='.svg'] { + filter: invert(1.0) brightness(0.8) contrast(1.2); +} + +/* Toggle main page logo for dark/light modes */ +html[data-theme=dark] .ondark { + display: block; +} + +html[data-theme=dark] .onlight { + display: None; +} + +html[data-theme=light] .ondark { + display: None; +} + +html[data-theme=light] .onlight { + display: block; +} + +@media screen and (max-width: 540px) { + h1 {font-size: 30px;} + h2 {font-size: 24px;} + h3 {font-size: 21px;} + h4 {font-size: 18px;} + h5 {font-size: 18px;} + h6 {font-size: 18px;} +} diff --git a/docs/source/_static/custom.js b/docs/source/_static/custom.js new file mode 100644 index 0000000..ec73583 --- /dev/null +++ b/docs/source/_static/custom.js @@ -0,0 +1,17 @@ +document.addEventListener("DOMContentLoaded", function() { + + if (window.navigator.userAgent.indexOf("Mac") != -1) { + document.getElementById("sb-kbd").innerHTML = "Cmd"; + } else { + document.getElementById("sb-kbd").innerHTML = "Ctrl"; + } + +}); + +function removeKBD() { + document.getElementById("sb-kbd-span").style.display = "none"; +} + +function addKBD() { + document.getElementById("sb-kbd-span").style.display = "block"; +} \ No newline at end of file diff --git a/docs/source/_static/dark.png b/docs/source/_static/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ff95735969db1c1a08e8af12c139946da88588a0 GIT binary patch literal 70402 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 L|55h4!-M|^UHGxC literal 0 HcmV?d00001 diff --git a/docs/source/_static/development.svg b/docs/source/_static/development.svg new file mode 100644 index 0000000..a2e2de5 --- /dev/null +++ b/docs/source/_static/development.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="12.887868mm" + height="11.906246mm" + viewBox="0 0 12.887868 11.906246" + version="1.1" + id="svg1" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + sodipodi:docname="icons.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + inkscape:zoom="2.0686842" + inkscape:cx="212.21219" + inkscape:cy="304.29971" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="296" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs1" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-73.229044,-59.94871)"> + <g + id="g8" + transform="matrix(0.03069048,0,0,0.03069048,73.229042,59.457909)" + style="fill:#333333;fill-opacity:1">&#10; <g + id="g7" + style="fill:#333333;fill-opacity:1">&#10; <g + id="g6" + style="fill:#333333;fill-opacity:1">&#10; <path + d="m 282.895,352.367 c -2.176,-1.324 -4.072,-3.099 -5.579,-5.25 -0.696,-0.992 -1.284,-2.041 -1.771,-3.125 H 28.282 V 100.276 h 335.624 v 159.138 c 7.165,0.647 13.177,5.353 15.701,11.797 2.235,-1.225 4.726,-1.982 7.344,-2.213 1.771,-0.154 3.53,-0.044 5.236,0.293 V 39.561 c 0,-12.996 -10.571,-23.569 -23.566,-23.569 H 23.568 C 10.573,15.992 0,26.565 0,39.561 v 309.146 c 0,12.996 10.573,23.568 23.568,23.568 h 257.179 c -2.007,-4.064 -2.483,-8.652 -1.302,-13.066 0.681,-2.539 1.859,-4.855 3.45,-6.842 z m 55.13,-296.798 c 0,-4.806 3.896,-8.703 8.702,-8.703 h 8.702 c 4.807,0 8.702,3.896 8.702,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.702,8.702 h -8.702 c -4.807,0 -8.702,-3.896 -8.702,-8.702 z m -40.465,0 c 0,-4.806 3.896,-8.703 8.702,-8.703 h 8.703 c 4.807,0 8.702,3.896 8.702,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.702,8.702 h -8.703 c -4.806,0 -8.702,-3.896 -8.702,-8.702 z m -40.466,0 c 0,-4.806 3.897,-8.703 8.702,-8.703 h 8.702 c 4.807,0 8.703,3.896 8.703,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.703,8.702 h -8.702 c -4.805,0 -8.702,-3.896 -8.702,-8.702 z" + id="path1-0" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 419.875,335.77 -2.615,-14.83 c -0.353,-1.997 -2.256,-3.331 -4.255,-2.979 l -13.188,2.324 c -1.583,-3.715 -3.605,-7.195 -6.005,-10.38 l 8.614,-10.268 c 0.626,-0.744 0.931,-1.709 0.847,-2.68 -0.086,-0.971 -0.554,-1.867 -1.3,-2.494 l -11.534,-9.68 c -0.746,-0.626 -1.713,-0.93 -2.683,-0.845 -0.971,0.085 -1.867,0.552 -2.493,1.298 l -8.606,10.26 c -3.533,-1.8 -7.312,-3.188 -11.271,-4.104 V 278 c 0,-2.028 -1.645,-3.674 -3.673,-3.674 h -15.06 c -2.027,0 -3.673,1.646 -3.673,3.674 v 13.392 c -3.961,0.915 -7.736,2.304 -11.271,4.104 l -8.608,-10.259 c -1.304,-1.554 -3.62,-1.756 -5.175,-0.453 l -11.535,9.679 c -0.746,0.627 -1.213,1.523 -1.299,2.494 -0.084,0.971 0.22,1.937 0.846,2.683 l 8.615,10.266 c -2.396,3.184 -4.422,6.666 -6.005,10.38 l -13.188,-2.325 c -1.994,-0.351 -3.901,0.982 -4.255,2.979 l -2.614,14.83 c -0.169,0.959 0.05,1.945 0.607,2.744 0.561,0.799 1.41,1.342 2.37,1.511 l 13.198,2.326 c 0.215,4.089 0.927,8.045 2.073,11.812 l -11.6,6.695 c -0.844,0.485 -1.459,1.289 -1.712,2.229 -0.252,0.941 -0.119,1.943 0.367,2.787 l 7.529,13.041 c 0.485,0.844 1.289,1.459 2.229,1.711 0.313,0.084 0.632,0.125 0.951,0.125 0.639,0 1.272,-0.166 1.836,-0.492 l 11.609,-6.703 c 2.73,2.925 5.812,5.517 9.18,7.709 l -4.584,12.593 c -0.332,0.916 -0.289,1.926 0.123,2.809 0.412,0.883 1.157,1.566 2.072,1.898 l 14.148,5.149 c 0.406,0.148 0.832,0.224 1.257,0.224 0.53,0 1.063,-0.115 1.554,-0.345 0.883,-0.411 1.564,-1.157 1.897,-2.073 l 4.583,-12.593 c 1.965,0.238 3.965,0.361 5.994,0.361 2.029,0 4.029,-0.125 5.994,-0.361 l 4.584,12.593 c 0.332,0.916 1.016,1.662 1.897,2.073 0.49,0.229 1.021,0.345 1.554,0.345 0.424,0 0.85,-0.074 1.256,-0.224 l 14.15,-5.149 c 0.913,-0.332 1.659,-1.017 2.07,-1.898 0.412,-0.883 0.456,-1.893 0.123,-2.809 l -4.584,-12.591 c 3.365,-2.192 6.447,-4.786 9.18,-7.709 l 11.609,6.703 c 0.563,0.324 1.197,0.492 1.836,0.492 0.318,0 0.64,-0.043 0.951,-0.125 0.941,-0.252 1.743,-0.869 2.229,-1.711 l 7.529,-13.043 c 0.486,-0.842 0.619,-1.846 0.367,-2.787 -0.253,-0.938 -0.868,-1.742 -1.712,-2.229 l -11.598,-6.693 c 1.146,-3.768 1.856,-7.724 2.071,-11.812 l 13.198,-2.327 c 0.96,-0.169 1.812,-0.712 2.37,-1.511 0.579,-0.8 0.798,-1.786 0.629,-2.745 z m -65.691,23.566 c -11.155,0 -20.2,-9.045 -20.2,-20.201 0,-11.156 9.046,-20.2 20.2,-20.2 11.156,0 20.201,9.044 20.201,20.2 0,11.156 -9.045,20.201 -20.201,20.201 z" + id="path2-0" + style="fill:#333333;fill-opacity:1" /> +&#10; <g + id="g5" + style="fill:#333333;fill-opacity:1">&#10; <path + d="m 164.695,235.373 c 0,-4.752 -2.785,-9.117 -7.096,-11.119 L 118.144,205.922 157.6,187.588 c 4.31,-2.004 7.095,-6.368 7.095,-11.118 v -0.319 c 0,-4.21 -2.119,-8.075 -5.665,-10.334 -1.962,-1.253 -4.247,-1.916 -6.606,-1.916 -1.778,0 -3.563,0.391 -5.16,1.133 l -63.078,29.333 c -4.309,2.004 -7.092,6.368 -7.092,11.117 v 0.877 c 0,4.743 2.782,9.104 7.093,11.118 l 63.084,29.336 c 1.631,0.755 3.368,1.138 5.162,1.138 2.338,0 4.616,-0.664 6.597,-1.924 3.548,-2.268 5.666,-6.13 5.666,-10.335 z" + id="path3-3" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 226.932,134.012 c -2.301,-3.15 -6.002,-5.03 -9.901,-5.03 h -0.314 c -5.354,0 -10.048,3.425 -11.679,8.516 l -41.56,128.772 c -1.183,3.718 -0.517,7.813 1.781,10.962 2.301,3.148 6.002,5.029 9.901,5.029 h 0.315 c 5.352,0 10.043,-3.426 11.672,-8.516 l 41.555,-128.762 c 1.194,-3.715 0.532,-7.816 -1.77,-10.971 z" + id="path4" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 308.001,194.366 -63.079,-29.333 c -1.592,-0.74 -3.374,-1.131 -5.152,-1.131 -2.358,0 -4.644,0.661 -6.605,1.912 -3.552,2.263 -5.671,6.127 -5.671,10.337 v 0.319 c 0,4.746 2.783,9.111 7.097,11.123 l 39.454,18.33 -39.455,18.331 c -4.311,2.002 -7.096,6.367 -7.096,11.119 v 0.321 c 0,4.205 2.119,8.066 5.669,10.336 1.974,1.258 4.254,1.923 6.595,1.923 1.792,0 3.527,-0.383 5.169,-1.141 l 63.082,-29.336 c 4.307,-2.009 7.088,-6.371 7.088,-11.114 v -0.877 c -0.003,-4.75 -2.786,-9.114 -7.096,-11.119 z" + id="path5" + style="fill:#333333;fill-opacity:1" /> +&#10; </g> +&#10; </g> +&#10; </g> +&#10;</g> + </g> +</svg> diff --git a/docs/source/_static/examples.svg b/docs/source/_static/examples.svg new file mode 100644 index 0000000..d4ad768 --- /dev/null +++ b/docs/source/_static/examples.svg @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="19.111067mm" + height="11.906258mm" + viewBox="0 0 19.111067 11.906258" + version="1.1" + id="svg1" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + sodipodi:docname="icons.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + inkscape:zoom="2.9255612" + inkscape:cx="120.3188" + inkscape:cy="250.37931" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs1" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-41.587552,-38.786105)"> + <path + fill-rule="nonzero" + d="m 47.750643,40.106315 c -0.144452,0 -0.260909,-0.116403 -0.260909,-0.260897 0,-0.144451 0.116457,-0.260906 0.260909,-0.260906 h 5.538043 v -0.537501 c 0,-0.144451 0.116457,-0.260906 0.260909,-0.260906 0.14445,0 0.260907,0.116403 0.260907,0.260906 v 0.537501 h 6.599218 c 0.144453,0 0.260908,0.116403 0.260908,0.260906 0,0.144442 -0.116457,0.260897 -0.260908,0.260897 h -0.600574 v 7.498033 h 0.62857 c 0.144449,0 0.260906,0.116403 0.260906,0.260906 0,0.144459 -0.116457,0.260914 -0.260906,0.260914 h -6.730233 v 0.265017 c 0.01417,0.0097 0.02351,0.01861 0.03248,0.02804 l 1.597549,1.51841 c 0.102275,0.09779 0.107123,0.265388 0.0093,0.367669 -0.09779,0.102652 -0.265389,0.107091 -0.368034,0.0097 l -1.266467,-1.206005 v 1.322469 c 0,0.144442 -0.116457,0.260897 -0.260909,0.260897 -0.14445,0 -0.260907,-0.116395 -0.260907,-0.260897 v -1.373596 l -1.322457,1.257132 c -0.102649,0.09779 -0.270239,0.09779 -0.368034,-0.0097 -0.09779,-0.102237 -0.09779,-0.269863 0.0093,-0.367669 l 1.597563,-1.51841 c 0.02314,-0.02319 0.05562,-0.0418 0.0836,-0.05599 V 48.12622 h -5.516394 c -0.144451,0 -0.260908,-0.116395 -0.260908,-0.260914 0,-0.144442 0.116457,-0.260906 0.260908,-0.260906 h 11.613205 v -7.498024 z m 5.098343,6.39468 a 0.23888573,0.23888573 0 0 1 -0.238885,-0.23889 c 0,-0.131824 0.107122,-0.238509 0.238885,-0.238509 h 5.090133 c 0.131764,0 0.238512,0.106814 0.238512,0.238509 0,0.132093 -0.106748,0.23889 -0.238512,0.23889 z m 0.360568,-1.604637 c -0.131765,0 -0.238512,-0.106814 -0.238512,-0.238526 0,-0.132093 0.106747,-0.238873 0.238512,-0.238873 h 4.729565 c 0.131764,0 0.238512,0.106823 0.238512,0.238873 0,0.131824 -0.106748,0.238526 -0.238512,0.238526 z m -0.77563,-1.604645 c -0.131765,0 -0.238514,-0.106815 -0.238514,-0.23851 0,-0.131816 0.106748,-0.23889 0.238514,-0.23889 h 5.505195 c 0.131764,0 0.238512,0.1071 0.238512,0.23889 0,0.131816 -0.106748,0.23851 -0.238512,0.23851 z M 49.979,41.687067 c -0.131765,0 -0.238513,-0.106815 -0.238513,-0.238509 0,-0.131816 0.106748,-0.238891 0.238513,-0.238891 h 7.960119 c 0.131764,0 0.238512,0.107101 0.238512,0.238891 0,0.131824 -0.106748,0.238509 -0.238512,0.238509 z m -0.172445,3.154789 1.809932,-1.897648 c 0.106372,-0.111956 0.283301,-0.116127 0.394907,-0.0097 0.111985,0.1064 0.116083,0.283294 0.01,0.394903 l -1.705048,1.787917 c 0.139972,0.169452 0.206412,0.397516 0.161993,0.630055 -0.07913,0.413949 -0.47889,0.685309 -0.89246,0.606178 l -1.892798,-0.36393 c -0.188867,-0.03289 -0.365793,-0.13668 -0.487101,-0.30421 l -0.614007,-0.848411 -0.0016,0.0765 v -0.0553 l -0.04889,2.830797 0.07427,0.424014 h -3.174564 l 0.06569,-0.39267 -0.05823,-2.8084 v 0.0017 l -0.0097,-0.481502 -0.0034,0.0043 c -0.324735,0.325109 -0.338547,1.099994 -0.374753,1.57067 l -0.0825,1.077979 c -0.01903,0.24597 -0.03956,0.384812 -0.232168,0.551296 -0.279944,0.241123 -0.75137,0.290761 -1.000334,-0.01419 -0.160874,-0.196339 -0.168713,-0.509869 -0.15229,-0.796165 0.08287,-1.4322 0.251204,-3.58776 1.855097,-4.296946 v 0.01791 c 0.680078,-0.270235 1.481465,-0.152655 2.213053,-0.152655 0.348251,0 0.654322,0.05115 0.926055,0.155268 0.173564,0.03998 0.333695,0.140349 0.446417,0.296006 l 1.230262,1.700929 z m -4.793393,-5.938915 c 0.891715,0 1.614344,0.722634 1.614344,1.614338 0,0.891341 -0.722629,1.613975 -1.614344,1.613975 -0.891717,0 -1.614347,-0.722634 -1.614347,-1.613975 0,-0.891704 0.72263,-1.614338 1.614347,-1.614338 z" + id="path1-42" + style="fill:#333333;fill-opacity:1;stroke-width:0.0373258" + inkscape:export-filename="examples.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" /> + </g> +</svg> diff --git a/docs/source/_static/favicon.ico b/docs/source/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8f0a623512adb3882edb248bc7201e1dfe455f2c GIT binary patch literal 4286 zcmcJTYe-Z<6vrnbvMB3Q^r^QIMB(nHy~r#v+q-KPrQu`E0tJaEdQk*=%}07yEfuRx zqE9_O6@6%-bRXigcV+}Vs6{X{3!>CqOQ&;o_b%7#-n+A<D}QJ1oSE}GJ9p;HC?Qke zXVD^pzsaq+gv=v^tN=k1i3MT1=L5E;aId@#giuPE#OLT{@|l`Fe1^7`&(yZ@ChaHC zFOVD53u@<0x=UbB;geU+V)YxWU!iIBV&Gl`|NS7!DC}$D)1sCH^RHy*vtq-*M-gb4 zkr^m9m>W$=^`T|cl{kUgi_$a;f!XmNTzM?5d{)%_KrDG1yxY|f^XCa<i?MW_P1miG z^Q6!CzJQDCN*pt$%qcxVcig$FD(s^)9@@K<<^kUk*q^D4rRkO`y5V`Zs<4lm53scc zS`SsZ>rV$6H&J|uPjgN>@AajL3+!gY;Pq2mn$==Bax#q`sK{3p_EGcUv$>^v(=He+ zz^AC&dGSujBO?qxSU75ZuHYQBRwmB??st)orL`oXy>OpyaFS!_$2@5_b171`Sg$YD zzbxLr=G$b(P+-y}JIsa}kvXmuxGr<{TGyn-kfFT{%=U3y-&(+So7wQSDtFxrc?`!7 zC()zFQar-C+|Kk2=NK@$)%ZT!(3K;b9!Y&}zu)A~16Y^ZLa6tG|3L;m?v2qKr?<l1 z@aDz|;tzpeHzVJ>Kl9@oaeq!Azb_O%_O%voZ`0pz9uaf#f6RZ6!^}Mj#=lv2kQQ36 zjZx~;j{cbTH=`KCmZna+ucl;-jvd{_vL;$=g0U_bzw-8Z8rwt1$@sSSPh3;SZ*d-^ zWp>#~2EOi+t(;5!S3btH&Gln6!TIEul#O*3enEz2x3yXy4*UVN7?i%hI45!4Zkp(P z_){7K1OI2)fsM2A46v6QuB!1HDw62Es=Z^B^7^CyePG>My?3OJPij7s9YaxhS<%7f z-y)vD4HevS;Qv;OL2gTZ{oc>Vx@f<{Go7DqINz3vd@OB(p<MLAQY!IrEbh-B=VzIe zjdcef8wO)vu&}X@8XxTs%Ji?`{QN5BOMjWEeHrNfg)uY=#t0bug(ZfZ#}DbwcRe0q zJ<ym2fpZDj(I5P5leVugEiyv>-KEcs6?zS841t*PHk+CIb|H6tr{_+e6&WdIDb;=R z&?)!zug?%eiy&KXN^G$m?`6I<8PdLx#W-v;8~G;|-89i}sHJCbdh>&7j*@YIz@4@d z@71C5l=@?y#9WQ%h40M5bvg_hfc*8*E*RTv0(Ze7a7IUMGW*}(&Z)5S3H?LJ<{?5B mekWv(i;(F~LZ+g4`1b*dg!mE1IemUy;1hi#16jzV!2Syo5V<Y@ literal 0 HcmV?d00001 diff --git a/docs/source/_static/icons.svg b/docs/source/_static/icons.svg new file mode 100644 index 0000000..2b0228c --- /dev/null +++ b/docs/source/_static/icons.svg @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg1" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + sodipodi:docname="icons.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + inkscape:zoom="2.0686842" + inkscape:cx="212.21219" + inkscape:cy="304.29971" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="296" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs1" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + fill-rule="nonzero" + d="m 49.358372,61.783731 c 0,0.191052 -0.15488,0.345932 -0.345956,0.345932 -0.191053,0 -0.345956,-0.15488 -0.345956,-0.345932 0,-0.504913 0.206408,-0.963828 0.538755,-1.296269 0.332444,-0.332346 0.791381,-0.538755 1.296268,-0.538755 h 6.818858 c 0.504863,0 0.963728,0.206481 1.296099,0.538852 0.332492,0.332491 0.538927,0.791478 0.538927,1.296172 v 0.149033 l 0.594069,-2.5e-5 c 0.04912,0 0.09505,0.0105 0.139279,0.03128 0.04996,0.02346 0.08892,0.05579 0.119607,0.09694 l -6.9e-4,5.18e-4 c 0.02385,0.03192 0.0417,0.06528 0.05318,0.101675 l -8.62e-4,3.45e-4 c 0.01154,0.03654 0.01757,0.07227 0.01757,0.108348 v 1.540014 c 0,0.03326 -0.0061,0.06669 -0.01849,0.09906 a 0.27154904,0.27154904 0 0 1 -0.01739,0.03873 0.29219483,0.29219483 0 0 1 -0.07735,0.09042 0.30798849,0.30798849 0 0 1 -0.05408,0.03523 l -1.72e-4,-3.46e-4 -8.61e-4,3.46e-4 c -0.04205,0.02101 -0.08472,0.03164 -0.128485,0.03164 h -0.625317 v 0.67954 h -0.115312 l 0.709309,7.2e-5 c 0.04971,0 0.0959,0.01041 0.140275,0.03125 l -1.73e-4,3.45e-4 c 0.04938,0.02337 0.08816,0.05548 0.118852,0.09641 l -6.9e-4,6.89e-4 c 0.02096,0.02795 0.037,0.05679 0.04816,0.08646 0.01439,0.0384 0.02162,0.07661 0.02162,0.114654 v 1.54909 c 0,0.04465 -0.0105,0.08768 -0.03169,0.129528 a 0.30810979,0.30810979 0 0 1 -0.0567,0.07906 l -5.17e-4,-5.17e-4 c -0.02482,0.02482 -0.05136,0.0442 -0.07955,0.05815 l -5.18e-4,-8.63e-4 c -0.04197,0.02098 -0.08457,0.03139 -0.12795,0.03139 l -0.625146,-4.7e-5 v 0.735046 h 0.593901 c 0.03974,0 0.07739,0.0066 0.11458,0.01963 0.04805,0.01691 0.08719,0.04161 0.119678,0.07409 l -3.44e-4,1.73e-4 c 0.0336,0.03301 0.05844,0.07295 0.07435,0.118876 l -3.46e-4,-4.8e-5 3.46e-4,8.62e-4 c 0.01315,0.0378 0.01977,0.07634 0.01977,0.11448 v 1.537861 c 0,0.02657 -0.0036,0.05339 -0.01079,0.08048 a 0.2930682,0.2930682 0 0 1 -0.07749,0.13802 0.30556242,0.30556242 0 0 1 -0.07907,0.05781 c -0.04175,0.02112 -0.08488,0.0315 -0.129478,0.0315 l -0.74046,5.2e-5 h 0.115263 v 0.148958 c 0,0.504665 -0.206579,0.963508 -0.539023,1.295996 -0.332492,0.332471 -0.791404,0.539029 -1.296002,0.539029 h -6.818858 c -0.504669,0 -0.96363,-0.206463 -1.296123,-0.538951 -0.332394,-0.332393 -0.538901,-0.791193 -0.538901,-1.296074 0,-0.191076 0.154904,-0.345962 0.345957,-0.345962 0.191077,0 0.345957,0.154886 0.345957,0.345962 0,0.313857 0.128824,0.599597 0.336155,0.806908 0.207402,0.207424 0.493216,0.336201 0.806955,0.336201 h 6.818858 c 0.313666,0 0.599432,-0.128873 0.806835,-0.336279 0.207429,-0.207406 0.336278,-0.493164 0.336278,-0.80683 v -8.236088 c 0,-0.313763 -0.128777,-0.5996 -0.33618,-0.807006 -0.207283,-0.207283 -0.493,-0.336105 -0.806933,-0.336105 h -6.818858 c -0.313955,0 -0.599771,0.128677 -0.807102,0.336009 -0.207307,0.207306 -0.336008,0.49312 -0.336008,0.807102 z m 7.428236,3.813695 c 0,0.159804 -0.01257,0.314078 -0.03753,0.462432 -0.02499,0.148838 -0.0625,0.29069 -0.112231,0.425241 l -0.0022,0.0055 c -0.05037,0.134185 -0.111381,0.253959 -0.182634,0.35908 -0.07342,0.1083 -0.157694,0.201097 -0.252167,0.27805 -0.09571,0.07788 -0.198911,0.136224 -0.309225,0.175113 -0.111089,0.03914 -0.228802,0.05866 -0.35287,0.05866 -0.104006,0 -0.200829,-0.01623 -0.290667,-0.04843 -0.09047,-0.03241 -0.172177,-0.08061 -0.245226,-0.144204 l -0.0057,-0.0055 c -0.0704,-0.06344 -0.126616,-0.135447 -0.168806,-0.215724 l -0.0023,-0.0048 a 0.76583479,0.76583479 0 0 1 -0.03539,-0.07904 1.1341109,1.1341109 0 0 1 -0.0829,0.111695 1.0936686,1.0936686 0 0 1 -0.236784,0.210194 c -0.08894,0.05857 -0.186831,0.10255 -0.293116,0.131952 -0.10534,0.02909 -0.217837,0.04377 -0.337077,0.04377 -0.176764,0 -0.335404,-0.03071 -0.475824,-0.092 -0.14156,-0.06181 -0.263423,-0.154493 -0.365266,-0.277979 -0.100538,-0.121885 -0.175672,-0.264974 -0.225237,-0.428828 -0.04883,-0.161578 -0.07322,-0.34358 -0.07322,-0.545939 0,-0.233896 0.03418,-0.447098 0.10238,-0.639145 0.06883,-0.193648 0.172079,-0.365096 0.309614,-0.514009 l 3.44e-4,-3.45e-4 c 0.138625,-0.149445 0.299352,-0.261627 0.481962,-0.336494 0.181832,-0.07453 0.3839,-0.111795 0.606102,-0.111795 0.07672,0 0.15949,0.0036 0.24792,0.01083 0.08573,0.007 0.176955,0.01769 0.273053,0.03198 l 0.0025,5.18e-4 c 0.09345,0.01339 0.184019,0.02998 0.271308,0.0494 0.0885,0.01965 0.172395,0.04221 0.25151,0.06737 a 0.08614944,0.08614944 0 0 1 0.05999,0.08651 l -0.08198,1.546977 1.72e-4,0.07217 c 0,0.177077 0.03086,0.306992 0.09248,0.389625 l 0.0029,0.0043 c 0.05572,0.072 0.141365,0.108081 0.256604,0.108081 0.08186,0 0.156019,-0.02414 0.222396,-0.0723 0.07077,-0.05133 0.134403,-0.130278 0.190543,-0.236565 0.05881,-0.111308 0.103253,-0.239839 0.132972,-0.385404 0.03004,-0.147165 0.0452,-0.313179 0.0452,-0.497754 0,-0.193381 -0.01953,-0.373712 -0.05866,-0.54128 -0.03905,-0.167326 -0.0975,-0.322254 -0.175209,-0.464881 l -1.73e-4,-5.17e-4 c -0.07725,-0.142363 -0.170845,-0.268155 -0.280698,-0.377279 -0.109899,-0.109196 -0.236687,-0.202431 -0.379921,-0.279651 -0.143089,-0.07693 -0.297291,-0.134891 -0.462431,-0.173609 -0.165603,-0.03882 -0.342925,-0.05829 -0.531696,-0.05829 -0.239162,0 -0.462311,0.02458 -0.669205,0.07383 -0.205828,0.04898 -0.39603,0.122469 -0.57044,0.22048 -0.174167,0.09794 -0.327614,0.216429 -0.460004,0.355321 -0.1329,0.139376 -0.245373,0.299764 -0.337249,0.480846 -0.09233,0.182002 -0.161818,0.378731 -0.20818,0.590066 -0.04651,0.212062 -0.06983,0.439093 -0.06983,0.68119 0,0.326547 0.04268,0.614328 0.128121,0.863387 0.08448,0.246172 0.210825,0.455007 0.378999,0.626335 0.167665,0.170843 0.372933,0.299231 0.615808,0.384992 0.245687,0.08673 0.5307,0.130183 0.854872,0.130183 0.451853,0 0.921925,-0.09282 1.409055,-0.278366 a 0.08644057,0.08644057 0 0 1 0.117155,0.08077 l 7.2e-5,0.439699 a 0.08648909,0.08648909 0 0 1 -0.05846,0.08186 c -0.215628,0.0937 -0.445109,0.164076 -0.688565,0.210971 -0.245712,0.04725 -0.50547,0.07096 -0.77925,0.07096 -0.409229,0 -0.77372,-0.05677 -1.093427,-0.16997 -0.322253,-0.114196 -0.598558,-0.285862 -0.828767,-0.514928 -0.230038,-0.228245 -0.402266,-0.502294 -0.516872,-0.821709 -0.113855,-0.317134 -0.170624,-0.677817 -0.170624,-1.081708 0,-0.29222 0.03016,-0.569298 0.09047,-0.831144 0.06045,-0.262184 0.151313,-0.508552 0.272567,-0.738929 0.121668,-0.230526 0.269513,-0.435429 0.443265,-0.614475 0.173854,-0.179066 0.373542,-0.332223 0.598826,-0.459083 l 0.0064,-0.0033 c 0.222883,-0.125088 0.461875,-0.219049 0.716587,-0.281665 0.257428,-0.06324 0.530482,-0.09498 0.818675,-0.09498 0.242971,0 0.473179,0.02564 0.69048,0.07693 0.21791,0.05146 0.422645,0.128945 0.614328,0.232368 0.191635,0.103737 0.361944,0.229481 0.510443,0.377009 0.148088,0.147069 0.274438,0.315947 0.378757,0.506489 0.104782,0.189936 0.183144,0.394308 0.23523,0.612605 0.05194,0.218175 0.07793,0.450325 0.07793,0.696183 z m -3.415021,0.432882 c 0,0.260293 0.04765,0.452559 0.142896,0.576723 0.08979,0.117034 0.227854,0.175599 0.414346,0.175599 0.19896,0 0.351586,-0.07421 0.457969,-0.222446 0.11383,-0.158591 0.180062,-0.40195 0.198864,-0.729686 l 0.04345,-0.790533 a 1.7360895,1.7360895 0 0 0 -0.169485,-0.0304 c -0.08093,-0.01041 -0.167325,-0.01572 -0.259055,-0.01572 -0.131226,0 -0.247337,0.02237 -0.348261,0.06698 -0.09937,0.04393 -0.185447,0.110313 -0.257914,0.198912 l -0.0038,0.0042 c -0.07139,0.08877 -0.125574,0.195638 -0.162087,0.320072 -0.03792,0.129139 -0.05696,0.278123 -0.05696,0.446225 z m -5.170494,3.122434 c -0.300978,0 -0.54504,-0.244055 -0.54504,-0.545035 0,-0.30098 0.244062,-0.545035 0.54504,-0.545035 h 1.16133 c 0.300977,0 0.54504,0.244055 0.54504,0.545035 0,0.30098 -0.244063,0.545035 -0.54504,0.545035 z m 0,-1.803942 c -0.300978,0 -0.54504,-0.244063 -0.54504,-0.545039 0,-0.300978 0.244062,-0.545039 0.54504,-0.545039 h 1.16133 c 0.300977,0 0.54504,0.244061 0.54504,0.545039 0,0.300976 -0.244063,0.545039 -0.54504,0.545039 z m 0,-1.803946 c -0.300978,0 -0.54504,-0.244062 -0.54504,-0.545039 0,-0.300978 0.244062,-0.54504 0.54504,-0.54504 h 1.16133 c 0.300977,0 0.54504,0.244062 0.54504,0.54504 0,0.300977 -0.244063,0.545039 -0.54504,0.545039 z m 0,-1.803948 c -0.300978,0 -0.54504,-0.244061 -0.54504,-0.545037 0,-0.300978 0.244062,-0.54504 0.54504,-0.54504 h 1.16133 c 0.300977,0 0.54504,0.244062 0.54504,0.54504 0,0.300976 -0.244063,0.545037 -0.54504,0.545037 z" + id="path1" + style="fill:#333333;fill-opacity:1;stroke-width:0.0242605" + inkscape:export-filename="contact.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" /> + <path + d="m 20.95296,69.56676 q 0.02469,-4.288848 0.04815,-8.565355 a 0.39629251,0.39629251 0 0 1 0.322218,-0.386412 v 0 c 1.037026,-0.216044 2.671578,-0.161715 3.781446,0.264202 a 4.3777361,4.3777361 0 0 1 1.975288,1.438256 4.6098324,4.6098324 0 0 1 1.975287,-1.376528 c 1.048144,-0.399999 2.63825,-0.49629 3.777743,-0.32593 a 0.39505795,0.39505795 0 0 1 0.341974,0.38765 v 0 8.599918 a 0.39629251,0.39629251 0 0 1 -0.398759,0.395075 0.43086009,0.43086009 0 0 1 -0.09136,-0.01116 6.5987025,6.5987025 0 0 0 -2.895035,0.270364 8.7653485,8.7653485 0 0 0 -1.946893,1.019745 8.529548,8.529548 0 0 1 2.622199,-0.382708 15.483802,15.483802 0 0 1 3.383912,0.429621 V 62.32358 h 0.396297 a 0.39629251,0.39629251 0 0 1 0.396292,0.396296 v 9.122136 a 0.39629251,0.39629251 0 0 1 -0.396292,0.396286 0.39258883,0.39258883 0 0 1 -0.123458,-0.02094 15.03319,15.03319 0 0 0 -3.662925,-0.534567 7.6406678,7.6406678 0 0 0 -3.180219,0.649378 0.41851452,0.41851452 0 0 1 -0.449376,0 7.6369642,7.6369642 0 0 0 -3.180218,-0.649378 15.03319,15.03319 0 0 0 -3.654287,0.537033 0.39258883,0.39258883 0 0 1 -0.123454,0.02094 0.39629251,0.39629251 0 0 1 -0.399997,-0.398762 v -9.122136 a 0.39629251,0.39629251 0 0 1 0.396291,-0.396295 h 0.396292 v 8.999917 a 15.483802,15.483802 0 0 1 3.383919,-0.429621 8.4986841,8.4986841 0 0 1 2.803677,0.440724 6.0122882,6.0122882 0 0 0 -1.918496,-1.041951 c -0.864193,-0.283959 -2.182699,-0.379013 -3.146886,-0.2963 a 0.39629251,0.39629251 0 0 1 -0.43333,-0.361723 0.61727804,0.61727804 0 0 1 0,-0.06793 z m 7.609805,-1.124673 a 0.28394791,0.28394791 0 1 1 -0.30864,-0.475306 6.3530257,6.3530257 0 0 1 1.456776,-0.666659 6.6332699,6.6332699 0 0 1 1.60492,-0.329626 0.28313423,0.28313423 0 1 1 0.03084,0.565426 6.1011762,6.1011762 0 0 0 -1.455542,0.303699 5.7690806,5.7690806 0 0 0 -1.32838,0.602466 z m 0.02467,-2.192571 a 0.28306634,0.28306634 0 0 1 -0.303698,-0.47778 6.5073451,6.5073451 0 0 1 1.449369,-0.65431 6.6814179,6.6814179 0 0 1 1.577761,-0.323447 0.28394791,0.28394791 0 0 1 0.03084,0.566655 6.0863615,6.0863615 0 0 0 -1.435792,0.2963 5.9258693,5.9258693 0 0 0 -1.318506,0.592582 z m 0.0074,-2.18517 a 0.28410927,0.28410927 0 1 1 -0.303703,-0.480246 6.4863578,6.4863578 0 0 1 1.446902,-0.650598 6.6308011,6.6308011 0 0 1 1.572824,-0.320998 0.28313788,0.28313788 0 1 1 0.03084,0.565435 6.0925343,6.0925343 0 0 0 -1.430851,0.295062 5.9147583,5.9147583 0 0 0 -1.316035,0.591345 z m -2.735777,3.902435 a 0.28394791,0.28394791 0 1 1 -0.30864,0.475306 5.7690806,5.7690806 0 0 0 -1.323442,-0.602466 6.1011762,6.1011762 0 0 0 -1.455543,-0.303699 0.28320417,0.28320417 0 1 1 0.03333,-0.565426 6.6332699,6.6332699 0 0 1 1.604921,0.329626 6.3530257,6.3530257 0 0 1 1.456778,0.666659 z m -0.02963,-2.195045 a 0.28440008,0.28440008 0 0 1 -0.308642,0.47778 5.9258693,5.9258693 0 0 0 -1.318505,-0.592582 6.0863615,6.0863615 0 0 0 -1.435786,-0.2963 0.28397635,0.28397635 0 0 1 0.03826,-0.566655 6.6814179,6.6814179 0 0 1 1.577759,0.323447 6.5073451,6.5073451 0 0 1 1.44937,0.65431 z m -0.0074,-2.187636 a 0.28394791,0.28394791 0 1 1 -0.301235,0.480246 5.9147583,5.9147583 0 0 0 -1.316038,-0.591345 6.0925343,6.0925343 0 0 0 -1.430849,-0.295062 0.28313788,0.28313788 0 1 1 0.03084,-0.565435 6.6308011,6.6308011 0 0 1 1.572824,0.320998 6.4863578,6.4863578 0 0 1 1.4469,0.650598 z m 6.557959,-2.228362 c -0.916043,-0.08645 -2.229607,0.0148 -3.053054,0.327151 a 3.7036684,3.7036684 0 0 0 -1.867886,1.458012 v 7.439435 a 9.4764522,9.4764522 0 0 1 2.064177,-1.069125 7.759185,7.759185 0 0 1 2.856763,-0.354315 z m -5.713523,9.148054 V 63.129789 C 26.251654,62.397706 25.58129,61.908815 24.823273,61.618694 23.95908,61.28906 22.631934,61.215 21.791201,61.334743 l -0.04447,7.846842 c 0.917273,-0.03332 2.183929,0.08394 3.027129,0.359257 a 6.7826513,6.7826513 0 0 1 1.892577,0.96295 z" + id="path1-46" + style="fill:#333333;fill-opacity:1;stroke-width:0.123455" + inkscape:export-filename="user_guide.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" /> + <path + fill-rule="nonzero" + d="m 47.750643,40.106315 c -0.144452,0 -0.260909,-0.116403 -0.260909,-0.260897 0,-0.144451 0.116457,-0.260906 0.260909,-0.260906 h 5.538043 v -0.537501 c 0,-0.144451 0.116457,-0.260906 0.260909,-0.260906 0.14445,0 0.260907,0.116403 0.260907,0.260906 v 0.537501 h 6.599218 c 0.144453,0 0.260908,0.116403 0.260908,0.260906 0,0.144442 -0.116457,0.260897 -0.260908,0.260897 h -0.600574 v 7.498033 h 0.62857 c 0.144449,0 0.260906,0.116403 0.260906,0.260906 0,0.144459 -0.116457,0.260914 -0.260906,0.260914 h -6.730233 v 0.265017 c 0.01417,0.0097 0.02351,0.01861 0.03248,0.02804 l 1.597549,1.51841 c 0.102275,0.09779 0.107123,0.265388 0.0093,0.367669 -0.09779,0.102652 -0.265389,0.107091 -0.368034,0.0097 l -1.266467,-1.206005 v 1.322469 c 0,0.144442 -0.116457,0.260897 -0.260909,0.260897 -0.14445,0 -0.260907,-0.116395 -0.260907,-0.260897 v -1.373596 l -1.322457,1.257132 c -0.102649,0.09779 -0.270239,0.09779 -0.368034,-0.0097 -0.09779,-0.102237 -0.09779,-0.269863 0.0093,-0.367669 l 1.597563,-1.51841 c 0.02314,-0.02319 0.05562,-0.0418 0.0836,-0.05599 V 48.12622 h -5.516394 c -0.144451,0 -0.260908,-0.116395 -0.260908,-0.260914 0,-0.144442 0.116457,-0.260906 0.260908,-0.260906 h 11.613205 v -7.498024 z m 5.098343,6.39468 a 0.23888573,0.23888573 0 0 1 -0.238885,-0.23889 c 0,-0.131824 0.107122,-0.238509 0.238885,-0.238509 h 5.090133 c 0.131764,0 0.238512,0.106814 0.238512,0.238509 0,0.132093 -0.106748,0.23889 -0.238512,0.23889 z m 0.360568,-1.604637 c -0.131765,0 -0.238512,-0.106814 -0.238512,-0.238526 0,-0.132093 0.106747,-0.238873 0.238512,-0.238873 h 4.729565 c 0.131764,0 0.238512,0.106823 0.238512,0.238873 0,0.131824 -0.106748,0.238526 -0.238512,0.238526 z m -0.77563,-1.604645 c -0.131765,0 -0.238514,-0.106815 -0.238514,-0.23851 0,-0.131816 0.106748,-0.23889 0.238514,-0.23889 h 5.505195 c 0.131764,0 0.238512,0.1071 0.238512,0.23889 0,0.131816 -0.106748,0.23851 -0.238512,0.23851 z M 49.979,41.687067 c -0.131765,0 -0.238513,-0.106815 -0.238513,-0.238509 0,-0.131816 0.106748,-0.238891 0.238513,-0.238891 h 7.960119 c 0.131764,0 0.238512,0.107101 0.238512,0.238891 0,0.131824 -0.106748,0.238509 -0.238512,0.238509 z m -0.172445,3.154789 1.809932,-1.897648 c 0.106372,-0.111956 0.283301,-0.116127 0.394907,-0.0097 0.111985,0.1064 0.116083,0.283294 0.01,0.394903 l -1.705048,1.787917 c 0.139972,0.169452 0.206412,0.397516 0.161993,0.630055 -0.07913,0.413949 -0.47889,0.685309 -0.89246,0.606178 l -1.892798,-0.36393 c -0.188867,-0.03289 -0.365793,-0.13668 -0.487101,-0.30421 l -0.614007,-0.848411 -0.0016,0.0765 v -0.0553 l -0.04889,2.830797 0.07427,0.424014 h -3.174564 l 0.06569,-0.39267 -0.05823,-2.8084 v 0.0017 l -0.0097,-0.481502 -0.0034,0.0043 c -0.324735,0.325109 -0.338547,1.099994 -0.374753,1.57067 l -0.0825,1.077979 c -0.01903,0.24597 -0.03956,0.384812 -0.232168,0.551296 -0.279944,0.241123 -0.75137,0.290761 -1.000334,-0.01419 -0.160874,-0.196339 -0.168713,-0.509869 -0.15229,-0.796165 0.08287,-1.4322 0.251204,-3.58776 1.855097,-4.296946 v 0.01791 c 0.680078,-0.270235 1.481465,-0.152655 2.213053,-0.152655 0.348251,0 0.654322,0.05115 0.926055,0.155268 0.173564,0.03998 0.333695,0.140349 0.446417,0.296006 l 1.230262,1.700929 z m -4.793393,-5.938915 c 0.891715,0 1.614344,0.722634 1.614344,1.614338 0,0.891341 -0.722629,1.613975 -1.614344,1.613975 -0.891717,0 -1.614347,-0.722634 -1.614347,-1.613975 0,-0.891704 0.72263,-1.614338 1.614347,-1.614338 z" + id="path1-42" + style="fill:#333333;fill-opacity:1;stroke-width:0.0373258" + inkscape:export-filename="examples.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" /> + <path + fill-rule="nonzero" + d="m 26.108904,38.78611 c 1.643651,0 3.132424,0.666484 4.209594,1.743648 1.077161,1.077164 1.743646,2.56594 1.743646,4.209594 0,1.643652 -0.666485,3.132196 -1.743646,4.20936 -1.07717,1.077164 -2.565943,1.743648 -4.209594,1.743648 -1.643651,0 -3.132433,-0.666484 -4.209595,-1.743648 -1.07717,-1.077164 -1.743646,-2.565708 -1.743646,-4.20936 0,-1.643654 0.666476,-3.13243 1.743646,-4.209594 1.077162,-1.077164 2.565944,-1.743648 4.209595,-1.743648 z m -0.44557,3.173123 c 0,-0.245803 0.199766,-0.445562 0.44557,-0.445562 0.245803,0 0.44556,0.199759 0.44556,0.445562 v 1.454591 c 0,0.245804 -0.199757,0.445564 -0.44556,0.445564 -0.245804,0 -0.44557,-0.19976 -0.44557,-0.445564 z m 1.696215,1.219717 c -0.189987,-0.154644 -0.219055,-0.434632 -0.06464,-0.624857 0.154644,-0.189992 0.434873,-0.219061 0.624859,-0.06441 0.331616,0.268825 0.601841,0.609276 0.786012,0.996237 0.178373,0.374637 0.278368,0.793921 0.278368,1.235296 0,0.793922 -0.322088,1.512963 -0.842063,2.032941 l -0.02717,0.02511 c -0.518815,0.505562 -1.227158,0.816944 -2.005961,0.816944 -0.792061,0 -1.511334,-0.322313 -2.03201,-0.843222 -0.521134,-0.518814 -0.843222,-1.237855 -0.843222,-2.031777 0,-0.439283 0.09976,-0.857172 0.277667,-1.231807 0.184414,-0.388125 0.454171,-0.729274 0.783918,-0.997634 0.189995,-0.154644 0.470206,-0.125577 0.624626,0.06442 0.154644,0.190224 0.125576,0.470211 -0.06439,0.624857 -0.226973,0.184875 -0.413005,0.419982 -0.539983,0.687645 -0.122088,0.256734 -0.190687,0.546257 -0.190687,0.852522 0,0.547886 0.222542,1.043911 0.581132,1.402734 0.357663,0.359752 0.853926,0.581139 1.40297,0.581139 0.538589,0 1.026242,-0.21348 1.382261,-0.559279 l 0.02068,-0.02186 c 0.358581,-0.358823 0.581132,-0.854848 0.581132,-1.402734 0,-0.3058 -0.0688,-0.59509 -0.191389,-0.852522 a 1.9904057,1.9904057 0 0 0 -0.542068,-0.689739 z m 2.394554,-2.084796 c -0.932755,-0.932519 -2.221763,-1.509705 -3.645199,-1.509705 -1.423428,0 -2.712445,0.577186 -3.6452,1.509705 -0.932521,0.932752 -1.509698,2.221769 -1.509698,3.645198 0,1.423429 0.577177,2.712213 1.509698,3.644965 0.932755,0.932518 2.221772,1.509704 3.6452,1.509704 1.423436,0 2.712444,-0.577186 3.645199,-1.509704 0.932521,-0.932752 1.509706,-2.221536 1.509706,-3.644965 0,-1.423429 -0.577185,-2.712446 -1.509706,-3.645198 z" + id="path1-4" + style="fill:#333333;fill-opacity:1;stroke-width:0.0232548;stroke:none;stroke-opacity:1" + inkscape:export-filename="get_started.svg" + inkscape:export-xdpi="200" + inkscape:export-ydpi="200" /> + <g + id="g1" + transform="translate(-3.9648795,-8.98372)" + inkscape:export-filename="api_reference.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96"> + <path + d="m 87.872964,54.40217 c -0.159809,0 -0.279676,-0.119869 -0.279676,-0.319631 v -5.154048 c 0,-0.279676 -0.199773,-0.5194 -0.479447,-0.5194 h -6.95197 c -0.279679,0 -0.479448,0.239724 -0.479448,0.5194 v 3.835571 c 0,0.159809 -0.119868,0.31963 -0.279676,0.31963 -0.159809,0 -0.279678,-0.119868 -0.279678,-0.31963 v -3.835571 c 0,-0.639261 0.479447,-1.158661 1.038802,-1.158661 h 6.95197 c 0.559354,0 1.038802,0.5194 1.038802,1.158661 v 5.154048 c 0,0.15981 -0.15981,0.319631 -0.279679,0.319631 z" + id="path1-3" + style="overflow:hidden;fill:#333333;fill-opacity:1;stroke-width:0.015607" /> + <path + d="m 80.920994,49.927338 h 5.433724 c 0.15981,0 0.279678,-0.15981 0.279678,-0.319631 0,-0.15981 -0.119868,-0.319631 -0.279678,-0.319631 h -5.433724 c -0.15981,0 -0.279679,0.15981 -0.279679,0.319631 0,0.15981 0.119869,0.319631 0.279679,0.319631 z m 0,1.917786 h 5.433724 c 0.15981,0 0.279678,-0.159809 0.279678,-0.31963 0,-0.15981 -0.119868,-0.319631 -0.279678,-0.319631 h -5.433724 c -0.15981,0 -0.279679,0.15981 -0.279679,0.319631 0,0.159809 0.119869,0.31963 0.279679,0.31963 z m 3.635802,1.87783 h 1.917784 c 0.0799,0 0.119868,-0.15981 0.119868,-0.319631 0,-0.15981 -0.0799,-0.319631 -0.119868,-0.319631 h -1.917784 c -0.07991,0 -0.119869,0.15981 -0.119869,0.319631 0,0.15981 0.03994,0.319631 0.119869,0.319631 z m -4.195157,3.795618 h 0.998847 l -0.519399,-1.398387 z m 4.315018,-1.558201 h -0.439492 v 1.038802 h 0.439492 c 0.15981,0 0.279676,0 0.399538,-0.03996 0.119869,-0.03996 0.199774,-0.07991 0.239724,-0.15981 0.03994,-0.07991 0.07991,-0.15981 0.07991,-0.319631 0,-0.159809 -0.03996,-0.279676 -0.119869,-0.359585 -0.119869,-0.0799 -0.319631,-0.15981 -0.599307,-0.15981 z" + id="path2" + style="overflow:hidden;fill:#333333;fill-opacity:1;stroke-width:0.015607" /> + <path + d="M 88.632088,54.522032 H 84.157255 L 83.517994,53.603094 C 83.398125,53.403321 83.198363,53.323416 82.95864,53.323416 h -4.315016 c -0.359585,0 -0.679216,0.319631 -0.679216,0.679216 v 4.994232 c 0,0.359585 0.319631,0.679216 0.679216,0.679216 h 9.988464 c 0.359585,0 0.679216,-0.319631 0.679216,-0.679216 v -3.795616 c 0,-0.39954 -0.279676,-0.679216 -0.679216,-0.679216 z m -6.31271,4.275063 c -0.0799,0.07991 -0.159809,0.07991 -0.239723,0.07991 -0.03996,0 -0.0799,0 -0.119869,-0.03994 -0.03994,-0.03996 -0.0799,-0.03996 -0.0799,-0.07991 -0.03996,-0.03994 -0.03996,-0.0799 -0.0799,-0.15981 -0.03996,-0.0799 -0.03996,-0.119868 -0.0799,-0.199773 l -0.15981,-0.439493 h -1.35843 l -0.15981,0.439493 c -0.0799,0.159809 -0.119868,0.279676 -0.159809,0.359583 -0.03996,0.07991 -0.119869,0.07991 -0.199774,0.07991 -0.0799,0 -0.159809,-0.03996 -0.239723,-0.07991 -0.07991,-0.0799 -0.07991,-0.119869 -0.07991,-0.199774 0,-0.03996 0,-0.0799 0.03996,-0.159809 0,-0.03996 0.03996,-0.119869 0.0799,-0.199774 l 0.878985,-2.197462 c 0.03996,-0.0799 0.03996,-0.119869 0.0799,-0.239724 0.03996,-0.0799 0.0799,-0.159809 0.119869,-0.199773 0.03996,-0.03996 0.07991,-0.119869 0.15981,-0.15981 0.0799,-0.03996 0.159809,-0.03996 0.239723,-0.03996 0.0799,0 0.15981,0 0.239721,0.03996 0.0799,0.03996 0.119869,0.07991 0.15981,0.119869 0.03996,0.03996 0.0799,0.119868 0.0799,0.199773 0.03996,0.07991 0.07991,0.15981 0.119869,0.279678 l 0.878985,2.157508 c 0.0799,0.15981 0.119868,0.279676 0.119868,0.359583 -0.119868,0.119869 -0.15981,0.199774 -0.239723,0.279679 z m 3.436033,-1.558201 c -0.199773,0.15981 -0.519402,0.279678 -0.958894,0.279678 h -0.639262 v 0.958892 c 0,0.119869 -0.03996,0.239724 -0.0799,0.319631 -0.0799,0.07991 -0.15981,0.119869 -0.239724,0.119869 -0.119869,0 -0.199773,-0.03996 -0.239724,-0.119869 -0.0799,-0.0799 -0.0799,-0.15981 -0.0799,-0.319631 v -2.597 c 0,-0.15981 0.03996,-0.239724 0.119868,-0.319631 0.0799,-0.07991 0.15981,-0.07991 0.319631,-0.07991 h 0.878985 c 0.239724,0 0.439492,0 0.599309,0.03996 0.119869,0.03996 0.239721,0.119869 0.359583,0.199774 0.119869,0.0799 0.15981,0.199773 0.239724,0.31963 0.03996,0.119869 0.0799,0.279679 0.0799,0.439493 -0.03996,0.359585 -0.119868,0.599309 -0.359583,0.759123 z m 2.197463,1.23857 c 0,0.119869 -0.03996,0.239724 -0.0799,0.319631 -0.0799,0.07991 -0.15981,0.119869 -0.239724,0.119869 -0.0799,0 -0.159809,-0.03996 -0.239721,-0.119869 -0.0799,-0.0799 -0.0799,-0.15981 -0.0799,-0.319631 v -2.636955 c 0,-0.119868 0.03996,-0.239723 0.0799,-0.31963 0.0799,-0.07991 0.15981,-0.119869 0.239721,-0.119869 0.119869,0 0.199774,0.03996 0.239724,0.119869 0.0799,0.0799 0.0799,0.159809 0.0799,0.31963 z" + id="path3" + style="overflow:hidden;fill:#333333;fill-opacity:1;stroke-width:0.015607" /> + </g> + <g + id="g8" + transform="matrix(0.03069048,0,0,0.03069048,73.229042,59.457909)" + style="fill:#333333;fill-opacity:1" + inkscape:export-filename="develoers_guide.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96">&#10; <g + id="g7" + style="fill:#333333;fill-opacity:1">&#10; <g + id="g6" + style="fill:#333333;fill-opacity:1">&#10; <path + d="m 282.895,352.367 c -2.176,-1.324 -4.072,-3.099 -5.579,-5.25 -0.696,-0.992 -1.284,-2.041 -1.771,-3.125 H 28.282 V 100.276 h 335.624 v 159.138 c 7.165,0.647 13.177,5.353 15.701,11.797 2.235,-1.225 4.726,-1.982 7.344,-2.213 1.771,-0.154 3.53,-0.044 5.236,0.293 V 39.561 c 0,-12.996 -10.571,-23.569 -23.566,-23.569 H 23.568 C 10.573,15.992 0,26.565 0,39.561 v 309.146 c 0,12.996 10.573,23.568 23.568,23.568 h 257.179 c -2.007,-4.064 -2.483,-8.652 -1.302,-13.066 0.681,-2.539 1.859,-4.855 3.45,-6.842 z m 55.13,-296.798 c 0,-4.806 3.896,-8.703 8.702,-8.703 h 8.702 c 4.807,0 8.702,3.896 8.702,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.702,8.702 h -8.702 c -4.807,0 -8.702,-3.896 -8.702,-8.702 z m -40.465,0 c 0,-4.806 3.896,-8.703 8.702,-8.703 h 8.703 c 4.807,0 8.702,3.896 8.702,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.702,8.702 h -8.703 c -4.806,0 -8.702,-3.896 -8.702,-8.702 z m -40.466,0 c 0,-4.806 3.897,-8.703 8.702,-8.703 h 8.702 c 4.807,0 8.703,3.896 8.703,8.703 v 9.863 c 0,4.806 -3.896,8.702 -8.703,8.702 h -8.702 c -4.805,0 -8.702,-3.896 -8.702,-8.702 z" + id="path1-0" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 419.875,335.77 -2.615,-14.83 c -0.353,-1.997 -2.256,-3.331 -4.255,-2.979 l -13.188,2.324 c -1.583,-3.715 -3.605,-7.195 -6.005,-10.38 l 8.614,-10.268 c 0.626,-0.744 0.931,-1.709 0.847,-2.68 -0.086,-0.971 -0.554,-1.867 -1.3,-2.494 l -11.534,-9.68 c -0.746,-0.626 -1.713,-0.93 -2.683,-0.845 -0.971,0.085 -1.867,0.552 -2.493,1.298 l -8.606,10.26 c -3.533,-1.8 -7.312,-3.188 -11.271,-4.104 V 278 c 0,-2.028 -1.645,-3.674 -3.673,-3.674 h -15.06 c -2.027,0 -3.673,1.646 -3.673,3.674 v 13.392 c -3.961,0.915 -7.736,2.304 -11.271,4.104 l -8.608,-10.259 c -1.304,-1.554 -3.62,-1.756 -5.175,-0.453 l -11.535,9.679 c -0.746,0.627 -1.213,1.523 -1.299,2.494 -0.084,0.971 0.22,1.937 0.846,2.683 l 8.615,10.266 c -2.396,3.184 -4.422,6.666 -6.005,10.38 l -13.188,-2.325 c -1.994,-0.351 -3.901,0.982 -4.255,2.979 l -2.614,14.83 c -0.169,0.959 0.05,1.945 0.607,2.744 0.561,0.799 1.41,1.342 2.37,1.511 l 13.198,2.326 c 0.215,4.089 0.927,8.045 2.073,11.812 l -11.6,6.695 c -0.844,0.485 -1.459,1.289 -1.712,2.229 -0.252,0.941 -0.119,1.943 0.367,2.787 l 7.529,13.041 c 0.485,0.844 1.289,1.459 2.229,1.711 0.313,0.084 0.632,0.125 0.951,0.125 0.639,0 1.272,-0.166 1.836,-0.492 l 11.609,-6.703 c 2.73,2.925 5.812,5.517 9.18,7.709 l -4.584,12.593 c -0.332,0.916 -0.289,1.926 0.123,2.809 0.412,0.883 1.157,1.566 2.072,1.898 l 14.148,5.149 c 0.406,0.148 0.832,0.224 1.257,0.224 0.53,0 1.063,-0.115 1.554,-0.345 0.883,-0.411 1.564,-1.157 1.897,-2.073 l 4.583,-12.593 c 1.965,0.238 3.965,0.361 5.994,0.361 2.029,0 4.029,-0.125 5.994,-0.361 l 4.584,12.593 c 0.332,0.916 1.016,1.662 1.897,2.073 0.49,0.229 1.021,0.345 1.554,0.345 0.424,0 0.85,-0.074 1.256,-0.224 l 14.15,-5.149 c 0.913,-0.332 1.659,-1.017 2.07,-1.898 0.412,-0.883 0.456,-1.893 0.123,-2.809 l -4.584,-12.591 c 3.365,-2.192 6.447,-4.786 9.18,-7.709 l 11.609,6.703 c 0.563,0.324 1.197,0.492 1.836,0.492 0.318,0 0.64,-0.043 0.951,-0.125 0.941,-0.252 1.743,-0.869 2.229,-1.711 l 7.529,-13.043 c 0.486,-0.842 0.619,-1.846 0.367,-2.787 -0.253,-0.938 -0.868,-1.742 -1.712,-2.229 l -11.598,-6.693 c 1.146,-3.768 1.856,-7.724 2.071,-11.812 l 13.198,-2.327 c 0.96,-0.169 1.812,-0.712 2.37,-1.511 0.579,-0.8 0.798,-1.786 0.629,-2.745 z m -65.691,23.566 c -11.155,0 -20.2,-9.045 -20.2,-20.201 0,-11.156 9.046,-20.2 20.2,-20.2 11.156,0 20.201,9.044 20.201,20.2 0,11.156 -9.045,20.201 -20.201,20.201 z" + id="path2-0" + style="fill:#333333;fill-opacity:1" /> +&#10; <g + id="g5" + style="fill:#333333;fill-opacity:1">&#10; <path + d="m 164.695,235.373 c 0,-4.752 -2.785,-9.117 -7.096,-11.119 L 118.144,205.922 157.6,187.588 c 4.31,-2.004 7.095,-6.368 7.095,-11.118 v -0.319 c 0,-4.21 -2.119,-8.075 -5.665,-10.334 -1.962,-1.253 -4.247,-1.916 -6.606,-1.916 -1.778,0 -3.563,0.391 -5.16,1.133 l -63.078,29.333 c -4.309,2.004 -7.092,6.368 -7.092,11.117 v 0.877 c 0,4.743 2.782,9.104 7.093,11.118 l 63.084,29.336 c 1.631,0.755 3.368,1.138 5.162,1.138 2.338,0 4.616,-0.664 6.597,-1.924 3.548,-2.268 5.666,-6.13 5.666,-10.335 z" + id="path3-3" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 226.932,134.012 c -2.301,-3.15 -6.002,-5.03 -9.901,-5.03 h -0.314 c -5.354,0 -10.048,3.425 -11.679,8.516 l -41.56,128.772 c -1.183,3.718 -0.517,7.813 1.781,10.962 2.301,3.148 6.002,5.029 9.901,5.029 h 0.315 c 5.352,0 10.043,-3.426 11.672,-8.516 l 41.555,-128.762 c 1.194,-3.715 0.532,-7.816 -1.77,-10.971 z" + id="path4" + style="fill:#333333;fill-opacity:1" /> +&#10; <path + d="m 308.001,194.366 -63.079,-29.333 c -1.592,-0.74 -3.374,-1.131 -5.152,-1.131 -2.358,0 -4.644,0.661 -6.605,1.912 -3.552,2.263 -5.671,6.127 -5.671,10.337 v 0.319 c 0,4.746 2.783,9.111 7.097,11.123 l 39.454,18.33 -39.455,18.331 c -4.311,2.002 -7.096,6.367 -7.096,11.119 v 0.321 c 0,4.205 2.119,8.066 5.669,10.336 1.974,1.258 4.254,1.923 6.595,1.923 1.792,0 3.527,-0.383 5.169,-1.141 l 63.082,-29.336 c 4.307,-2.009 7.088,-6.371 7.088,-11.114 v -0.877 c -0.003,-4.75 -2.786,-9.114 -7.096,-11.119 z" + id="path5" + style="fill:#333333;fill-opacity:1" /> +&#10; </g> +&#10; </g> +&#10; </g> +&#10;</g> + </g> +</svg> diff --git a/docs/source/_static/light.png b/docs/source/_static/light.png new file mode 100644 index 0000000000000000000000000000000000000000..ca60545f18966fe351a6ccf77d4ea3e28ec26838 GIT binary patch literal 70870 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 F{{Rn<71IC! literal 0 HcmV?d00001 diff --git a/docs/source/_static/user_guide.svg b/docs/source/_static/user_guide.svg new file mode 100644 index 0000000..928fa99 --- /dev/null +++ b/docs/source/_static/user_guide.svg @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="15.170234mm" + height="11.906258mm" + viewBox="0 0 15.170234 11.906258" + version="1.1" + id="svg1" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + sodipodi:docname="icons.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + inkscape:zoom="2.0686842" + inkscape:cx="212.21219" + inkscape:cy="304.29971" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="296" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs1" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-19.471486,-60.491343)"> + <path + d="m 20.95296,69.56676 q 0.02469,-4.288848 0.04815,-8.565355 a 0.39629251,0.39629251 0 0 1 0.322218,-0.386412 v 0 c 1.037026,-0.216044 2.671578,-0.161715 3.781446,0.264202 a 4.3777361,4.3777361 0 0 1 1.975288,1.438256 4.6098324,4.6098324 0 0 1 1.975287,-1.376528 c 1.048144,-0.399999 2.63825,-0.49629 3.777743,-0.32593 a 0.39505795,0.39505795 0 0 1 0.341974,0.38765 v 0 8.599918 a 0.39629251,0.39629251 0 0 1 -0.398759,0.395075 0.43086009,0.43086009 0 0 1 -0.09136,-0.01116 6.5987025,6.5987025 0 0 0 -2.895035,0.270364 8.7653485,8.7653485 0 0 0 -1.946893,1.019745 8.529548,8.529548 0 0 1 2.622199,-0.382708 15.483802,15.483802 0 0 1 3.383912,0.429621 V 62.32358 h 0.396297 a 0.39629251,0.39629251 0 0 1 0.396292,0.396296 v 9.122136 a 0.39629251,0.39629251 0 0 1 -0.396292,0.396286 0.39258883,0.39258883 0 0 1 -0.123458,-0.02094 15.03319,15.03319 0 0 0 -3.662925,-0.534567 7.6406678,7.6406678 0 0 0 -3.180219,0.649378 0.41851452,0.41851452 0 0 1 -0.449376,0 7.6369642,7.6369642 0 0 0 -3.180218,-0.649378 15.03319,15.03319 0 0 0 -3.654287,0.537033 0.39258883,0.39258883 0 0 1 -0.123454,0.02094 0.39629251,0.39629251 0 0 1 -0.399997,-0.398762 v -9.122136 a 0.39629251,0.39629251 0 0 1 0.396291,-0.396295 h 0.396292 v 8.999917 a 15.483802,15.483802 0 0 1 3.383919,-0.429621 8.4986841,8.4986841 0 0 1 2.803677,0.440724 6.0122882,6.0122882 0 0 0 -1.918496,-1.041951 c -0.864193,-0.283959 -2.182699,-0.379013 -3.146886,-0.2963 a 0.39629251,0.39629251 0 0 1 -0.43333,-0.361723 0.61727804,0.61727804 0 0 1 0,-0.06793 z m 7.609805,-1.124673 a 0.28394791,0.28394791 0 1 1 -0.30864,-0.475306 6.3530257,6.3530257 0 0 1 1.456776,-0.666659 6.6332699,6.6332699 0 0 1 1.60492,-0.329626 0.28313423,0.28313423 0 1 1 0.03084,0.565426 6.1011762,6.1011762 0 0 0 -1.455542,0.303699 5.7690806,5.7690806 0 0 0 -1.32838,0.602466 z m 0.02467,-2.192571 a 0.28306634,0.28306634 0 0 1 -0.303698,-0.47778 6.5073451,6.5073451 0 0 1 1.449369,-0.65431 6.6814179,6.6814179 0 0 1 1.577761,-0.323447 0.28394791,0.28394791 0 0 1 0.03084,0.566655 6.0863615,6.0863615 0 0 0 -1.435792,0.2963 5.9258693,5.9258693 0 0 0 -1.318506,0.592582 z m 0.0074,-2.18517 a 0.28410927,0.28410927 0 1 1 -0.303703,-0.480246 6.4863578,6.4863578 0 0 1 1.446902,-0.650598 6.6308011,6.6308011 0 0 1 1.572824,-0.320998 0.28313788,0.28313788 0 1 1 0.03084,0.565435 6.0925343,6.0925343 0 0 0 -1.430851,0.295062 5.9147583,5.9147583 0 0 0 -1.316035,0.591345 z m -2.735777,3.902435 a 0.28394791,0.28394791 0 1 1 -0.30864,0.475306 5.7690806,5.7690806 0 0 0 -1.323442,-0.602466 6.1011762,6.1011762 0 0 0 -1.455543,-0.303699 0.28320417,0.28320417 0 1 1 0.03333,-0.565426 6.6332699,6.6332699 0 0 1 1.604921,0.329626 6.3530257,6.3530257 0 0 1 1.456778,0.666659 z m -0.02963,-2.195045 a 0.28440008,0.28440008 0 0 1 -0.308642,0.47778 5.9258693,5.9258693 0 0 0 -1.318505,-0.592582 6.0863615,6.0863615 0 0 0 -1.435786,-0.2963 0.28397635,0.28397635 0 0 1 0.03826,-0.566655 6.6814179,6.6814179 0 0 1 1.577759,0.323447 6.5073451,6.5073451 0 0 1 1.44937,0.65431 z m -0.0074,-2.187636 a 0.28394791,0.28394791 0 1 1 -0.301235,0.480246 5.9147583,5.9147583 0 0 0 -1.316038,-0.591345 6.0925343,6.0925343 0 0 0 -1.430849,-0.295062 0.28313788,0.28313788 0 1 1 0.03084,-0.565435 6.6308011,6.6308011 0 0 1 1.572824,0.320998 6.4863578,6.4863578 0 0 1 1.4469,0.650598 z m 6.557959,-2.228362 c -0.916043,-0.08645 -2.229607,0.0148 -3.053054,0.327151 a 3.7036684,3.7036684 0 0 0 -1.867886,1.458012 v 7.439435 a 9.4764522,9.4764522 0 0 1 2.064177,-1.069125 7.759185,7.759185 0 0 1 2.856763,-0.354315 z m -5.713523,9.148054 V 63.129789 C 26.251654,62.397706 25.58129,61.908815 24.823273,61.618694 23.95908,61.28906 22.631934,61.215 21.791201,61.334743 l -0.04447,7.846842 c 0.917273,-0.03332 2.183929,0.08394 3.027129,0.359257 a 6.7826513,6.7826513 0 0 1 1.892577,0.96295 z" + id="path1-46" + style="fill:#333333;fill-opacity:1;stroke-width:0.123455" + inkscape:export-filename="api_reference.svg" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" /> + </g> +</svg> diff --git a/docs/source/_templates/navbar-logo.html b/docs/source/_templates/navbar-logo.html new file mode 100644 index 0000000..bf0c3b0 --- /dev/null +++ b/docs/source/_templates/navbar-logo.html @@ -0,0 +1,37 @@ +{# Displays the logo of your documentation site, in the header navbar. #} +{# Logo link generation -#} +{% if theme_logo_link %} + {% set href = theme_logo_link %} +{% else %} + {% if not theme_logo.get("link") %} + {% set href = pathto(root_doc) %} + {% elif hasdoc(theme_logo.get("link")) %} + {% set href = pathto(theme_logo.get("link")) %} {# internal page #} + {% else %} + {% set href = theme_logo.get("link") %} {# external url #} + {% endif %} +{% endif %} + +{#- Logo HTML and image #} +<a class="navbar-brand logo" href="{{ href }}"> + {# get all the brand information from html_theme_option #} + {% set is_logo = "light" in theme_logo["image_relative"] %} + {# use alt_text if given. If not, only add alt text if no additional branding text given. #} + {% set alt = theme_logo.get("alt_text", "" if theme_logo.get("text") else "%s - Home" % docstitle) %} + {% if is_logo %} + {# + Theme switching is only available when JavaScript is enabled. + We thus adds elements that should be present only when javscipt is + enabled with a pst-js-only class + #} + {% if default_mode is undefined or default_mode == "auto" %} + {% set default_mode = "light" %} + {% endif %} + {% set js_mode = "light" if default_mode == "dark" else "dark" %} + <img src="{{ theme_logo['image_relative'][default_mode] }}" class="logo__image only-{{ default_mode }}" alt="{{ alt }}"/> + <img src="{{ theme_logo['image_relative'][js_mode] }}" class="logo__image only-{{ js_mode }} pst-js-only" alt="{{ alt }}"/> + {% endif %} + {% if not is_logo or theme_logo.get("text") %} + <p class="title logo__title">thevenin</p> + {% endif %} +</a> \ No newline at end of file diff --git a/docs/source/api/index.rst b/docs/source/api/index.rst new file mode 100644 index 0000000..bb8d98a --- /dev/null +++ b/docs/source/api/index.rst @@ -0,0 +1,11 @@ +API Reference +============= + +This page contains auto-generated API reference documentation [#f1]_. + +.. toctree:: + :titlesonly: + + /api/thevenin/index + +.. [#f1] Created with `sphinx-autoapi <https://github.com/readthedocs/sphinx-autoapi>`_ \ No newline at end of file diff --git a/docs/source/api/thevenin/index.rst b/docs/source/api/thevenin/index.rst new file mode 100644 index 0000000..6350918 --- /dev/null +++ b/docs/source/api/thevenin/index.rst @@ -0,0 +1,740 @@ +thevenin +======== + +.. py:module:: thevenin + +.. autoapi-nested-parse:: + + .. rubric:: Summary + + The Thevenin equivalent circuit model is a common low-fidelity battery model + consisting of a single resistor in series with any number of RC pairs, i.e., + parallel resistor-capacitor pairs. This Python package contains an API for + building and running experiments using Thevenin models. + + .. rubric:: Accessing the documentation + + Documentation is accessible via Python's ``help()`` function which prints + docstrings from a package, module, function, class, etc. You can also access + the documentation by visiting the website, hosted through GitHub pages. The + website includes search functionality and more detailed examples. + + + +Subpackages +----------- + +.. toctree:: + :maxdepth: 1 + + /api/thevenin/loadfns/index + /api/thevenin/plotutils/index + + +Classes +------- + +.. autoapisummary:: + + thevenin.CycleSolution + thevenin.Experiment + thevenin.IDASolver + thevenin.Model + thevenin.StepSolution + + +Package Contents +---------------- + +.. py:class:: CycleSolution(*soln) + + + + All-step solution. + + A solution instance with all experiment steps stitch together into + a single cycle. + + :param \*soln: All unpacked StepSolution instances to stitch together. The given + steps should be given in the same sequential order that they were + run. + :type \*soln: StepSolution + + + .. py:method:: get_steps(idx) + + Return a subset of the solution. + + :param idx: The step index (int) or first/last indices (tuple) to return. + :type idx: int | tuple + + :returns: **soln** (*StepSolution | CycleSolution*) -- The returned solution subset. A StepSolution is returned if 'idx' + is an int, and a CycleSolution will be returned for the range of + requested steps when 'idx' is a tuple. + + + + .. py:method:: plot(x, y, **kwargs) + + Plot any two variables in 'vars' against each other. + + :param x: A variable key in 'vars' to be used for the x-axis. + :type x: str + :param y: A variable key in 'vars' to be used for the y-axis. + :type y: str + + :returns: *None.* + + + + .. py:property:: errors + :type: bool | tuple + + Details regarding whether or not an error stopped the solver. + + :returns: **errors** (*bool | tuple*) -- If an error stopped the solver, this value will be a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the error was triggered. If an error did not + stop the solver, this value will be False. + + + .. py:property:: message + :type: str + + Readable solver exit message. + + :returns: **message** (*str*) -- Exit message from the IDASolver. + + + .. py:property:: roots + :type: bool | tuple + + Details regarding whether or not a rootfn stopped the solver. + + :returns: **roots** (*bool | tuple*) -- If a rootfn stopped the solver, this value will be a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the root function was triggered. If a root did + not stop the solver, this value will be False. + + + .. py:property:: solvetime + :type: str + + Print a statement specifying how long IDASolver spent integrating. + + :returns: **solvetime** (*str*) -- An f-string with the total solver integration time in seconds. + + + .. py:property:: success + :type: bool + + Overall solver exit status. + + :returns: **success** (*bool*) -- True if no errors, False otherwise. + + + .. py:property:: t + :type: numpy.ndarray + + Saved solution times. + + :returns: **t** (*1D np.array*) -- Solution times [s]. + + + .. py:property:: tstop + :type: bool | tuple + + Details regarding whether or not the tstop option stopped the solver. + + :returns: **tstop** (*bool | tuple*) -- If the tstop option stopped the solver, this value is a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the tstop function was triggered. If tstop did + not stop the solver, this value will be False. + + + .. py:property:: y + :type: numpy.ndarray + + Solution variables [units]. Rows correspond to solution times and + columns to state variables, in the same order as y0. + + :returns: **y** (*2D np.array*) -- Solution variables [units]. + + + .. py:property:: ydot + :type: numpy.ndarray + + Solution variable time derivatives [units/s]. Rows and columns share + the same organization as y. + + :returns: **ydot** (*2D np.array*) -- Solution variable time derivatives [units/s]. + + +.. py:class:: Experiment(**kwargs) + + Experiment builder. + + A class to define an experimental protocol. Use the add_step() method + to add a series of sequential steps. Each step defines a control mode, + a constant or time-dependent load profile, a time span, and optional + limiting criteria to stop the step early if a specified event/state is + detected. + + :param kwargs: IDASolver keyword arguments that will span all steps. + :type kwargs: dict, optional + + .. seealso:: + + :obj:`~thevenin.IDASolver` + The solver class, with documentation for most keyword arguments that you might want to adjust. + + + .. py:method:: add_step(mode, value, tspan, limits = None, **kwargs) + + Add a step to the experiment. + + :param mode: Control mode, from {'current_A', 'voltage_V', 'power_W'}. + :type mode: str + :param value: Value of boundary contion in the appropriate units. + :type value: float | Callable + :param tspan: Relative times for recording solution [s]. Providing a tuple as + (t_max: float, Nt: int) or (t_max: float, dt: float) constructs + tspan using ``np.linspace`` or ``np.arange``, respectively. See + the notes for more information. + :type tspan: tuple + :param limits: Stopping criteria for the new step, must be entered in sequential + name/value pairs. Allowable names are {'soc', 'temperature_K', + 'current_A', 'voltage_V', 'power_W', 'capacity_Ah', 'time_s', + 'time_min', 'time_h'}. Values for each limit should immediately + follow a corresponding name and be the appropriate units. All of + the time limits represent the total experiment time. The default + is None. + :type limits: tuple[str, float], optional + :param \*\*kwargs: IDASolver keyword arguments specific to the new step only. + :type \*\*kwargs: dict, optional + + :returns: *None.* + + :raises ValueError: 'mode' is invalid. + :raises ValueError: A 'limits' name is invalid. + :raises ValueError: 'tspan' tuple must be length 2. + :raises TypeError: 'tspan[1]' must be type int or float. + + .. seealso:: + + :obj:`~thevenin.IDASolver` + The solver class, with documentation for most keyword arguments that you might want to adjust. + + .. rubric:: Notes + + For time-dependent loads, use a Callable for 'value' with a function + signature like def load(t: float) -> float, where t is the step's + relative time, in seconds. + + The solution times array is constructed depending on the 'tspan' + input types: + + * Given (float, int): + ``tspan = np.linspace(0., tspan[0], tspan[1])`` + * Given (float, float): + ``tspan = np.arange(0., tspan[0], tspan[1])`` + + In this case, 't_max' is also appended to the end. This results + in the final 'dt' being different from the others if 't_max' is + not evenly divisible by the given 'dt'. + + + + .. py:method:: print_steps() + + Prints a formatted/readable list of steps. + + :returns: *None.* + + + + .. py:property:: num_steps + :type: int + + Return number of steps. + + :returns: **num_steps** (*int*) -- Number of steps. + + + .. py:property:: steps + :type: list[dict] + + Return steps list. + + :returns: **steps** (*list[dict]*) -- List of the step dictionaries. + + +.. py:class:: IDASolver(residuals, **kwargs) + + ODE/DAE solver. + + This solver supports first-order ODEs and DAEs. The solver requires the + problem to be written in terms of a residual function, with a signature + ``def residuals(t, y, yp, res, inputs) -> None``. Instead of a return + value, the function fills ``res`` (a 1D array sized like ``y``) with + expressions from the system of equations, ``res = M(y)*yp - f(t, y)``. + Here, ``t`` is time, ``y`` is an array of dependent solution variables, + and ``yp`` are time derivatives of ``y``. The ``inputs`` argument allows + the user to pass any additional parameters to the residuals function. + + :param residuals: Function like ``def residuals(t, y, yp, res, inputs) -> None``. + :type residuals: Callable + :param \*\*kwargs: Keywords, descriptions, and defaults given below. + + =========== ================================================= + Key Description (*type* or {options}, default) + =========== ================================================= + atol absolute tolerance (*float*, 1e-6) + rtol relative tolerance (*float*, 1e-5) + inputs optional residual arguments (*tuple*, None) + linsolver linear solver ({'dense', 'band'}, 'dense') + lband residual function's lower bandwidth (*int*, 0) + uband residual function's upper bandwidth (*int*, 0) + rootfn root/event function (*Callable*, None) + nr_rootfns number of events in rootfn (*int*, 0) + initcond uncertain t0 values ({'y0', 'yp0', None}, 'yp0') + algidx algebraic variable indices (*list[int]*, None) + max_dt maximum allowable integration step (*float*, 0.) + tstop maximum integration time (*float*, None) + =========== ================================================= + :type \*\*kwargs: dict, optional + + .. rubric:: Notes + + * IDA stands for Implicit Differential Algebraic solver. The solver is + accessed through `scikits-odes`_, a Python wrapper for `SUNDIALS`_. + * Not setting ``algidx`` for DAEs will likely result in an instability. + * For unrestricted integration steps, use ``max_dt = 0.``. + * Root functions require a signature like ``def rootfn(t, y, yp, events, + inputs) -> None``. Instead of a return value, the function fills the + ``events`` argument (a 1D array with size equal to the number of events + to track). If any ``events`` index equals zero during integration, the + solver will exit. + * If setting ``rootfn``, you also need to set ``nr_rootfns`` to allocate + memory for the correct number of expressions (i.e., ``events.size``). + + .. _SUNDIALS: https://sundials.readthedocs.io/ + .. _scikits-odes: https://bmcage.github.io/odes/dev/ + + .. rubric:: Examples + + The following demonstrates solving a system of ODEs. For ODEs, derivative + expressions ``yp`` can be written for each ``y``. Therefore, we can write + each residual as ``res[i] = yp[i] - f(t, y)`` where ``f(t, y)`` is an + expression for the derivative in terms of ``t`` and ``y``. + + Note that even though the solver requires knowing the initial derivatives, + we set ``yp0 = np.zeros_like(y0)``, which are not true ``yp0`` values. The + default option ``initcond='yp0'`` solves for the correct ``yp0`` values + before starting the integration. + + .. code-block:: python + + import thevenin + import numpy as np + import matplotlib.pyplot as plt + + def residuals(t, y, yp, res): + res[0] = yp[0] - y[1] + res[1] = yp[1] - 1e3*(1. - y[0]**2)*y[1] + y[0] + + solver = thevenin.IDASolver(residuals) + + y0 = np.array([0.5, 0.5]) + yp0 = np.zeros_like(y0) + tspan = np.linspace(0., 500., 200) + + solution = solver.solve(tspan, y0, yp0) + + plt.plot(solution.t, solution.y) + plt.show() + + The next problem solves a DAE system. DAEs arise when systems of governing + equations contain both ODEs and algebraic constraints. + + To solve a DAE, you should specify the ``y`` indices that store algebraic + variables. In other words, for which ``y`` can you not write a ``yp`` + expression? In the example below, we have ``yp[0]`` and ``yp[1]`` filling + the first two residual expressions. However, ``yp[2]`` does not appear in + any of the residuals. Therefore, ``y[2]`` is an algebraic variable, and we + tell this to the solver using the keyword argument ``algidx=[2]``. Even + though we only have one algebraic variable, this option input must be a + list of integers. + + As in the ODE example, we let the solver determine the ``yp0`` values + that provide a consistent initial condition. Prior to plotting, ``y[1]`` + is scaled for visual purposes. You can see the same example provided by + `MATLAB`_. + + .. code-block:: python + + import thevenin + import numpy as np + import matplotlib.pyplot as plt + + def residuals(t, y, yp, res): + res[0] = yp[0] + 0.04*y[0] - 1e4*y[1]*y[2] + res[1] = yp[1] - 0.04*y[0] + 1e4*y[1]*y[2] + 3e7*y[1]**2 + res[2] = y[0] + y[1] + y[2] - 1. + + solver = thevenin.IDASolver(residuals, algidx=[2]) + + y0 = np.array([1., 0., 0.]) + yp0 = np.zeros_like(y0) + tspan = np.hstack([0., 4.*np.logspace(-6, 6)]) + + solution = solver.solve(tspan, y0, yp0) + + solution.y[:, 1] *= 1e4 + + plt.semilogx(solution.t, solution.y) + plt.show() + + .. _MATLAB: + https://mathworks.com/help/matlab/math/ + solve-differential-algebraic-equations-daes.html + + + .. py:method:: init_step(t0, y0, ydot0) + + Solve for a consistent initial condition. + + :param t0: Initial time [s]. + :type t0: float + :param y0: State variables at t0. + :type y0: 1D np.array + :param yp0: State variable time derivatives at t0. + :type yp0: 1D np.array + + :returns: **solution** (*SolverReturn*) -- Solution at time t0. + + + + .. py:method:: solve(tspan, y0, ydot0) + + Solve the system over 'tspan'. + + :param tspan: Times [s] to store the solution. + :type tspan: 1D np.array + :param y0: State variables at tspan[0]. + :type y0: 1D np.array + :param yp0: State variable time derivatives at tspan[0]. + :type yp0: 1D np.array + + :returns: **solution** (*SolverReturn*) -- Solution at times in tspan. + + + + .. py:method:: step(t) + + Solve for a successive time step. + + Before calling step() for the first time, call init_step() to + initialize the solver at 't0'. + + :param t: Solution step time [s]. Can be higher or lower than the previous + time, however, significantly lower values may return errors. + :type t: float + + :returns: **solution** (*SolverReturn*) -- Solution at time t. + + + +.. py:class:: Model(params = 'params.yaml') + + Circuit model. + + A class to construct and run the model. Provide the parameters using + either a dictionary or a '.yaml' file. Note that the number of Rj and + Cj attributes must be consistent with the num_RC_pairs value. See the + notes for more information on the callable parameters. + + :param params: Mapping of model parameter names to their values. Can be either + a dict or absolute/relateive file path to a yaml file (str). The + keys/value pair descriptions are given below. The default uses a + .yaml file. Use the templates() function to view this file. + + ============= ========================================= + Key Value (*type*, units) + ============= ========================================= + num_RC_pairs number of RC pairs (*int*, -) + soc0 initial state of charge (*float*, -) + capacity maximum battery capacity (*float*, Ah) + mass total battery mass (*float*, kg) + isothermal flag for isothermal model (*bool*, -) + Cp specific heat capacity (*float*, J/kg/K) + T_inf room/air temperature (*float*, K) + h_therm convective coefficient (*float*, W/m2/K) + A_therm heat loss area (*float*, m2) + ocv open circuit voltage (*callable*, V) + R0 series resistance (*callable*, Ohm) + Rj resistance in RCj (*callable*, Ohm) + Cj capacity in RCj (*callable*, F) + ============= ========================================= + :type params: dict | str + + :raises TypeError: 'params' must be type dict or str. + :raises ValueError: 'params' contains invalid and/or excess key/value pairs. + + .. warning:: + + A pre-processor runs at the end of the model initialization. If you + modify any parameters after class instantiation, you will need to + manually re-run the pre-processor (i.e., the pre() method) afterward. + + .. rubric:: Notes + + The ocv property should have a signature like f(soc: float) -> float, + where soc is the time-dependent state of charged solved for within + the model. All R0, Rj, and Cj properties should have signatures like + f(soc: float, T_cell: float) -> float, where T_cell is the temperature + in K determined in the model. + + Rj and Cj are not true property names. These are just used generally + in the documentation. If num_RC_pairs=1 then in addition to R0, you + should define R1 and C1. If num_RC_pairs=2 then you should also give + values for R2 and C2, etc. For the special case where num_RC_pairs=0, + you should not provide any resistance or capacitance values besides + the series resistance R0, which is always required. + + + .. py:method:: pre() + + Pre-process and prepare the model for running experiments. + + This method builds solution pointers, registers algebraic variable + indices, stores the mass matrix, and initializes the battery state. + + :returns: *None.* + + .. warning:: + + This method runs the first time during the class initialization. It + generally does not have to be run again unless you modify any model + attributes. You should manually re-run the pre-processor if you alter + any properties after initialization. Forgetting to manually re-run the + pre-processor may cause inconsistencies between the updated properties + and the model's pointers, state, etc. + + + + .. py:method:: residuals(t, sv, svdot, inputs) + + Return the DAE residuals. + + The DAE residuals should be near zero at each time step. The solver + requires the DAE to be written in terms of its residuals in order to + minimize their values. + + :param t: Value of time [s]. + :type t: float + :param sv: State variables at time t. + :type sv: 1D np.array + :param svdot: State variable time derivatives at time t. + :type svdot: 1D np.array + :param inputs: Dictionary detailing an experimental step. + :type inputs: dict + + :returns: **res** (*1D np.array*) -- DAE residuals, res = M*ydot - rhs(t, y). + + + + .. py:method:: rhs_funcs(t, sv, inputs) + + Right hand side functions. + + Returns the right hand side for the DAE system. For any differential + variable i, rhs[i] must be equivalent to M[i, i]*y[i]. For algebraic + variables rhs[i] must be an expression that equals zero. + + :param t: Value of time [s]. + :type t: float + :param sv: State variables at time t. + :type sv: 1D np.array + :param inputs: Dictionary detailing an experimental step. + :type inputs: dict + + :returns: **rhs** (*1D np.array*) -- The right hand side values of the DAE system. + + + + .. py:method:: run(exp) + + Run an experiment. + + :param exp: An experiment instance. + :type exp: Experiment + + :returns: **soln** (*CycleSolution*) -- A stitched solution will all experimental steps. + + .. seealso:: + + :obj:`Experiment` + Build an experiment. + + :obj:`CycleSolution` + Wrapper for an all-steps solution. + + + + .. py:method:: run_step(exp, stepidx) + + Run a single experimental step. + + :param exp: An experiment instance. + :type exp: Experiment + :param stepidx: Step index to run. The first step has index 0. + :type stepidx: int + + :returns: **soln** (*StepSolution*) -- Solution to the experiment step. + + .. warning:: + + The model's internal state is changed at the end of each experiment + step. Consequently, you should not run steps out of order. You should + always start with ``stepidx = 0`` and then progress to the subsequent + steps afterward. After the last step, you should manually run the + preprocessor ``pre()`` to reset the model before running additional + experiments. + + .. seealso:: + + :obj:`Experiment` + Build an experiment. + + :obj:`StepSolution` + Wrapper for a single-step solution. + + .. rubric:: Notes + + Using the ``run()`` method will automatically run all steps in an + experiment and will stitch the solutions together for you. You should + only run step by step if you trying to fine tune solver options, or + if you have a complex protocol and you can't set an experimental step + until interpreting a previous step. + + + +.. py:class:: StepSolution(model, ida_soln, timer) + + + + Single-step solution. + + A solution instance for a single experimental step. + + :param model: The model instance that was run to produce the solution. + :type model: Model + :param ida_soln: The unformatted solution returned by IDASolver. + :type ida_soln: SolverReturn + :param timer: Amount of time it took for IDASolver to perform the integration. + :type timer: float + + + .. py:method:: plot(x, y, **kwargs) + + Plot any two variables in 'vars' against each other. + + :param x: A variable key in 'vars' to be used for the x-axis. + :type x: str + :param y: A variable key in 'vars' to be used for the y-axis. + :type y: str + + :returns: *None.* + + + + .. py:property:: errors + :type: bool | tuple + + Details regarding whether or not an error stopped the solver. + + :returns: **errors** (*bool | tuple*) -- If an error stopped the solver, this value will be a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the error was triggered. If an error did not + stop the solver, this value will be False. + + + .. py:property:: message + :type: str + + Readable solver exit message. + + :returns: **message** (*str*) -- Exit message from the IDASolver. + + + .. py:property:: roots + :type: bool | tuple + + Details regarding whether or not a rootfn stopped the solver. + + :returns: **roots** (*bool | tuple*) -- If a rootfn stopped the solver, this value will be a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the root function was triggered. If a root did + not stop the solver, this value will be False. + + + .. py:property:: solvetime + :type: str + + Print a statement specifying how long IDASolver spent integrating. + + :returns: **solvetime** (*str*) -- An f-string with the solver integration time in seconds. + + + .. py:property:: success + :type: bool + + Overall solver exit status. + + :returns: **success** (*bool*) -- True if no errors, False otherwise. + + + .. py:property:: t + :type: numpy.ndarray + + Saved solution times. + + :returns: **t** (*1D np.array*) -- Solution times [s]. + + + .. py:property:: tstop + :type: bool | tuple + + Details regarding whether or not the tstop option stopped the solver. + + :returns: **tstop** (*bool | tuple*) -- If the tstop option stopped the solver, this value is a tuple. The + first argument will be True, and the second argument will provide + the index within t, y, and ydot that stores the values of time + and solution when the tstop function was triggered. If tstop did + not stop the solver, this value will be False. + + + .. py:property:: y + :type: numpy.ndarray + + Solution variables [units]. Rows correspond to solution times and + columns to state variables, in the same order as y0. + + :returns: **y** (*2D np.array*) -- Solution variables [units]. + + + .. py:property:: ydot + :type: numpy.ndarray + + Solution variable time derivatives [units/s]. Rows and columns share + the same organization as y. + + :returns: **ydot** (*2D np.array*) -- Solution variable time derivatives [units/s]. + + diff --git a/docs/source/api/thevenin/loadfns/index.rst b/docs/source/api/thevenin/loadfns/index.rst new file mode 100644 index 0000000..d4f1a19 --- /dev/null +++ b/docs/source/api/thevenin/loadfns/index.rst @@ -0,0 +1,149 @@ +thevenin.loadfns +================ + +.. py:module:: thevenin.loadfns + +.. autoapi-nested-parse:: + + Load Functions + -------------- + This module contains classes to help construct time-varying load profiles. + All of the classes are callable after construction and take in a value of + time in seconds. Most load functions include a linear ramp that "smooths" + transitions from rest to a constant load, or between constant steps. Using + ramps helps the solver maintain stability when a boundary condition sharply + changes from one value to another, e.g., jumping from rest into a high-rate + charge or discharge. For example, in some cases the solver may crash for a + high-rate discharge. + + + +Classes +------- + +.. autoapisummary:: + + thevenin.loadfns.Ramp + thevenin.loadfns.Ramp2Constant + thevenin.loadfns.RampedSteps + thevenin.loadfns.StepFunction + + +Package Contents +---------------- + +.. py:class:: Ramp(m, b = 0.0) + + Linearly ramping load. + + A load profile that continuously ramps with slope m. + + :param m: Slope [units/s]. + :type m: float + :param b: Y-intercept [units]. The default is 0. + :type b: float, optional + + +.. py:class:: Ramp2Constant(m, step, b = 0.0, sharpness = 100.0) + + Ramp to a constant load. + + A load profile that ramps with slope m unil the constant step value + is reached, after which, the load is equal to the step constant. A + sigmoid is used to smooth the transition between the two piecewise + functions. Use a large 'sharpness' to reduce smoothing effects. + + :param m: Slope [units/s]. + :type m: float + :param step: Constant step value [units]. + :type step: float + :param b: Y-intercept [units]. The default is 0. + :type b: float, optional + :param sharpness: How sharp to make the transition between the ramp and step. Low + values will smooth the transition more. The default is 100. + :type sharpness: float, optional + + :raises ValueError: m = 0. and m = inf are invalid slopes. + :raises ValueError: Cannot reach step with m > 0. and b >= step. + :raises ValueError: Cannot reach step with m < 0. and b <= step. + :raises ValueError: 'sharpness' must be strictly positive. + + +.. py:class:: RampedSteps(tp, yp, t_ramp, y0 = 0.0) + + Step function with ramps. + + This class acts like StepFunction, with the same tp, yp, and y0, but + step transitions include ramps with duration t_ramp. Generally, this + profile will be more stable compared to a StepFunction profile. + + :param tp: Times at which a step change occurs [seconds]. + :type tp: 1D np.array + :param yp: Constant values for each time interval. + :type yp: 1D np.array + :param t_ramp: Ramping time between step transitions [seconds]. + :type t_ramp: float + :param y0: Value to return when t < tp[0]. In addition to standard float + values, np.nan and np.inf are supported. The default is 0. + :type y0: float + + :raises ValueError: tp and yp must both be 1D. + :raises ValueError: tp and yp must be same size. + :raises ValueError: t_ramp must be strictly positive. + :raises ValueError: tp must be strictly increasing. + + .. seealso:: + + :obj:`StepFunction` + Uses hard discontinuous steps rather than ramped steps. Generally non-ideal for simulations, but may be useful elsewhere. + + +.. py:class:: StepFunction(tp, yp, y0 = 0.0, ignore_nan = False) + + Piecewise step function. + + Construct a piecewise step function given the times at which step + changes occur and the values for each time interval. For example, + + .. code-block:: python + + tp = np.array([0, 5]) + yp = np.array([-1, 1]) + + y = StepFunction(tp, yp, np.nan) + + Corresponds to + + .. code-block:: python + + if t < 0: + y = np.nan + elif 0 <= t < 5: + y = -1 + else: + y = 1 + + :param tp: Times at which a step change occurs [s]. + :type tp: 1D np.array + :param yp: Constant values for each time interval. + :type yp: 1D np.array + :param y0: Value to return when t < tp[0]. In addition to standard float + values, np.nan and np.inf are supported. The default is 0. + :type y0: float, optional + :param ignore_nan: Whether or not to ignore NaN inputs. For NaN inputs, the callable + returns NaN when False (default) or yp[-1] when True. + :type ignore_nan: bool, optional + + :raises ValueError: tp and yp must both be 1D. + :raises ValueError: tp and yp must be same size. + :raises ValueError: tp must be strictly increasing. + + .. rubric:: Examples + + >>> tp = np.array([0, 1, 5]) + >>> yp = np.array([-1, 0, 1]) + >>> func = StepFunction(tp, yp, np.nan) + >>> print(func(np.array([-10, 0.5, 4, 10]))) + [nan -1. 0. 1.] + + diff --git a/docs/source/api/thevenin/plotutils/index.rst b/docs/source/api/thevenin/plotutils/index.rst new file mode 100644 index 0000000..5a61de4 --- /dev/null +++ b/docs/source/api/thevenin/plotutils/index.rst @@ -0,0 +1,55 @@ +thevenin.plotutils +================== + +.. py:module:: thevenin.plotutils + +.. autoapi-nested-parse:: + + Plotting Utilities + ------------------ + A module designed to enhance plotting with the matplotlib library. Helper + functions include routines for simplifying color scheme management, formatting + axis ticks, fonts, and more, making it easier to create polished and consistent + visualizations. + + + +Functions +--------- + +.. autoapisummary:: + + thevenin.plotutils.get_colors + + +Package Contents +---------------- + +.. py:function:: get_colors(size, data = None, norm = None, alpha = 1.0, cmap = 'jet') + + Sample colors from 'cmap'. + + Return a list of colors from a specified colormap. Default options will + provide evenly spaced colors across 'cmap'. Provide 'data' and/or 'norm' + to control the ordering, spacing, and normalization. + + :param size: Number of colors to return. + :type size: int + :param data: A 1D array with length 'size' that controls the spacing and sorting of + the output. By default, spacing is equal and sorting matches 'cmap'. + :type data: array_like[float] or None, optional + :param norm: An array-like (min, max) pair that normalizes the colormap to 'data'. + By default (0, size) if 'data=None' or min/max of 'data' otherwise. + :type norm: array_like[float] or None, optional + :param alpha: Transparency to apply over the colormap. Must be in the range [0, 1]. + The default is 1. + :type alpha: float, optional + :param cmap: A valid matplotlib colormap name. The default is 'jet'. + :type cmap: str, optional + + :returns: **colors** (*list*) -- A list of (r, g, b, a) color codes. + + :raises ValueError: 'data' length must match 'size'. + :raises ValueError: 'norm' length must equal 2. + + diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..f953065 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,134 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +import thevenin as thev + +project = 'thevenin' +copyright = '2024, Corey R. Randall' +author = 'Corey R. Randall' +version = thev.__version__ +release = thev.__version__ + + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [ + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', + 'sphinx.ext.autodoc', + 'sphinx.ext.napoleon', + 'autoapi.extension', + 'myst_nb', + 'sphinx_design', + # 'sphinx_favicon', + 'sphinx_copybutton', +] + +templates_path = ['_templates'] + +exclude_patterns = [ + 'build', + 'Thumbs.db', + '.DS_Store', + '*.ipynb_checkpoints', + '__pycache__', +] + +source_suffix = { + '.rst': 'restructuredtext', + '.ipynb': 'myst-nb', + '.myst': 'myst-nb', +} + +highlight_language = 'console' + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output +# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html + +html_theme = 'pydata_sphinx_theme' + +# html_favicon = 'static/favicon.ico' +html_context = {'default_mode': 'dark'} + +html_static_path = ['_static'] +html_js_files = ['custom.js'] +html_css_files = ['custom.css'] + +html_sidebars = {'index': [], '**': ['sidebar-nav-bs']} + +html_theme_options = { + # 'logo': { + # 'image_light': 'static/light.png', + # 'image_dark': 'static/dark.png' + # }, + 'icon_links': [ + { + 'name': 'GitHub', + 'url': 'https://github.com/ROVI-org/thevenin', + 'icon': 'fa-brands fa-github', + }, + # { + # 'name': 'PyPI', + # 'url': 'https://pypi.org/project/thevenin', + # 'icon': 'fa-solid fa-box', + # }, + ], + 'navbar_start': ['navbar-logo'], + 'navbar_align': 'content', + 'header_links_before_dropdown': 5, + 'footer_start': ['copyright'], + 'footer_end': ['sphinx-version'], + 'navbar_persistent': ['search-button-field'], + 'primary_sidebar_end': ['sidebar-ethical-ads'], + 'secondary_sidebar_items': ['page-toc'], + 'search_bar_text': 'Search...', + 'show_prev_next': False, + 'collapse_navigation': True, + 'show_toc_level': 0, + 'pygments_light_style': 'tango', +} + +# -- Options for napoleon ---------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html + +napoleon_use_rtype = False +napoleon_custom_sections = [ + "Summary", + "Accessing the documentation", +] + + +# -- Options for autoapi ----------------------------------------------------- +# https://sphinx-autoapi.readthedocs.io/en/latest/reference/config.html + +autoapi_type = 'python' +autoapi_ignore = ['*/__pycache__/*'] +autoapi_dirs = ['../../src/thevenin'] +autoapi_keep_files = True +autoapi_root = 'api' +autoapi_member_order = 'groupwise' +autodoc_typehints = 'none' +autoapi_python_class_content = 'both' +autoapi_options = [ + 'members', + 'inherited-members', + 'undoc-members', + 'show-module-summary', + 'imported-members', +] + + +# -- Options for myst -------------------------------------------------------- +# https://myst-nb.readthedocs.io/en/latest/configuration.html + +nb_execution_timeout = 300 +nb_number_source_lines = True +myst_enable_extensions = ['amsmath', 'dollarmath'] diff --git a/docs/source/development/code_of_conduct.rst b/docs/source/development/code_of_conduct.rst new file mode 100644 index 0000000..2fb5871 --- /dev/null +++ b/docs/source/development/code_of_conduct.rst @@ -0,0 +1,114 @@ +Code of Conduct +=============== + +Our Pledge +---------- +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socioeconomic status, +nationality, personal appearance, race, caste, color, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +Our Standards +------------- +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +Scope +----- +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +Enforcement +----------- +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +corey.randall@nrel.gov. All complaints will be reviewed and investigated promptly +and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +Enforcement Guidelines +^^^^^^^^^^^^^^^^^^^^^^ +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +1. Correction + + - **Community Impact:** Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + - **Consequence:** A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why thebehavior was inappropriate. A public apology may be requested. + +2. Warning + + - **Community Impact:** A violation through a single incident or series of actions. + - **Consequence:** A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. + +3. Temporary Ban + + - **Community Impact:** A serious violation of community standards, including sustained inappropriate behavior. + - **Consequence:** A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + +4. Permanent Ban + + - **Community Impact:** Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + - **Consequence:** A permanent ban from any sort of public interaction within the community. + +Attribution +----------- +This Code of Conduct is a modified copy of the one used by `Cantera`_, another +open-source Python project that caters to the scientific community. Thevenin +maintainers hold the right to modify and update this document at any time as the +project evolves. Contributors are expected to understand that they will be held +to whichever Code of Conduct is most recent, even if they began contributing +while an older version was in use. + +Cantera's original Code of Conduct is adapted from the `Contributor Covenant`_, +version 2.0. The community Impact Guidelines were inspired by +`Mozilla's code of conduct enforcement`_. + +For answers to common questions about this code of conduct, see the `FAQ`_. +Translations are also available at `translations`_. + +.. _Cantera: https://github.com/Cantera/cantera/blob/main/CODE_OF_CONDUCT.md +.. _Contributor Covenant: https://www.contributor-covenant.org +.. _v2.0: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html +.. _Mozilla's code of conduct enforcement: https://github.com/mozilla/diversity +.. _FAQ: https://www.contributor-covenant.org/faq +.. _translations: https://www.contributor-covenant.org/translations \ No newline at end of file diff --git a/docs/source/development/code_style_and_linting.rst b/docs/source/development/code_style_and_linting.rst new file mode 100644 index 0000000..73662b5 --- /dev/null +++ b/docs/source/development/code_style_and_linting.rst @@ -0,0 +1,57 @@ +Code Style and Linting +====================== +Maintaining a consistent code style and adhering to linting rules is crucial for ensuring code quality and readability. This page outlines the guidelines and tools used for code style and linting in our project. + +Styling Guidelines +------------------ +We adhere to `PEP8 <https://peps.python.org/pep-0008/>`_ with minimal exceptions. Minor adjustments to spacing (around operators, under/over-indentation) are allowed when they improve clarity. We include a ``.flake8`` configuration file in ``.github/linters`` that specifies these exceptions. Developers should configure their IDEs with this file to ensure consistency. + +Code Formatting +--------------- +While `black <https://black.readthedocs.io/en/stable/>`_ is a popular auto-formatting package, we do not permit it to be used for this codebase. Although it adheres to the same PEP8 standards that we follow, the ``black`` styling can be a bit more opinionated at times and does not always help improve clarity. For those still looking for auto-formatting, we permit the use of `autopep8 <https://github.com/hhatto/autopep8>`_ is when paired with the ``.flake8`` configuration file found in ``.github/linters``. IDEs supporting ``autopep8`` should be configured accordingly. Developers can also run the formatter manually using:: + + nox -s linter -- format + +When used with the optional ``format`` argument, this ``nox`` command will first run the auto-formatter and then check for errors. This means that is errors persist, then ``autopep8`` was unable to address them and that they must be addressed manually. + +Enforcement +----------- +Style and linting are enforced through Continuous Integration (CI). Developers should perform local checks using:: + + nox -s linter + +For a comprehensive suite of checks, including unit tests and spelling in comments, run:: + + nox -s pre-commit + +This will ensure that all code meets the required standards before pushing changes. If you skip local checks, the CI will catch issues during the push process. Failed tests may result in a delayed reviewer assignments when you open pull requests. + +Documentation +------------- +Code should be documented using the `numpydoc <https://numpydoc.readthedocs.io/en/latest/format.html>`_ docstring format. All classes, methods, and functions must have clear docstrings, including hidden methods/functions. Use type hints to specify input and output types. Code should be readable with minimal comments, though particularly complex sections should include additional explanations. + +Additional Preferences +---------------------- +When it comes to string quotation, we have a few specific preferences to maintain consistency across the codebase: + +* **Single quotes:** + + Use single quotes (``'``) for string variables, dictionary keys, and other standard strings. For example: + + .. code-block:: python + + my_string = 'This is a string.' + my_dict = {'key': 'value'} + +* **Double quotes:** + + Use double quotes (``"``) for strings that are part of exception messages, print statements, or special string types such as formatted or raw strings. For example: + + .. code-block:: python + + print("This is a print statement.") + raise ValueError("This is an exception message.") + formatted_string = f"This is a formatted string: {value}" + raw_string = r"This is a raw string." + +By following these conventions, we aim to enhance readability and maintain consistency in how strings are handled throughout the codebase. diff --git a/docs/source/development/development_environments.rst b/docs/source/development/development_environments.rst new file mode 100644 index 0000000..14b8d7b --- /dev/null +++ b/docs/source/development/development_environments.rst @@ -0,0 +1,48 @@ +Development Environments +======================== +This guide will walk you through setting up a local development environment for contributing to Thevenin. It covers recommended practices, tools, and commands for developers to efficiently build, test, and contribute to the project. + +.. note:: + + We assume developers are already at least a little familiar with using git and GitHub. If this is not the case for you, there are many online tutorials to help you `learn git <https://www.w3schools.com/git/default.asp?remote=github>`_. + +1. Fork and clone the repository + Before setting up your local environment, make sure you have forked the main repository and cloned it from your own fork. This allows you to create pull requests from your fork to the main repo. + +2. Create a virtual environment + While developers can use any virtual environment manager, we recommend using ``conda`` if you are not already using a virtual environment tool. You can install `Anaconda <https://anaconda.org>`_ if needed to setup ``conda`` on your machine. + + Development should be done using the latest stable release of Python, so please setup your virtual environment accordingly. Continuous Integration (CI) workflows automatically test older versions. On occasion, if issues arise during tests, you may need to work with older Python versions temporarily. + +3. Install Thevenin in editable mode + Once you have your virtual environment activated and the files locally available, install Thevenin in editable mode, including the necessary development tools and dependencies, like so:: + + pip install -e .[dev] + + * Make sure you are in the same folder as the ``pyproject.toml`` file when you run this command. + * The ``-e`` flag ensures that any changes made locally will be immediately available without reinstalling. + * The ``[dev]`` argument installs all developer dependencies like linters, spellcheckers, and testing tools. + +4. Running tests + We recommend testing your installation before you start making changes. To run unit tests and make a coverage report, we have integrated ``nox``:: + + nox -s tests + + This will run all tests and generate coverage reports. You can see the coverage report by opening the ``index.html`` file in the ``reports/htmlcov/`` folder once the tests are finished. + +5. Linting, formatting, and spellchecking + All linting, formatting, and spellchecking tasks are automated. To run these checks locally:: + + nox -s linter [-- format] + nox -s codespell [-- write] + + The optional ``format`` and ``write`` arguments will attempt to format the code and correct misspellings, respectively. For more information on linting and code style, make sure you reference the :doc:`code_style_and_linting` section. + +6. Building documentation + We use `sphinx <https://www.sphinx-doc.org/en/master/>`_ to build documentation by scraping docstrings. Before you start modifying the code base, make sure the documentation builds locally:: + + nox -s docs + + You can see the local documentation build in your browser by opening the ``index.html`` file from the ``sphinx/build/`` folder. + +Now that you're all setup with a development version of Thevenin and have tested the codebase using the ``nox`` integration, be sure to follow the :doc:`version_control` workflow as you contribute. Happy coding! diff --git a/docs/source/development/figures/github_flow.png b/docs/source/development/figures/github_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dd4824a0f165b09cb0731fdd20c56e83c2ef08 GIT binary patch literal 18910 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 ALI3~& literal 0 HcmV?d00001 diff --git a/docs/source/development/index.rst b/docs/source/development/index.rst new file mode 100644 index 0000000..5d4320f --- /dev/null +++ b/docs/source/development/index.rst @@ -0,0 +1,33 @@ +.. _development: + +Development +=========== + +.. toctree:: + :hidden: + :caption: Before you contribute + + project_overview.rst + code_of_conduct.rst + issues_and_features.rst + development_environments.rst + +.. toctree:: + :hidden: + :caption: Code structure + + project_layout.rst + patterns_and_conventions.rst + +.. toctree:: + :hidden: + :caption: Workflow + + version_control.rst + code_style_and_linting.rst + tests_and_coverage.rst + review_process.rst + +The Thevenin project welcomes contributions from the community to enhance its functionality and performance. Whether you are fixing bugs, adding new features, or improving documentation, all contributions are valuable. Our goal is to make the development process as seamless as possible by providing clear guidelines and automating many of the common development tasks. + +To get started, developers should fork the repository, set up a local development environment, and follow the instructions for contributing code. We use modern tools and workflows to ensure code quality, including linters, automated tests, and continuous integration checks. Whether you're an experienced developer or just getting started, we encourage collaboration and innovation. Please refer to the specific development guides for detailed steps on setting up your environment, running tests, and following the proper branching strategies. diff --git a/docs/source/development/issues_and_features.rst b/docs/source/development/issues_and_features.rst new file mode 100644 index 0000000..c2d01e6 --- /dev/null +++ b/docs/source/development/issues_and_features.rst @@ -0,0 +1,60 @@ +Issues and Features +=================== + +Overview +-------- +Before starting on a bug fix or developing a new feature for Thevenin, please follow the steps outlined below to ensure efficient collaboration and alignment with the project's goals. Whether you're reporting a bug, suggesting a feature, or volunteering to work on an issue, these guidelines will help maintain smooth development and communication. + +Steps to Report an Issue +------------------------ +1. Check for existing issues + + - Always check the `issues page <https://github.com/ROVI-org/thevenin/issues>`_ on GitHub before starting any new work. + - If a bug report or new feature request already exists, review the comments and status to see if someone is already working on it. + - If you are interested in working on the issue, leave a comment requesting the issue be assigned to you. Feel free to express your interest or add any additional context if you are experiencing the same bug or would benefit from the new feature. + +2. Report a new issue + + - If no issue exists for the bug or feature, open a new issue. Be detailed in your description, providing steps to reproduce the bug or a clear rationale for the feature. + - If you'd like to take on the issue yourself, indicate this in the issue and request that it be assigned to you. + - Before proceeding with any major work, wait for a maintainer's response to ensure the issue aligns with the project's scope and future plans. + +Best Practices +^^^^^^^^^^^^^^ +When filing an issue, follow these best practices to help the maintainers understand the problem or feature request efficiently: + +* For bugs: + - Use the "Bug Report" template. + - Clearly describe the problem and how to reproduce it. + - Specify the environment (operating system, Python version, etc.) where the bug occurred. + - Include a minimal reproducible example, relevant logs, error messages, etc. + +* For features: + - Use the "Feature Request" template. + - Explain the problem the feature will solve, and why it's important. + - Suggest how the feature should work and provide any references or examples if needed. + +Working on an Issue +------------------- +Once your issue is approved and assigned, follow the GitHub flow branching strategy for development: + +1. **Fork the repo:** If you haven't already, create a fork of the repository. + +2. **Create a Branch:** Start by creating a new branch from the main branch. Name your branch with a short description of the bug or feature. Consider including the issue number in the name as well. + +3. **Work in Manageable Chunks:** Ensure your pull request is manageable for reviewers. If your changes involve many files or a large number of lines, consider splitting the work into smaller, logical pull requests. This makes it easier for maintainers to review and approve your changes. + +4. **Submit a Pull Request:** Once your work is complete, submit a pull request (PR) to the main branch. Reference the corresponding issue in your PR description to keep everything linked and easily trackable. + +For a more detailed breakdown of these steps you will likely want to read through :doc:`version control <version_control>`. + +The development team welcomes contributions! However, to keep the project maintainable and focused, it's important that every change or new feature starts with an issue. This allows maintainers to review, prioritize, and ensure the work aligns with the project's vision. + +Remember: + +* **Engage early:** Always seek feedback from maintainers before diving too deep into development, especially for larger changes or features. +* **Be considerate:** Ensure your changes are well-organized, documented, and easy to review. This will help expedite the review and approval process. + +Getting Help +------------ +If you're unsure whether your contribution fits within the scope of the project or if you need help getting started, feel free to ask questions by commenting on issues or reaching out to the maintainers. Collaboration is key to the success of Thevenin, and we're here to support you. diff --git a/docs/source/development/patterns_and_conventions.rst b/docs/source/development/patterns_and_conventions.rst new file mode 100644 index 0000000..55f0e80 --- /dev/null +++ b/docs/source/development/patterns_and_conventions.rst @@ -0,0 +1,108 @@ +Patterns and Conventions +======================== + +File Organization +----------------- +It is preferred to have more files with fewer lines of code rather than fewer, larger files. This keeps the codebase easier to navigate and review. As a rule of thumb, classes and functions that are long should be in their own file, while shorter, related items can be grouped together. However, take care to not group unrelated classes and/or functions just because they are short. It is okay for these to still be in their own files if they are unique and cannot be categorized to fit in with other classes/functions. + +To maintain ease of access for users, all user-facing functions and classes should be no more than three levels deep from the top-level of the package. This ensures that users do not need to navigate through excessive subpackages or submodules to find the tools they need. Keeping interfaces easily discoverable improves usability and reduces friction when working with the package. With this in mind, it is still okay for developers to have nested code, however, they should import user-facing functionality into the package or some subpackage that makes it more accessible. + +Naming Convention +----------------- +To ensure consistency and ease of development, the following conventions are enforced: + +1. File names: + All file names begin with a leading underscore (``_``) to prevent them from showing up in an editor's tab completion window. File names also use snake case (e.g., ``_my_class.py``) and are generally short but descriptive. Typically, the name of the file should reflect the class or function it contains. + +2. Class and function names: + Classes use ``CamelCase``, while functions and methods use ``snake_case``. Classes should generally be in their own file unless grouped logically with others. + +Import Considerations +--------------------- + +Ordering +^^^^^^^^ +In our codebase, import statements are organized into three distinct groups based on where the modules originate. This helps keep imports clean and maintainable. The groups, in order, are: + +1. **Standard Library Imports:** These come from Python's built-in standard library. +2. **Dependency Imports:** Imports from external dependencies installed via package managers (e.g., ``pip`` or ``conda``). +3. **Local Package Imports:** Imports that come from within our package. + +Within each group, we generally list imports in ascending order of their length (shortest to longest), as shown in the example below. This helps maintain a neat and consistent style throughout the code. Note that it is not necessary to comment each grouped section, this is only done for clarity in the example. + +.. code-block:: python + + # Standard Library Imports + import os + import sys + import datetime + + # Dependency Imports + import numpy as np + import matplotlib.pyplot as plt + + # Local Package Imports + from ._experiment import Experiment + from thevenin.plotutils import StepFunction + +Placement +^^^^^^^^^ +* Common dependencies that are used across multiple functions should be imported at the top of the module. +* For heavier dependencies or rarely used ones, consider importing them only where needed (within functions/methods) to minimize unnecessary load times. +* Regardless of placement, at the top of a file of within a function/method, ordering within each group should follow the ordering listed above. + +Class Considerations +-------------------- +For class definitions, we follow a specific ordering convention to make it easier to navigate through the code: + +1. **Magic Methods:** These special methods (e.g., ``__init__``, ``__repr__``, etc.) come first. They define key behaviors of the class. +2. **User-Facing Methods:** These are the public methods intended for external use. They define the class's core functionality for users. +3. **Hidden Methods:** These are internal methods (denoted with a leading underscore) that handle functionality not meant to be directly accessed by users. + +In some cases, exceptions to this order may be made, particularly if moving a hidden method closer to a user-facing method improves readability. However, this should be done with discretion and only when it helps clarify the flow of the class's logic. See below for an example. + +.. code-block:: python + + class MyClass: + # Magic Methods + def __init__(self, value): + self.value = value + + def __repr__(self): + return f"MyClass(value={self.value})" + + # User-Facing Methods + def do_something(self): + self._helper_function() + return f"Value is {self.value}" + + # Hidden Methods + def _helper_function(self): + # Some internal logic + pass + +Module Considerations +--------------------- +In our modules, we maintain a consistent structure to enhance readability and organization. The general order is as follows: + +1. **Classes:** If a module contains any class definitions, they should appear first. Classes define the core structure and behavior of the module. +2. **Functions:** Public functions follow the class definitions. These functions are the primary operations or utilities that the module offers for external use. +3. **Hidden Functions:** Internal functions (those with a leading underscore) come last. These are used for supporting internal logic and are not intended to be accessed directly by users. + +This ordering helps ensure that users interacting with the module can quickly identify the main components, while hidden/internal logic remains at the bottom for a clearer separation of concerns. + +Development Tools +----------------- +For ease of development, tools and dependencies for linting, formatting, spellchecking, testing, and documentation building are included as optional dependencies. Installing these is as simple as running the following:: + + pip install -e .[dev] + +In addition, developers should use ``nox`` to automate many tasks: + +* ``nox -s tests`` - run tests with coverage reports +* ``nox -s linter`` - lint and format the code +* ``nox -s codespell`` - check for and fix misspellings +* ``nox -s pre-commit`` - run pre-commit checks (all above) +* ``nox -s docs`` - build the documentation + +Use these tools to ensure the code remains clean and follows best practices. diff --git a/docs/source/development/project_layout.rst b/docs/source/development/project_layout.rst new file mode 100644 index 0000000..0830cfd --- /dev/null +++ b/docs/source/development/project_layout.rst @@ -0,0 +1,35 @@ +Project Layout +============== +The Thevenin project is organized to provide clarity and structure, making it easy for developers to navigate and contribute. Below is an outline of the key directories and files, along with guidelines for working within them. + +Root Directory +-------------- +The root directory contains the most important files and folders necessary for development: + +* **src/:** The core package code resides in this directory. This is the primary folder developers will interact with when modifying or adding features. +* **pyproject.toml:** This file contains the project's build system configurations and dependencies. If you need to add or modify dependencies, you should do so in this file. +* **noxfile.py:** Contains automation scripts for tasks like testing, linting, formatting, and building documentation. Developers should use nox sessions as needed to ensure code quality and consistency. +* **tests/:** This is where all unit tests and integration tests are stored. Any new functionality should include appropriate tests here. +* **docs/:** Contains documentation files for the project. Developers contributing to the documentation should work here, particularly if adding or improving developer guides or API references. + +Source Directory +---------------- +The ``src/`` directory contains the main package code. Using this structure ensures that local imports during development come from the installed package rather than accidental imports from the source files themselves. + +Top-level Package +^^^^^^^^^^^^^^^^^ +The core classes of the Thevenin package reside at the top level of the src/ directory and include: + +* ``IDASolver``: Handles solving the differential algebraic equations used in circuit models. +* ``Model``: Represents the equivalent circuit model itself, allowing for flexible setup of different configurations. +* ``Experiment``: Manages experiments, including dynamic or static load profiles. +* ``StepSolution`` and ``CycleSolution``: Provide a structured way to return and analyze the results of simulations. + +Each of these classes typically resides in its own file, following a philosophy of keeping files manageable in size. If multiple classes or functions share significant overlap in purpose, they may be grouped in the same file, but care is taken to keep files concise and easy to navigate. + +Subpackages +^^^^^^^^^^^ +There are two subpackages that handle specific functionality: + +* ``plotutils/``: Contains utilities for visualizing simulation results. Any helper functions for plotting or figure generation live here to keep the core logic separate from visualization tasks. +* ``loadfns/``: Contains functions to assist users in building dynamic load profiles. These functions are especially useful for users looking to simulate different load scenarios in their models. diff --git a/docs/source/development/project_overview.rst b/docs/source/development/project_overview.rst new file mode 100644 index 0000000..97aba6b --- /dev/null +++ b/docs/source/development/project_overview.rst @@ -0,0 +1,54 @@ +Project Overview +================ + +Introduction +------------ +Thevenin is a Python package designed to offer a simple, robust, and flexible interface for running Thevenin equivalent circuit models. Its primary focus is on simulating battery performance under various load conditions, making it an invaluable tool for researchers and scientists working on battery technologies. Whether you need to generate synthetic data, optimize parameters for real-world systems, or integrate fast, accurate models into control algorithms, Thevenin is built to handle it all. + +The package provides a balance between simplicity and capability, supporting both constant and dynamic loads, and is scalable enough to fit into real-time systems. + +Key Features +^^^^^^^^^^^^ +* **Flexible Circuit Elements:** All circuit elements, including resistors and capacitors, can either be constant or depend on state of charge (SOC) and temperature. +* **Customizable RC Pairs:** The model supports any number of RC (resistor-capacitor) pairs, from zero to :math:`N`, allowing the model to scale from simple to more complex systems. +* **Thermal Modeling:** The package can operate in isothermal conditions or simulate thermal effects using a lumped thermal model for greater accuracy. +* **Versatile Experiment Interface:** The API allows for intuitive and flexible simulation of any type of load, including constant and dynamic loads driven by current, voltage, and/or power. +* **Cross-platform Support:** Written in Python, the package runs on any platform that supports Python and is continuously tested across multiple Python versions. + +Use Cases +--------- +Thevenin is designed for a variety of applications in the battery research space: + +* **Parameter Optimization:** The packaged models can integrate with optimization routines, enabling fast model calibration to real-world battery systems. +* **Synthetic Data Generation:** Researchers can generate synthetic data for analysis, algorithm development, or system testing. +* **Battery Model Integration:** Thevenin is designed for integration with control systems, such as those using Kalman filter algorithms for real-time state estimation and battery management. + +Target Audience +--------------- +Thevenin is built for scientists and researchers in the battery industry. Its primary applications focus on: + +* Battery performance simulation +* State of health (SOH) estimation +* Real-time control integration + +Users who require accurate, fast models that can be integrated into control algorithms and optimization frameworks will find Thevenin especially valuable. + +Technology Stack +---------------- +* **Language:** Python +* **Compatibility:** Runs on any hardware that supports Python. Multiple versions are supported. + +Project Origins +--------------- +Thevenin was developed by researchers at the **National Renewable Energy Laboratory (NREL)** as part of the **Rapid Operational Validation Initiative (ROVI)**, a project funded by the **Office of Electricity**. The ROVI project aims to streamline the process of validating new battery technologies and chemistries as they enter the market. Thevenin contributes to this effort by providing a tool that models battery performance with flexibility and speed. If interested, you can read more about ROVI `here <https://www.energy.gov/oe/rapid-operational-validation-initiative-rovi>`_. + +Roadmap and Future Directions +----------------------------- +Thevenin has several exciting long-term goals: + +* **Optimization Submodule:** A future release will include an optimization submodule for automated parameter fitting to experimental data. +* **Integration with Kalman filters:** The package is currently being exercised with `moirae <https://github.com/ROVI-org/auto-soh>`_, a separate package containing Kalman filter algorithms. This will demonstrate how Thevenin can be used for online state estimation, improving real-time battery management. + +Contributions +------------- +The Thevenin project is hosted and actively maintained on `GitHub <https://github.com/ROVI-org/thevenin>`_. Developers interested in contributing are encouraged to review the Code structure and Workflow sections for detailed information on the branching strategy, code review process, and how to get involved. All contributions are welcome as we continue to evolve Thevenin's capabilities. diff --git a/docs/source/development/review_process.rst b/docs/source/development/review_process.rst new file mode 100644 index 0000000..bf45034 --- /dev/null +++ b/docs/source/development/review_process.rst @@ -0,0 +1,46 @@ +Review Process +============== +The code review process is essential for maintaining the quality, performance, and style consistency of the project. This guide outlines the steps for submitting and reviewing pull requests (PRs), along with best practices for both contributors and reviewers. + +Reviewer Assignment +------------------- +Pull requests are reviewed by maintainers from the core development team. After submitting a PR: + +* **Assignment timing:** A reviewer should be assigned within 5 business days. If not, contributors are encouraged to leave a comment on the PR to prompt assignment. +* **CI pre-checks:** Reviewers will not be assigned until the PR passes all continuous integration (CI) tests. If your PR is failing a specific unit test and you need assistance, leave a comment on the PR so the core development team can help. + +Pull Request Requirements +------------------------- +Contributors must ensure the following before requesting a review: + +* **Pull request template:** Fill out the PR template, verifying that all criteria (e.g., style, documentation, testing) are met. +* **CI tests:** Pushes and PRs are automatically tested using CI pipelines. Ensure all tests pass before requesting a review. If certain tests are failing but the code is ready for review, mention this in the PR comments. + +Priorities and Review Criteria +------------------------------ +During the review process, the following aspects are considered: + +* **Bug fixes over features:** Bug fixes take precedence over new features in the review process. +* **Performance and clarity:** We balance the importance of code performance with clarity and readability. Clear, maintainable code is prioritized alongside well-performing implementations. +* **Best Practices:** Ensure that your PR follows the project's code style and conventions (as outlined in the :doc:`patterns_and_conventions` and :doc:`code_style_and_linting` pages). + +Timeline and Feedback +--------------------- +* **Review timeline:** Once a reviewer is assigned, contributors should expect communication at least every 48 business hours. +* **Splitting PRs:** For large or complex PRs, reviewers may request that the changes be split into smaller, more manageable PRs. +* **Reviewer feedback:** Reviewers should provide specific, actionable feedback on the code. Even when no changes are needed, the reviewer will leave a comment confirming that the PR meets all criteria. + +Addressing Feedback +------------------- +After receiving feedback: + +* **Commit changes:** Continue making commits to your branch to address reviewer comments. These updates will automatically reflect in the PR. +* **Summary and re-request:** Once all feedback is addressed, comment on the PR with a brief summary of the changes, prompting the reviewer to take another look. + +Final Approval +-------------- +Once the review process is complete: + +* **Approval:** The reviewer will approve the PR once it meets all requirements. +* **Merging:** Approved PRs are merged into the main repository. +* **Cleanup:** Developers should delete the branch once it has been merged and shift focus to the next task. diff --git a/docs/source/development/tests_and_coverage.rst b/docs/source/development/tests_and_coverage.rst new file mode 100644 index 0000000..af33a87 --- /dev/null +++ b/docs/source/development/tests_and_coverage.rst @@ -0,0 +1,64 @@ +Tests and Coverage +================== + +Overview +-------- +Testing and coverage are critical to maintaining code quality and ensuring that our software behaves as expected. This page outlines our practices for writing and running tests, measuring coverage, and maintaining high standards in our codebase. + +Testing Practices +----------------- + +* Test organization + Tests should be organized first by module and then by class and/or function. This helps in managing and locating tests effectively. Avoid grouping tests into a single file just because they share similar functions. Instead, organize them based on their associated modules. + +* Naming conventions + All test functions should start with ``test_`` followed by a descriptive name (using snake case) indicating what is being tested. For example, ``test_calculate_total_price`` is preferable to ``test_Calculator`` unless the class is simple enough to be covered with a single test. Design tests to cover specific units, features, or applications of the class or function. + +* Test data + Use fixtures where appropriate. If mock data is necessary, make a subfolder in the ``tests/`` to store it in. Make sure the file(s) have descriptive names. Ensure that test data is manageable and not overly complex. + +Running Tests +------------- +The full test suite can be run locally using:: + + nox -s tests + +Alternatively, you can run tests from a specific file using:: + + pytest tests/test_file.py + +where ``test_file.py`` is the file that includes the tests you'd like to run. Generally, you will want to run individual files when you are iterating back and forth between fixing bugs, adding features, and writing new tests. However, you should always run the full test suite once you are finished and prior to any commits and/or pushes to your repository. + +If you forget to run tests locally they will still be run as part of the continuous integration (CI) workflow on your next push or pull request. While we only expect you to run your tests locally using the most recent stable version of Python, the CI workflow will also run the full test suite using older versions of Python and will check that tests pass on all major operating systems. + +Failing Tests +^^^^^^^^^^^^^ +It is possible that although your local tests work that one of the older versions of Python, or even the newest version of Python on a different machine, may fail. In these cases, you should check the GitHub actions logs and address the issue. Ask for help from other developers using the `Discussions <https://github.com/ROVI-org/thevenin/discussions>`_ page if you ever feel stuck. + +A good place to start if your tests are only failing on older Python versions is to setup a second, temporarily, development environment with one of the older Python versions. All ``nox`` commands will still function the same way. This can help you run the failing tests locally instead of continuously pushing to GitHub. After failed tests are resolved, make sure you move back to using your primary development environment for future work. + +Coverage +-------- +We use ``pytest`` along with the ``pytest-cov`` extension to measure code coverage. The configuration and reports are automatically set and generated for you when you use:: + + nox -s tests + +After tests finish running, you can check the coverage by opening the ``index.html`` file in the ``reports/htmlcov/`` folder. This will help you navigate through the source code files to see which lines are and are not coveraged. + +Excluding Lines +^^^^^^^^^^^^^^^ +In some cases there will be lines of code that do not need to be covered. For example, the ``if TYPE_CHECKING`` line of code does not get run during testing and will therefore never be "covered". In this case and a few others, it is okay to use the directive ``# pragma: no cover`` to ignore a line (or section) or code. For example + +.. code-block:: python + + from tying import TYPE_CHECKING + + if TYPE_CHECKING: # pragma: no cover + from numpy import ndarray + from pandas import DataFrame + +We strive to achieve 100% test coverage (excluding lines marked by ``# pragma: no cover``); however, do not use this to avoid writing tests for challenging code. Comprehensive testing is essential for maintaining project success. + +Performance Testing +------------------- +Tests should prioritize functionality. We do not write performance tests into the test suite. If you are optimizing performance, include examples in your pull request to compare the current and new implementations. Once confirmed, these performance tests can be removed. diff --git a/docs/source/development/version_control.rst b/docs/source/development/version_control.rst new file mode 100644 index 0000000..dcd03bc --- /dev/null +++ b/docs/source/development/version_control.rst @@ -0,0 +1,159 @@ +Version Control +=============== +Version control is essential to managing the development process, allowing multiple developers to work on code simultaneously, track changes, and maintain a history of the project. It enables collaboration, safeguards against errors, and helps manage releases and bug fixes effectively. + +This project follows the GitHub Flow branching strategy. This lightweight workflow is both simple and fast. Below, we will explain the key steps for contributing to this project using GitHub Flow, as well as references to other branching strategies, their pros, and cons. You'll also find instructions for handling longer feature development, merge conflicts, and patches to maintenance branches. + +.. note:: + + We assume developers are already at least a little familiar with using git and GitHub. If this is not the case for you, there are many online tutorials to help you `learn git <https://www.w3schools.com/git/default.asp?remote=github>`_. + +Branching Strategies +-------------------- +Several branching strategies are used in software development, each with its pros and cons. Below are a few common ones: + +* **Git Flow:** Git Flow is a comprehensive branching strategy with separate branches for features, releases, hotfixes, and development. It's well-suited for larger projects with multiple releases but can be overly complex for smaller teams. + + - Pros: Clear separation between development, releases, and hotfixes. + - Cons: Complicated branching structure, especially for smaller projects. + +* **Trunk-Based Development:** This approach involves a single main branch with frequent small merges directly to it. Developers create short-lived feature branches and merge back quickly. + + - Pros: Simplifies version control, encourages continuous integration. + - Cons: Requires careful management to avoid breaking changes on main. + +* **GitHub Flow:** A simpler model, ideal for projects using continuous delivery. Development happens in short-lived feature or bug branches that are merged back into ``main`` via pull requests. + + - Pros: Simple, easy to use, integrates well with CI/CD. + - Cons: Lacks formal support for maintaining multiple concurrent releases. + +For this project, we use GitHub Flow, which is explained in detail below. Interested parties can read more about any of these branching strategies `here <https://blog.programster.org/git-workflows>`_. + +Thevenin Workflow +----------------- +The Thevenin project uses GitHub Flow as its version control model due to its simplicity and proven success in other scientific packages like `SciPy <https://scipy.org/>`_ and `Cantera <https://cantera.org/>`_. The workflow emphasizes short-lived feature branches, as shown in the figure below, that each address a single bug fix or feature addition. + +.. figure:: figures/github_flow.png + :align: center + :alt: Two-RC-pair Thevenin circuit. + :width: 75% + +Key Features +^^^^^^^^^^^^ +1. Main Branch: + ``main`` is the default branch that contains the latest stable developer code. It reflects the current state of development and should always be functional. + +2. Release Branches: + Each release has its own maintenance branch, e.g., ``v1.1.x``. These branches should only receive bug fixes and are not meant for new feature development. + +3. Feature and Bugfix Branches: + New features or bug fixes should be developed on separate branches off main. The naming conventions are: + + Feature branches: ``description-issue#`` + Bugfix branches: ``bug-description-issue#`` + +Note that only bug fixes should have a prefix, but all branches should reference an issue number. Use underscores between works as needed and try to keep to shorter names. The issue can always be referenced in cases where more information is needed. + +The main Thevenin repo only hosts the main and release branches. Users should fork the main repo and clone the fork to get a local copy:: + + git clone https://github.com/<username>/thevenin.git + +You will likely also want to setup a remote to the upstream repository for dealing with merge conflicts and version patches, as discussed below. To set up an ``upstream`` remote use:: + + git remote add upstream https://github.com/ROVI-org/thevenin.git + +Bug Fixes +^^^^^^^^^ +Always prioritize fixing bugs in the ``main`` branch first. Older releases should only be patched on a case-by-case basis, primarily focusing on the most recent releases. It is possible that known bugs will not be patched for versions that are more than three releases old. If you are patching ``main``, follow the directions in the :ref:`New features` section. Otherwise, to patch a bug on a previous release, follow these steps: + +1. Fetch the release branches and create a new branch off the release:: + + git fetch upstream + git checkout -b bug-description-#123 upstream/v1.1.x + +2. Work on your local branch to fix the bug. Commit and push back to your fork as needed:: + + git add . + git commit -m "Resolved bug causing ... (#123)" + git push origin bug-descriptio-#123 + +3. Submit a pull request (PR) targeting the specific release branch (e.g., ``v1.1.x``). Only bug fixes should be submitted to release branches -- no new features. Make sure you fill out the pull request template and include more detail than was provided in your commit messages. After all continuous integration (CI) checks are passing, a reviewer will be assigned and will follow up according to the :doc:`review process <review_process>`. + +4. If you opened a PR and any CI checks are failing, simply continue working on your branch and committing. All extra commits will automatically be added to the PR. + +6. Repeat this processes as necessary to patch additional older versions. Unfortunately, each version needs to be patched individually, which creates more work for developers, and is the reason we prioritize which versions get patched and which do not. At a minimum, patches should always be applied to all versions between the original patched release and main. For example, patches to ``v1.1.x`` should also be applied for ``v1.2.x`` and above, including ``main``, but do not necessarily need to be submitted for ``v1.0.x``. + +.. _New features: + +New Features +^^^^^^^^^^^^ +New features should be added to branches off ``main``. Before you branch off your local branch, make sure it is up-to-date with the upstream repo. You can either use the GitHub web interface to sync your fork with the upstream repository and then run:: + + git checkout main + git pull + +or, if you setup the ``upstream`` remote, you can do this all in the command line using:: + + git fetch upstream + git checkout main + git merge upstream/main + git push origin main + +You should never commit directly to a ``main`` branch, even including your local or forked ``main`` branch. Instead, your ``main`` branch should always either be synced with the upstream repo, or should simply be behind by some number of commits depending on the last time it was synced. After syncing, create a new branch. Your new branch should be named according to the directions above depending on whether it is a bug fix or for a new feature. Here we demonstrate a new feature:: + + git checkout -b branch-name-#456 + +Once the new branch is created, follow the steps below to add your new feature: + +1. Work on your local branch to add the feature. Commit and push back to your fork as needed:: + + git add . + git commit -m "Working new feature (#456)" + git push origin branch-name-#456 + +2. Submit a pull request targeting the upstream ``main`` branch. Make sure you fill out the pull request template and include more detail than was provided in your commit messages. After all CI checks are passing, a reviewer will be assigned and will follow up according to the :doc:`review process <review_process>`. + +3. If you opened a PR and any CI checks are failing, simply continue working on your branch and committing. All extra commits will automatically be added to the PR. + +4. After the PR is accepted and merged into the upstream repository, delete your new branch locally and in your GitHub repo:: + + git checkout main + git branch -d branch-name-#456 + git push origin --delete branch-name-#456 + git fetch --prune + +Merge Conflicts +--------------- +If you've submitted a PR and are seeing merge conflicts you should take the following steps: + +1. Make sure your ``main`` branch is synced with the ``upstream`` remote:: + + git fetch upstream + git checkout main + git merge upstream/main + git push main + +2. Rebase your local bug/feature branch onto ``main``:: + + git checkout branch-name-#456 + git rebase main + +3. Address merge conflicts as needed and continue the rebase:: + + git rebase --continue + +4. Recommit and push as normal and verify the merge conflict in the PR gets removed. At this point, if you are still having issues, please leave a comment in the PR asking a core developer to help out. + +Continuous Integration +---------------------- +Every pull request is automatically tested using GitHub Actions. The CI workflow runs linting, spellchecking, and tests against all major operating systems and supported Python versions. Pull requests should only be merged when all tests pass unless a core developer explicitly makes an exception (e.g., for a soon-to-be-unsupported Python version). + +Running tests locally is encouraged during development:: + + nox -s tests + +Prior to commits and pushes, we also include a ``pre-commit`` session using ``nox`` that will run through these same tests AND will check for linting and misspellings. Use this prior to pushes and/or pull requests:: + + nox -s pre-commit + +This ensures all tests pass before pushing any changes. \ No newline at end of file diff --git a/docs/source/examples/dict_inputs.ipynb b/docs/source/examples/dict_inputs.ipynb new file mode 100644 index 0000000..a8dfd7a --- /dev/null +++ b/docs/source/examples/dict_inputs.ipynb @@ -0,0 +1,235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dictionary Inputs\n", + "In the previous example, the model parameters were built from a '.yaml' file. In some cases, the functional parameters are relatively complex and can be challenging to specify in the '.yaml' format. Therefore, the model can also be constructed using a dictionary, as demonstrated below.\n", + "\n", + "## Import Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Define the Parameters\n", + "In addition to the open circuit voltage (`ocv`), all circuit elements (i.e., `R0`, `R1`, `C1`, etc.) must be specified as functions. While `OCV` is only a function of the state of charge (`soc`, -), the circuit elements are function of both soc and temperature (`T_cell`, K). It is important that these are the only inputs to the functions and that the inputs are given in the correct order. \n", + "\n", + "The functions below come from fitting the equivalent circuit model to a 75 Ah graphite-NMC battery made by Kokam. Fits were performed using charge and discharge pulses from HPPC tests done at multiple temperatures. The `soc` was assumed constant during a single pulse and each resistor and capacitor element was fit as a constant for a given soc/temperature condition. Expressions below come from AI-Batt, which is an open-source software capable of semi-autonomously identifying algebraic expressions that map inputs (`soc` and `T_cell`) to outputs (`R0`, `R1`, `C1`)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "stressors = {'q_dis': 1.}\n", + "\n", + "\n", + "def calc_xa(soc: float) -> float:\n", + " return 8.5e-3 + soc*(7.8e-1 - 8.5e-3)\n", + "\n", + "\n", + "def calc_Ua(soc: float) -> float:\n", + " xa = calc_xa(soc)\n", + " Ua = 0.6379 + 0.5416*np.exp(-305.5309*xa) \\\n", + " + 0.0440*np.tanh(-1.*(xa-0.1958) / 0.1088) \\\n", + " - 0.1978*np.tanh((xa-1.0571) / 0.0854) \\\n", + " - 0.6875*np.tanh((xa+0.0117) / 0.0529) \\\n", + " - 0.0175*np.tanh((xa-0.5692) / 0.0875)\n", + "\n", + " return Ua\n", + "\n", + "\n", + "def normalize_inputs(soc: float, T_cell: float) -> dict:\n", + " inputs = {\n", + " 'T_norm': T_cell / (273.15 + 35.),\n", + " 'Ua_norm': calc_Ua(soc) / 0.123,\n", + " }\n", + " return inputs\n", + "\n", + "\n", + "def ocv_func(soc: float) -> float:\n", + " coeffs = np.array([\n", + " 1846.82880284425, -9142.89133579961, 19274.3547435787, -22550.631463739,\n", + " 15988.8818738468, -7038.74760241881, 1895.2432152617, -296.104300038221,\n", + " 24.6343726509044, 2.63809042502323,\n", + " ])\n", + " return np.polyval(coeffs, soc)\n", + "\n", + "\n", + "def R0_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([4.07e12, 23.2, -16., -47.5, 2.62])\n", + "\n", + " R0 = b[0] * np.exp( b[1] / T_norm**4 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/3) ) \\\n", + " * np.exp( b[3] / T_norm**0.5 ) \\\n", + " * np.exp( b[4] / stressors['q_dis'] )\n", + "\n", + " return R0\n", + "\n", + "\n", + "def R1_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([2.84e-5, -12.5, 11.6, 1.96, -1.67])\n", + "\n", + " R1 = b[0] * np.exp( b[1] / T_norm**3 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/4) ) \\\n", + " * np.exp( b[3] / stressors['q_dis'] ) \\\n", + " * np.exp( b[4] * soc**4 )\n", + "\n", + " return R1\n", + "\n", + "\n", + "def C1_func(soc: float, T_cell: float) -> float:\n", + " inputs = normalize_inputs(soc, T_cell)\n", + " T_norm = inputs['T_norm']\n", + " Ua_norm = inputs['Ua_norm']\n", + "\n", + " b = np.array([19., -3.11, -27., 36.2, -0.256])\n", + "\n", + " C1 = b[0] * np.exp( b[1] * soc**4 ) \\\n", + " * np.exp( b[2] / T_norm**4 * Ua_norm**(1/2) ) \\\n", + " * np.exp( b[3] / T_norm**3 * Ua_norm**(1/3) ) \\\n", + " * np.exp( b[4] / stressors['q_dis']**3 )\n", + "\n", + " return C1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Construct a Model\n", + "The model is constructed below using all necessary keyword arguments. You can see a list of these parameters using ``help(thevenin.Model)``." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "params = {\n", + " 'num_RC_pairs': 1,\n", + " 'soc0': 1.,\n", + " 'capacity': 75.,\n", + " 'mass': 1.9,\n", + " 'isothermal': False,\n", + " 'Cp': 745.,\n", + " 'T_inf': 300.,\n", + " 'h_therm': 12.,\n", + " 'A_therm': 1.,\n", + " 'ocv': ocv_func,\n", + " 'R0': R0_func,\n", + " 'R1': R1_func,\n", + " 'C1': C1_func,\n", + "}\n", + "\n", + "model = thevenin.Model(params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Build an Experiment\n", + "Experiments are built using the `Experiment` class. An experiment starts out empty and is then constructed by adding a series of current-, voltage-, or power-controlled steps. Each step requires knowing the control mode/units, the control value, a relative time span, and limiting criteria (optional). Control values can be specified as either constants or dynamic profiles with sinatures like `f(t: float) -> float` where `t` is the relative time of the new step, in seconds. The experiment below discharges at a nominal C/5 rate for up to 5 hours. A limit is set such that if the voltage hits 3 V then the next step is triggered early. Afterward, the battery rests for 10 min before charging at C/5 for 5 hours or until 4.2 V is reached. The final step is a 1 hour voltage hold at 4.2 V.\n", + "\n", + "Note that the time span for each step is constructed as `(t_max: float, dt: float)` which is used to determine the time array as `tspan = np.arange(0., t_max + dt, dt)`. You can also construct a time array given `(t_max: float, Nt: int)` by using an integer instead of a float in the second position. In this case, `tspan = np.linspace(0., t_max, Nt)`. To learn more about building an experiment, including which limits are allowed and/or how to adjust solver settings on a per-step basis, see the documentation `help(thevenin.Experiment)`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 15., (5.*3600., 60.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 5.))\n", + "expr.add_step('current_A', -15., (5.*3600., 60.), limits=('voltage_V', 4.2))\n", + "expr.add_step('voltage_V', 4.2, (3600., 60.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run the Experiment\n", + "Experiments are run using either the `run` method, as shown below, or the `run_step` method. The difference between the two is that the `run` method will run all experiment steps with one call. If you would prefer to run the discharge first, perform an analysis, and then run the rest, etc. then you will want to use the `run_step` method. In this case, you should always start with step 0 and then run the following steps in order. When you use `run_step` the models internal state is saved at the end of each step. Therefore, after all steps have been run, you should run the `pre` method to pre-process the model back to its original initial state. All of this is handled automatically in the `run` method.\n", + "\n", + "Regardless of how you run your experiment, the return value will be a solution instance. Solution instances each contain a `vars` attribute which contains a dictionary of the output variables. Keys are generally self descriptive and include units where applicable. To quickly plot any two variables against one another, use the `plot` method with the two keys of interest specified for the `x` and `y` variables of the figure. Below, time (in hours) is plotted against voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "soln = model.run(expr)\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/examples/index.rst b/docs/source/examples/index.rst new file mode 100644 index 0000000..7070c0c --- /dev/null +++ b/docs/source/examples/index.rst @@ -0,0 +1,37 @@ +.. _examples: + +Examples +======== +Examples below demonstrate how to set up and simulate Thevenin equivalent circuits with different configurations and experiments. These examples highlight the flexibility and ease of use of the package. Each example includes both descriptions and code snippets to help you get started with implementing your own models efficiently. + +.. grid:: 1 2 2 2 + + .. grid-item-card:: Basic tutorial + :class-footer: border-0 + :padding: 2 + + Get started by learning how to configure + model inputs and options. + + .. toctree:: + :numbered: + :titlesonly: + :caption: Basic tutorial + + yaml_inputs.ipynb + dict_inputs.ipynb + + .. grid-item-card:: Dynamic loads + :class-footer: border-0 + :padding: 2 + + Learn more about complex experiments and + debugging when steps fail. + + .. toctree:: + :numbered: + :titlesonly: + :caption: Dynamic loads + + ramping.ipynb + step_functions.ipynb diff --git a/docs/source/examples/ramping.ipynb b/docs/source/examples/ramping.ipynb new file mode 100644 index 0000000..128de7c --- /dev/null +++ b/docs/source/examples/ramping.ipynb @@ -0,0 +1,176 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ramping\n", + "Even with robust numerical solvers and thoughtfully chosen default tolerances, simulations may occasionally fail under certain conditions. This is often due to either inconsistent initial conditions or stiffness issues that prevent proper initialization from a rested state. While our solvers are designed to handle many scenarios effectively, the following issues may still arise:\n", + "\n", + "1. **Inconsistent initial conditions:**\n", + " \n", + " Many solvers are capable of detecting and resolving inconsistent initial conditions before taking the first step. However, this feature can be disabled, allowing bad initial conditions to be passed to the solver, and generally resulting in failures.\n", + "\n", + "2. **Stiff problems:**\n", + " \n", + " Some problems are inherently stiff and cannot be initialized effectively, even with a solver's initialization correction schemes. In such cases, the solver may have difficulty determining a stable solution.\n", + "\n", + "To address these issues, introducing a ramped load can stabilize the simulation. By default, Thevenin models are set to always ask the solver to correct the initial condition. The starting guess that gets passed to the solver is always a rested condition. Therefore, ramped loads can gradually adjust from the initial state to the desired load, making them easier for the solver to handle. This technique helps avoid the solver crashing due to an abrupt change in load.\n", + "\n", + "In this tutorial, we will demonstrate how to use the `loadfns` module to create a ramped load profile. While we will focus one specific function, other useful helper functions are available in the `loadfns` module, and we encourage you to explore the full documentation for more information." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating Ramped Demands\n", + "Thevenin supports both constant and dynamic load profiles for each experimental step. For example, below we make a profile that discharges the battery at a constant current until 3.5 V and then charges the battery by ramping the voltage until 4.2 V." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import matplotlib.pyplot as plt\n", + "\n", + "def voltage_ramp(t: float) -> float:\n", + " return 3.5 + 5e-3*t\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (3600., 60.), limits=('voltage_V', 3.5))\n", + "expr.add_step('voltage_V', voltage_ramp, (600., 10.), limits=('voltage_V', 4.2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This general approach provides the most flexibility so users can write any constant or dynamic load, including interpolations of data. However, we also provide select loads in the `loadfns` module that help with both solver stability and reduce the amount of code users need to write out for simple profiles. For instance, the same experiment above can also be constructed using the `Ramp` class, as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "voltage_ramp = thevenin.loadfns.Ramp(5e-3, 3.5)\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (3600., 60.), limits=('voltage_V', 3.5))\n", + "expr.add_step('voltage_V', voltage_ramp, (600., 10.), limits=('voltage_V', 4.2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below, we demonstrate running this experimental protocol so we can see that it is doing what we expect." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = thevenin.Model()\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_min', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Stability Ramps\n", + "Aside from a constant ramp, like `Ramp` demonstrated above, ramps are also commonly used to quickly move from a rested state to a constant load. This can help with solver stability over trying to instantaneously pull a load. To build this type of provile, use the `Ramp2Constant` class. Below, we ramp up to a 20 C discharge in one millisecond and then hold the 20 C discharge rate until 3 V." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dynamic_load = thevenin.loadfns.Ramp2Constant(20*75/1e-3, 20*75)\n", + "\n", + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', dynamic_load, (180., 0.5), limits=('voltage_V', 3.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_s', 'current_A')\n", + "soln.plot('time_s', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These types of \"stability\" ramps become more and more helpful (or needed) as loads become more demanding. They can also depend on the model's parameter set, i.e., for one set of parameters the model may start crashing at a 5 C discharge whereas another set is stable up to 50 C. \n", + "\n", + "## Comparing to Instantaneous Demands\n", + "The default model parameters, and the Thevenin model in general, is typically fairly stable compared to other higher-fidelity models (e.g., the single particle model or pseudo-2D model). Therefore, here we can also demonstrate that when we run an instantaneous 20 C discharge profile that the results are not significantly impacted. See the figure below that compares the voltage profile above to one obtained without the ramped profile." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75*20, (180., 75), limits=('voltage_V', 3.))\n", + "\n", + "soln2 = model.run(expr)\n", + "\n", + "plt.plot(soln.vars['time_s'], soln.vars['voltage_V'], '-k')\n", + "plt.plot(soln2.vars['time_s'], soln2.vars['voltage_V'], 'ok', markerfacecolor='none')\n", + " \n", + "plt.xlabel('Time [s]');\n", + "plt.ylabel('Voltage [V]');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Due to the ramp the initial conditions are obviously a bit different. However, since the ramp occurs over just one millisecond, the profile from the ramped case (solid line) very quickly adjusts to the same voltage as the case where current is instantaneous (open markers). The solutions maintain good agreement throughout the rest of discharge." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "In this tutorial, you’ve seen how ramped loads can stabilize simulations that struggle with abrupt load changes. By using the loadfns module, you can easily implement these profiles, ensuring smoother transitions for the solver. For more advanced load functions, check out the full documentation to optimize your simulations further." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/examples/step_functions.ipynb b/docs/source/examples/step_functions.ipynb new file mode 100644 index 0000000..464a639 --- /dev/null +++ b/docs/source/examples/step_functions.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step Functions\n", + "In many experimental setups, dynamic loads are applied to simulate realistic operating conditions. Experimental platforms often handle these dynamic loads effectively, interpolating between data points if necessary to create smooth profiles. However, while interpolation is a convenient tool, there are situations where it might not be the best approach for simulating system behavior. Therefore, we also supply helper functions to construct step-based load profiles.\n", + "\n", + "## Why not interpolate?\n", + "Interpolating data can introduce a level of artificial smoothness that doesn't always reflect the abrupt changes seen in real-world systems. For example, interpolated loads are often used to ease solver convergence, but they may not capture the behavior of systems that respond rapidly to changes. This is particularly important for systems that exhibit stepwise or discrete changes in load, where instantaneous shifts between levels are more appropriate than a continuous curve.\n", + "\n", + "While writing an interpolation function is typically straightforward—requiring little more than a call to a standard library, the complexity increases when building a function that implements stepwise behavior. A step function requires more careful attention to correctly represent when and where the system load changes instantaneously. Consequently, we provide this functionality within the `loadfns` modeule to reduce the users' burden to have to develop their own. \n", + "\n", + "## Overview\n", + "When dealing with numerical simulations, introducing ramps between load changes can significantly improve the stability of the solver, reducing the risk of failure during abrupt transitions. Sudden, instantaneous changes in load can sometimes cause solvers to struggle, especially with stiff systems, leading to crashes or errors. That’s why in Thevenin, we offer two classes for defining stepped load profiles: `StepFunction` and `RampedSteps`.\n", + "\n", + "The `StepFunction` class is designed for scenarios where immediate, instantaneous changes in load are appropriate, while the `RampedSteps` class helps transition between steps by applying an interpolation ramps over a specified time interval at the start of each new step. These two approaches cover a wide range of scenarios, from systems that can handle rapid shifts to those that require more stable transitions.\n", + "\n", + "Below, we will cover:\n", + "1. Building load profiles using interpolated data.\n", + "2. Setting up multi-step experiments using for loops.\n", + "3. Using the `StepFunctio` class to create instantaneous stepped loads.\n", + "4. Using the `RampedSteps` class to create stable transitions between load steps.\n", + "\n", + "## Dynamic Experiments\n", + "To create dynamic load profiles, especially for more complex experiments, there are many approaches you can take. The `Experiment` class allows users to pass in any Python `Callable` like `f(t: float) -> float` to control each step. Therefore, if you have data, you can easily interpolate the data to create a load profile, or you can automate the construction of load steps using a for loop. Below we demonstrate both approaches." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import numpy as np\n", + "\n", + "model = thevenin.Model()\n", + "\n", + "# Fake hour-by-hour load data\n", + "time_s = 3600.*np.array([0., 1., 2., 3., 4., 5.])\n", + "current_A = model.capacity*np.array([0.6, 0.3, -0.5, 0.2, 0.3, -0.1])\n", + "\n", + "# Interpolating the data\n", + "interp = lambda t: np.interp(t, time_s, current_A)\n", + "\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "expr.add_step('current_A', interp, (3600*6, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the script above, the data represents hour-by-hour constant-current loads, which might represent some stationary storage system. Since the current is constant across each hour, interpolating between points poorly approximates the actual system behavior. However, interpolation might be more relevant for other dynamic systems like electric vehicles, where data is resolved on shorter timescales, such as seconds.\n", + "\n", + "A better approach for modeling constant-step experiments, rather than using interpolation, is to manually construct the steps using a for loop. In the code block below, we demonstrate how to create a new experiment with multiple steps, where each step lasts one hour, and the current is set by the values in the `current_A` array." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Looping over constant steps\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "for amps in current_A:\n", + " expr.add_step('current_A', amps, (3600, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This loop-based method significantly improves the accuracy of the results in this case. You can see how different the two voltage profiles are when the load profile is applied correctly, instead of using interpolation. This loop-based approach offers the most flexibility and is recommended when users need precise control over each step. For example, using the `add_step` method allows you to add different limits to each step, which can be incorporated into the loop. This level of control is not always possible with other methods.\n", + "\n", + "## Ramped Transitions\n", + "Unlike `StepFunction`, the `RampedSteps` class introduces \"smooth\" transitions between load steps by ramping up or down over a specified time period. This method is especially useful when dealing with stiff systems, where abrupt changes might otherwise cause solver instability. Below we demonstrate this using the same hour-by-hour profile from above. We set the ramp between steps to be just one millisecond so that the transitions are still quick and approximate an instantaneous change. In this case, the added ramps improve the stability and the full simulation is run, as shown in the figure. Overall, the results are nearly identical to the loop-based approach since the ramps are set to occur over such a small time scale. In particular, the main difference is shown in the current profile, where you can briefly see the first ramp (starting from zero current at `t = 0`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Stabilize the solver with ramped steps\n", + "demand = thevenin.loadfns.RampedSteps(time_s, current_A, 1e-3)\n", + "\n", + "expr = thevenin.Experiment(max_dt=60.)\n", + "expr.add_step('current_A', demand, (3600*6, 60.))\n", + "\n", + "soln = model.run(expr)\n", + "soln.plot('time_h', 'current_A')\n", + "soln.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "While the `RampedSteps` class improves solver stability, it still lacks flexibility for setting limits on each individual step. For instance, you could apply limits to stop the simulation if the voltage goes outside a specific window (e.g., [3, 4.2]), but this would simply end the entire simulation prematurely. In most cases, you wouldn’t want to stop the simulation completely but instead transition to the next step early. To achieve this behavior, you would need to use loops, or alternatively, set up multiple instances of the `RampedSteps` class if you want to transition between groups of steps based on specific limits rather than between individual steps.\n", + "\n", + "In general, if maximum flexibility is needed, more manual setup is required for multi-step experiments. However, if you can work within the limitations of `RampedSteps`, it is a powerful tool for quickly constructing step-like profiles while maintaining some degree of stability.\n", + "\n", + "## Conclusion\n", + "In this tutorial, we explored various methods for constructing dynamic load profiles using Thevenin’s `StepFunction` and `RampedSteps` classes. We’ve shown how both instantaneous steps and ramps between steps can be modeled and discussed the trade-offs between flexibility, stability, and ease of use. While loop-based approaches offer the greatest control, `RampedSteps` provides a simple and effective way to ensure stability in simulations, making it a valuable option for many users. Ultimately, the best method depends on the complexity of the load profile you need and the requirements of your specific experiment or model." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/examples/yaml_inputs.ipynb b/docs/source/examples/yaml_inputs.ipynb new file mode 100644 index 0000000..79a2444 --- /dev/null +++ b/docs/source/examples/yaml_inputs.ipynb @@ -0,0 +1,243 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# YAML File Inputs\n", + "This basic example will walk you through understanding the three main classes required to build and exercise equivalent circuit models using this package. The three classes as the `Model`, `Experiment`, and `StepSolution` or `CylceSolution` classes. Models hold parameters associated with defining the battery circuit, experiments list a series of sequential steps that define a test protocol or duty cycle, and the solution classes provide an interface to access, manipulate, and/or plot the solution.\n", + "\n", + "## Import Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import thevenin\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Construct a Model\n", + "The model class can be constructed using either a '.yaml' file or a dictionary that specifies all keyword arguments shown in the documentation (`help(thevenin.Model)`). A default '.yaml' file is read in when no input is provided. This is simply for convenience to help users get up and going as quickly as possible. However, you should learn how to write your own '.yaml' file or dictionary input if you would like to use this package to its fullest extent. \n", + "\n", + "The '.yaml' format is very similar to building a dictionary in Python. Use the default 'params.yaml' file given below as a template for your own files. Note that the open circuit voltage `ocv` and circuit elements (`R0`, `R1`, and `C1`) must be input as a `Callable` with the correct inputs in the correct order, i.e., `f(soc: float) -> float` for `ocv` and `f(soc: float, T_cell: float) -> float` for all RC elements. The inputs represent the state of charge (`soc`, -) and cell temperature (`T_cell`, K). Resistor and capacitor outputs should be in Ohm and F, respectively. Since '.yaml' files do not natively support python functions, this package uses a custom `!eval` constructor to interpret functional parameters. The `!eval` constructor should be followed by a pipe `|` so that the interpreter does not get confused by the colon in the `lambda` expression. `np` expressions and basic math are also supported when using the `!eval` constructor.\n", + "\n", + "```yaml\n", + "num_RC_pairs: 1\n", + "soc0: 1.\n", + "capacity: 75.\n", + "mass: 1.9\n", + "isothermal: False\n", + "Cp: 745.\n", + "T_inf: 300.\n", + "h_therm: 12.\n", + "A_therm: 1.\n", + "ocv: !eval | \n", + " lambda soc: 84.6*soc**7 - 348.6*soc**6 + 592.3*soc**5 - 534.3*soc**4 \\\n", + " + 275.*soc**3 - 80.3*soc**2 + 12.8*soc + 2.8\n", + "R0: !eval |\n", + " lambda soc, T_cell: 1e-4 + soc/1e5 - T_cell/3e7\n", + "R1: !eval |\n", + " lambda soc, T_cell: 1e-5 + soc/1e5 - T_cell/3e7\n", + "C1: !eval |\n", + " lambda soc, T_cell: 1e4 + soc*1e4 + np.exp(T_cell/300.)\n", + "```\n", + "\n", + "Although this example only uses a single RC pair, `num_RC_pairs` can be as low as 0 and can be as high as $N$. The number of defined `Rj` and `Cj` elements in the '.yaml' file should be consistent with `num_RC_pairs`. For example, if `num_RC_pairs=0` then only `R0` should be defined, with no other resistors or capacitors. However, if `num_RC_pairs=3` then the user should specify `R0`, `R1`, `R2`, `R3`, `C1`, `C2`, and `C3`. Note that the series resistor element `R0` is always included, even when there are no RC pairs. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[thevenin UserWarning]: Using the default parameter file 'params.yaml'.\n", + "\n" + ] + } + ], + "source": [ + "model = thevenin.Model()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When using the default parameters, a warning will always print. This is to ensure the user is running with their preferred inputs. In the case that a user has a file by the same name, the package will take the default as its preference. Be sure to specify the local or absolute path in this case, e.g., `./params.yaml`, or simply rename your file.\n", + "\n", + "## Build an Experiment\n", + "Experiments are built using the `Experiment` class. An experiment starts out empty and is then constructed by adding a series of current-, voltage-, or power-controlled steps. Each step requires knowing the control mode/units, the control value, a relative time span, and limiting criteria (optional). Control values can be specified as either constants or dynamic profiles with sinatures like `f(t: float) -> float` where `t` is the relative time of the new step, in seconds. The experiment below discharges at a nominal 1C rate for up to 1 hour. A limit is set such that if the voltage hits 3 V then the next step is triggered early. Afterward, the battery rests for 10 min before charging at 1C for 1 hours or until 4.3 V is reached. The remaining three steps perform a voltage hold at 4.3 V for 10 min, a constant power profile of 200 W for 1 hour or until 3.8 V is reached, and a sinusoidal voltage load for 10 min centered around 3.8 V.\n", + "\n", + "Note that the time span for each step is constructed as `(t_max: float, dt: float)` which is used to determine the time array as `tspan = np.arange(0., t_max + dt, dt)`. You can also construct a time array given `(t_max: float, Nt: int)` by using an integer instead of a float in the second position. In this case, `tspan = np.linspace(0., t_max, Nt)`. To learn more about building an experiment, including which limits are allowed and/or how to adjust solver settings on a per-step basis, see the documentation `help(thevenin.Experiment)`." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "dynamic_load = lambda t: 10e-3*np.sin(2.*np.pi*t / 120.) + 3.8\n", + "\n", + "expr = thevenin.Experiment(max_dt=10.)\n", + "expr.add_step('current_A', 75., (3600., 1.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 1.))\n", + "expr.add_step('current_A', -75., (3600., 1.), limits=('voltage_V', 4.3))\n", + "expr.add_step('voltage_V', 4.3, (600., 1.))\n", + "expr.add_step('power_W', 200., (3600., 1.), limits=('voltage_V', 3.8))\n", + "expr.add_step('voltage_V', dynamic_load, (600., 1.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run the Experiment\n", + "Experiments are run using either the `run` method, as shown below, or the `run_step` method. The difference between the two is that the `run` method will run all experiment steps with one call. If you would prefer to run the discharge first, perform an analysis, and then run the rest, etc. then you will want to use the `run_step` method. In this case, you should always start with step 0 and then run the following steps in order. When you use `run_step` the models internal state is saved at the end of each step. Therefore, after all steps have been run, you should run the `pre` method to pre-process the model back to its original initial state. All of this is handled automatically in the `run` method.\n", + "\n", + "Regardless of how you run your experiment, the return value will be a solution instance. Solution instances each contain a `vars` attribute which contains a dictionary of the output variables. Keys are generally self descriptive and include units where applicable. To quickly plot any two variables against one another, use the `plot` method with the two keys of interest specified for the `x` and `y` variables of the figure. Below, time (in hours) is plotted against voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sol = model.run(expr)\n", + "sol.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To run step-by-step, perform the following." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Run each index, starting with 0\n", + "solns = []\n", + "for i in range(expr.num_steps):\n", + " solns.append(model.run_step(expr, i))\n", + " \n", + "# Re-run the pre-processor in case you'd like to run another experiment\n", + "model.pre()\n", + " \n", + "# Look at the first step solution (i.e., the 1C discharge)\n", + "solns[0].plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you run an experiment step-by-step, you can also manually stitch them together into a `CycleSolution` once you are finished. Alternatively, if you have a `CycleSolution`, you can pull a single `StepSolution` or a subset of the `CycleSolution` using the `get_steps` method. See below for an example." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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5QYAALgVyg0AAHArlBsAAOBWKDc2evfdd9WiRQv5+fmpV69e2rJlyxX3X7Zsmdq3by8/Pz916dJFK1eudFJS57HlmMybN0/9+/dXaGioQkNDNWjQoF89hrWRrb8n5yUkJMhisej22293bEAT2HpMTp8+rUmTJqlp06by9fVV27Zt3e6/H1uPyZtvvql27dqpXr16ioqK0uOPP67i4mInpXWstWvXatiwYWrWrJksFos+++yzX33OmjVr1L17d/n6+qp169ZatGiRw3M6k63H5NNPP9XgwYPVqFEjBQUFKS4uTomJic4J62oMVFtCQoLh4+NjLFy40Pjpp5+MCRMmGCEhIUZ2dvYl9//+++8NT09P45VXXjF2795tTJs2zfD29jaSk5OdnNxxbD0mI0eONN59911jx44dxp49e4wxY8YYwcHBxpEjR5yc3HFsPSbnpaamGhEREUb//v2N4cOHOyesk9h6TEpKSoyePXsaQ4cONdavX2+kpqYaa9asMXbu3Onk5I5j6zFZvHix4evrayxevNhITU01EhMTjaZNmxqPP/64k5M7xsqVK42nn37a+PTTTw1JxooVK664f0pKilG/fn3jiSeeMHbv3m28/fbbhqenp/H11187J7AT2HpMJk+ebLz88svGli1bjP379xtTp041vL29je3btzsnsAuh3NjguuuuMyZNmlT1dUVFhdGsWTNj5syZl9x/xIgRxi233HLBtl69ehkPPfSQQ3M6k63H5JfKy8uNwMBA44MPPnBURKeryTEpLy83+vTpY8yfP98YPXq025UbW4/JnDlzjJiYGKO0tNRZEZ3O1mMyadIk48Ybb7xg2xNPPGH07dvXoTnNUJ0P8v/7v/8zOnXqdMG2e+65x7j55psdmMw81Tkml9KxY0djxowZ9g/k4jgtVU2lpaXatm2bBg0aVLXNw8NDgwYN0saNGy/5nI0bN16wvyTdfPPNl92/tqnJMfmloqIilZWVqUGDBo6K6VQ1PSbPPfecGjdurHHjxjkjplPV5Jh8/vnniouL06RJkxQeHq7OnTvrpZdeUkVFhbNiO1RNjkmfPn20bdu2qlNXKSkpWrlypYYOHeqUzK7G3f++2oPValVBQYHb/H21RZ27cWZN5ebmqqKiQuHh4RdsDw8P1969ey/5nKysrEvun5WV5bCczlSTY/JLU6ZMUbNmzS76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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Stitch the step solutions together\n", + "cycle_soln = thevenin.CycleSolution(*solns)\n", + "cycle_soln.plot('time_h', 'voltage_V')\n", + "\n", + "# Pull steps 1--3 (inclusive)\n", + "some_steps = cycle_soln.get_steps((1, 3))\n", + "some_steps.plot('time_h', 'voltage_V')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..62f8a3a --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,138 @@ +.. raw:: html + + <embed> + </br> + <img alt='logo' class='onlight bg-transparent' src='_static/light.png' + style='width: 75%; min-width: 250px; max-width: 500px;'> + <img alt='logo' class='ondark bg-transparent' src='_static/dark.png' + style='width: 75%; min-width: 250px; max-width: 500px;'> + </br> + </br> + </embed> + +======= +Summary +======= +The Thevenin equivalent circuit model is a common low-fidelity battery model consisting of a single resistor in series with any number of RC pairs, i.e., parallel resistor-capacitor pairs. This Python package contains an API for building and running experiments using Thevenin models. + +.. toctree:: + :caption: User guide + :hidden: + :maxdepth: 2 + + User guide <user_guide/index> + +.. toctree:: + :caption: API Reference + :hidden: + :maxdepth: 2 + + API Reference <api/thevenin/index> + +.. toctree:: + :caption: Examples + :hidden: + :maxdepth: 2 + + Examples <examples/index> + +.. toctree:: + :caption: Development + :hidden: + :maxdepth: 2 + + Development <development/index> + +**Version:** |version| + +**Useful links:** +`anaconda <https://www.anaconda.com/download>`_ | +`spyder <https://www.spyder-ide.org/>`_ | +`numpy <https://numpy.org/doc/stable/>`_ | +`scikits.odes <https://bmcage.github.io/odes/dev/>`_ | +`matplotlib <https://matplotlib.org/stable/users/>`_ + +.. grid:: 1 2 2 2 + + .. grid-item-card:: User guide + :class-footer: border-0 + :padding: 2 + + Access installation instructions and in-depth + information on solver concepts and settings. + + .. image:: static/user_guide.svg + :class: bg-transparent + :align: center + :height: 75px + + +++ + .. button-ref:: user_guide/index + :expand: + :color: primary + :click-parent: + + To the user guide + + .. grid-item-card:: API Reference + :class-footer: border-0 + :padding: 2 + + Get detailed documentation on all of the modules, + functions, classes, etc. + + .. image:: static/api_reference.svg + :class: bg-transparent + :align: center + :height: 75px + + +++ + .. button-ref:: api/thevenin/index + :expand: + :color: primary + :click-parent: + + Go to the docs + + .. grid-item-card:: Examples + :class-footer: border-0 + :padding: 2 + + A great place to learn how to use the package and + expand your skills. + + .. image:: static/examples.svg + :class: bg-transparent + :align: center + :height: 75px + + +++ + .. button-ref:: examples/index + :expand: + :color: primary + :click-parent: + + See some examples + + .. grid-item-card:: Development + :class-footer: border-0 + :padding: 2 + + Trying to fix a typo in the documentation? Looking + to improve or add a new feature? + + .. image:: static/development.svg + :class: bg-transparent + :align: center + :height: 75px + + +++ + .. button-ref:: development/index + :expand: + :color: primary + :click-parent: + + Read contributor guidelines + + + \ No newline at end of file diff --git a/docs/source/user_guide/basic_tutorial.ipynb b/docs/source/user_guide/basic_tutorial.ipynb new file mode 100644 index 0000000..fb1d601 --- /dev/null +++ b/docs/source/user_guide/basic_tutorial.ipynb @@ -0,0 +1,256 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Basic Tutorial\n", + "The Thevenin package is built around three main classes:\n", + "\n", + "1. `Model` - used to construct instances of an equivalent circuit.\n", + "2. `Experiment` - used to define an experimental protocol containing current, voltage, and/or power-controlled steps.\n", + "3. `Solution` - the result object(s) that contain simulation outputs when a particular model runs a particular experiment.\n", + "\n", + "Each of these classes exist at the base package level so they are easily accessible. In this tutorial you will be introduced to each of class through a minimal example. The example will demonstrate a typical workflow for constructing a model, defining an experiment, and interacting with the solution.\n", + "\n", + "## Construct a Model\n", + "The model class is constructed by providing options and parameters that define your circuit. The input can be given as either a dictionary or using a `.yaml` file. If you do not give an input, we include a default parameters file for you to get started. However, it is important that you understand this file and/or its dictionary equivalent so you can modify parameter definitions as necessary later. For more information about constructing model inputs, see the {ref}`examples <examples>` section.\n", + "\n", + "Here, we will start by simply using the default parameters. A warning will print when the default parameters are accessed, but we can ignore it. After initialization, the class can be printed to check all of the constant options/parameters. The model also contains functional parameters, i.e., properties that change as a function of state of charge (soc) and/or temperature. These values are difficult to represent in the printed output so they are not displayed." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model(\n", + "\tnum_RC_pairs=1,\n", + "\tsoc0=1.0,\n", + "\tcapacity=75.0,\n", + "\tmass=1.9,\n", + "\tisothermal=False,\n", + "\tCp=745.0,\n", + "\tT_inf=300.0,\n", + "\th_therm=12.0,\n", + "\tA_therm=1.0,\n", + ")\n" + ] + } + ], + "source": [ + "import thevenin\n", + "\n", + "model = thevenin.Model()\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Options and parameters can be changed after initialization by modifying the corresponding attribute. However, if you modify anything after initialization, you should ALWAYS run the preprocessor `pre()` method afterward. This method is run automatically when the class is first initialized, but needs to be run again manually in some cases. One such case is when options and/or parameters are changes. Forgetting to do this will cause the internal state and options to not be self consistent. We demonstrate the correct way to make changes below, by setting the `isothermal` option to `True`." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "model.isothermal = True \n", + "model.pre()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Define an Experiment\n", + "The model has two methods, `run()` and `run_step()` that correspond to the steps of the `Experiment` class. Similar to how a typical battery cycler would be programmed, an experiment is built by defining a series of sequential steps. Each step has its own mode (current, voltage, or power), value, time span, and limiting criteria.\n", + "\n", + "While we will not cover solver options in this tutorial, you should know that these options exist and are controlled through the `Experiment` class. Options that should be consistent throughout all steps should be set with keyword arguments when the class instance is created. You can also modify solver options at the per-step level (e.g., tighter tolerances) if needed. For more information, see the full documentation.\n", + "\n", + "Below we construct an experiment instance with two simple steps. The first step discharges the battery at a constant current until it reaches 3 V. Afterward, the battery rests for 10 minutes. Note that the sign convention for current and power are such that positive values discharge the cell and negative values charge the cell." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "expr = thevenin.Experiment()\n", + "expr.add_step('current_A', 75., (4000., 60.), limits=('voltage_V', 3.))\n", + "expr.add_step('current_A', 0., (600., 60.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are also control modes available for both voltage and power, and while we do not demonstrate it here, the load value does not need to be constant. By passing in a callable like `f(t) -> float` where `t` is time and the return value is your load at that time, you can also run a dynamic profiles within a step. \n", + "\n", + "Pay attention to two important details in the example above:\n", + "\n", + "1. The `tspan` input (third argument) uses 4000 seconds in the first step even though the current is chosen such that the battery should dischange within an hour. When `limits` is used within a step, and you want to guarantee the limit is actually reached, you will want to pick a time beyond when you expect the limiting event to occur.\n", + "2. The value `60.` in the second position of the `tspan` argument contains a trailing decimal on purpose. When the decimal is present, Python interprets this as a float rather than an integer. The time step behavior is sensitive to this. When a float is passed, the solution is saved in intervals of this value (here, every 60 seconds). If an integer is passed instead, the full timespan is split into that number of times. In otherwords, `dt = tspan[0] / (tspan[1] - 1)`. We recommend always use floats for steps that have limits.\n", + "\n", + "## Run the Simulation\n", + "As mentioned above, the model contains two methods to run an experiment. You can either run the entire series of experiment steps by calling `run()`, or you can run one step at a time by calling `run_step()`. The most important difference between the two is that the model's internal state is changed and saved at the end of each step when using `run_step()` so that it is ready for the following step. Therefore, steps should only ever be run in sequential order, and steps between multiple experiments should not be mixed. For example, to run the above two steps one at a time, run the following code." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "soln_0 = model.run_step(expr, 0)\n", + "soln_1 = model.run_step(expr, 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Indexing starts at zero to be consistent with the Python language. When steps are run one at a time, the output will be a `StepSolution`, which we discuss more below. \n", + "\n", + "It is common to setup multiple experiments that you'd like a model to run and to loop over them. For example, maybe you want to simulate different discharge rates using one experiment per rate. When using the `run()` method, you can do these back-to-back without much thought, however, when using `run_step()`, the `pre()` method should always be called before switching to another experiment. Otherwise, after the first experiment, the internal state will be at `soc = 0` and when the following experiment tries to discharge the cell at a higher rate, the results will not be physical. Likely this will lead to a crash. Therefore, before we demonstrate the `run()` method, we will call `pre()` to reset the model state from the steps run above." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "model.pre()\n", + "\n", + "soln = model.run(expr)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Interacting with Solutions\n", + "Simulation outputs will give one of two solution objects depending on your run mode. A `StepSolution` is returned when you run step by step and a `CycleSolution` is returned when using `run()`. The latter simply stitches together the individual step solutions. Each solution object has numerous attributes to inform the user whether or not their simulation was successful, how long the integrator took, etc. For `CycleSolution` instances, most of these values are lists where each index corresponds to experimental steps with the same indices. For example, below we see that both steps were successful and the total integration time." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "success = [True, True]\n", + "Solve time: 0.007 s\n" + ] + } + ], + "source": [ + "print(f\"success = {soln.success}\")\n", + "print(soln.solvetime)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most likely, everything else you will need to extract from solutions can be found in the solution's `vars` dictionary. This dictionary contains easy to read names and units for all of the model's outputs. You can always check the keys to this dictionary by printing the solution instance." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dict_keys(['time_s', 'time_min', 'time_h', 'soc', 'temperature_K', 'voltage_V', 'current_A', 'power_W', 'capacity_Ah', 'eta0_V', 'eta1_V'])\n" + ] + } + ], + "source": [ + "print(soln)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All values in the `vars` dictionary are 1D arrays that provide the values of the named variable at each integrator step. You can plot any two variables against each other using the `plot()` method. For example, to see voltage plotted against time, see below." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "soln.plot('time_min', 'voltage_V')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It can also be helpful to extract portions of a `CycleSolution` to examine what occurred within a given step, or to combine `StepSolution` instances so that you can post process or plotting purposes. Both of these features are available, as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "soln_0 = soln.get_steps(0)\n", + "soln_1 = soln.get_steps(1)\n", + "\n", + "soln = thevenin.CycleSolution(soln_0, soln_1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rovi", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/user_guide/equivalent_circuit_models.rst b/docs/source/user_guide/equivalent_circuit_models.rst new file mode 100644 index 0000000..5e244bf --- /dev/null +++ b/docs/source/user_guide/equivalent_circuit_models.rst @@ -0,0 +1,47 @@ +Equivalent Circuit Models +========================= +Equivalent circuit models (ECMs) are a class of simplified mathematical models used to represent the dynamic behavior of electrochemical devices, such as batteries, supercapacitors, and fuel cells. These models approximate the system's behavior using a combination of resistors, capacitors, and sometimes inductors, rather than attempting to model the underlying physics in detail. By abstracting the system into a circuit, ECMs provide a balance between model accuracy and computational efficiency, making them an attractive choice for many real-time applications such as state estimation, control, and diagnostics. + +ECMs are versatile and have a range of applications, including: + +* **Battery Management Systems (BMS):** Thevenin and Dual Polarization models are commonly used in BMS to estimate state of charge (SOC), state of health (SOH), and to predict voltage behavior under various load conditions. +* **Real-Time Control:** Due to their computational simplicity, ECMs are used in embedded systems to control devices in real time, such as regulating voltage or current in energy storage systems. +* **Diagnostics and Prognostics:** ECMs are often used in diagnostic applications to detect faults, degradation, or abnormal behaviors in electrochemical systems. +* **Simulations and Design:** Engineers and researchers can use ECMs to simulate the behavior of batteries, fuel cells, or capacitors in a variety of operating conditions, enabling better system design and optimization. + +Types of ECMs +------------- +Several ECMs are used in the literature, each with varying complexity and accuracy. Below is a summary of some common ECM types and their typical use cases: + +1. **Rint Model:** The Resistance-Only (Rint) model is a very simple ECM that only uses a voltage source and an internal resistance. + + - Advantages: + - Extremely simple and computationally efficient. + - Only need to characterize and fit one circuit element. + - Disadvantages: + - Unable to capture relaxation effects. + - Typical Uses: + - Rough estimations of voltage drop under load, simple first-order approximations. + +2. **Randles Model:** The Randles model is another common ECM, typically used for electrochemical impedance spectroscopy (EIS) studies. It features a resistor in series with a parallel combination of a capacitor and a Warburg element (representing diffusion). + + - Advantages: + - Can represent both charge transfer and diffusion effects. + - Well-suited for impedance analysis. + - Disadvantages: + - More complex, requiring additional parameters. + - Not as computationally efficient in real-time scenarios. + - Typical Uses: + - Impedance spectroscopy analysis. + +3. **Thevenin Model:** The Thevenin model is one of the most widely used ECMs for batteries. It consists of a voltage source, an internal resistance, and one or more RC pairs. The RC pairs capture dynamic behaviors such as relaxation and charge redistribution over time. + + - Advantages: + - Simple to implement. + - Efficient for real-time applications. + - Adequately captures short-term dynamics. + - Disadvantages: + - Limited accuracy for long-term dynamics or systems with significant hysteresis. + - Can oversimplify complex electrochemical processes. + - Typical Uses: + - Real-time battery management systems, rapid simulation of transient responses. diff --git a/docs/source/user_guide/figures/2RC_circuit.png b/docs/source/user_guide/figures/2RC_circuit.png new file mode 100644 index 0000000000000000000000000000000000000000..ba33c6db2640f4f8feb7b0baa7e6aa9361761e7c GIT binary patch literal 64004 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 T|9qP)qw&l+GZMc4>F56qxeADK literal 0 HcmV?d00001 diff --git a/docs/source/user_guide/index.rst b/docs/source/user_guide/index.rst new file mode 100644 index 0000000..48369de --- /dev/null +++ b/docs/source/user_guide/index.rst @@ -0,0 +1,20 @@ +User guide +========== +Welcome to the Thevenin user guide, your go-to resource for understanding and utilizing the Thevenin equivalent circuit model package. Whether you're new to circuit modeling or a seasoned user looking to simulate complex battery behavior, this guide will walk you through the package's features and capabilities. You'll find a description of the model, easy-to-follow instructions for installation, explanations of the package's core concepts, and practical examples for building and using the equivalent cicuit models. + +The Thevenin package is designed with simplicity in mind, providing a user-friendly interface for modeling circuits that account for both state-of-charge and temperature-dependent properties. This guide will help you understand how to simulate different types of loads, from constant current to dynamic voltage and power-driven scenarios, using the package's experiment interface. + +.. toctree:: + :hidden: + :caption: Getting started + + what_is_thevenin.rst + installation.rst + +.. toctree:: + :hidden: + :caption: Fundamentals and usage + + equivalent_circuit_models.rst + model_description.rst + basic_tutorial.ipynb diff --git a/docs/source/user_guide/installation.rst b/docs/source/user_guide/installation.rst new file mode 100644 index 0000000..9c865ad --- /dev/null +++ b/docs/source/user_guide/installation.rst @@ -0,0 +1,34 @@ +Installation +============ +Presently the Thevenin package is only available to install directly from the GitHub repository. It will eventually be hosted on both `PyPI <https://pypi.org>`_ and `Anaconda <https://anaconda.com>`_ once it is ready for a full v1.0.0 release. For users interested in early adoption, follow the directions below. + +Setup Dependencies +------------------ +Thevenin depends on `scikits-odes-sundials <https://pypi.org/project/scikits-odes-sundials/>`_ for its numerical solvers. Unfortunately, this package does not provide binary installations via PyPI, and installing from the source distribution is relatively complex and requires a significant number of steps. Therefore, for the time being, we recommend setting up a ``conda`` environment and installing ``scikits_odes_sundials`` via the ``conda-forge`` channel. Thevenin developers maintain this distribution to make installation more straightforward. There are also plans to replace this dependency in the near future, which will also help simplify installation. + +If you don't already have Anaconda installed, you can download it for any operating system `here <https://www.anaconda.com/download/success>`_. After setup, run the following commands in the terminal (MacOS/Linux) or in Anaconda Prompt (Windows):: + + conda create -n rovi python=3.12 scikits_odes_sundials -c conda-forge + conda activate rovi + +The first command will set up Python 3.12 and the ``scikits_odes_sundials`` dependency in a new environment named "rovi". The next command activates the "rovi" environment prior to the next steps. If you'd prefer to use a different Python version and/or to name your environment something other than "rovi", you can change the number and/or name accordingly. Be aware, however, that Thevenin only supports Python versions 3.8 and higher. + +Download the Files +------------------ +Once you have satisfied the ``scikits_odes_sundials`` requirement, you are ready to download and install Thevenin. If you are a ``git`` user, clone the GitHub repo using using the following command:: + + git clone https://github.com/ROVI-org/thevenin.git + +Alternatively, you can simply download the zipped repository files using the web interface. + +Finish Installation +------------------- +Once the package files are available on your machine, use your terminal or Anaconda Prompt to navigate into the folder with the ``pyproject.toml`` file. Finally, run the following to install Thevenin:: + + pip install . + +For users planning to make changes to the package, you should consider installing in editable mode and including the optional developer dependencies. In this case, your command should look like:: + + pip install -e .[dev] + +We also suggest reading through the :ref:`developer guidelines <development>` before modifying any source code if you plan for your changes to be merged into the main repository. These guidelines cover important tools and steps to ensure all developers maintain a consistent workflow, styling, etc. diff --git a/docs/source/user_guide/model_description.rst b/docs/source/user_guide/model_description.rst new file mode 100644 index 0000000..03077f8 --- /dev/null +++ b/docs/source/user_guide/model_description.rst @@ -0,0 +1,46 @@ +Model Description +================= +This page outlines the underlying mathematics of the Thevenin equivalent circuit model. The index :math:`j` is used throughout the documentation to gernalize the fact that the model can be run with a variable number of resistor-capacitor (RC) elements. When zero RC pairs are specified, the model collapses into the simpler Rint model, discussed :doc:`here <equivalent_circuit_models>`. However, the model also allows any nonzero number of RC pairs, within reason. The figure below illustrates an example Thevenin circuit with two RC pairs. + +.. figure:: figures/2RC_circuit.png + :align: center + :alt: Two-RC-pair Thevenin circuit. + :width: 75% + +The Thevenin circuit is governed by the evolution of the state of charge (soc, -), RC overpotentials (:math:`V_j`, V), cell voltage (:math:`V_{\rm cell}`, V), and temperature (:math:`T_{\rm cell}`, K). soc and :math:`V_j` evolve in time as + +.. math:: + + \begin{align} + &\frac{d\rm soc}{dt} = \frac{-I}{3600 Q_{\rm max}}, \\ + &\frac{dV_j}{dt} = -\frac{V_j}{R_jC_j} + \frac{I}{C_j}, + \end{align} + +where :math:`I` is the load current (A), :math:`Q_{\rm max}` is the maximum nominal cell capacity (Ah), and :math:`R_j` and :math:`C_j` are the resistance (Ohm) and capacitance (F) of each RC pair :math:`j`. Note that the sign convention for :math:`I` is chosen such that positive :math:`I` discharges the battery (reduces soc) and negative :math:`I` charges the battery (increases soc). This convention is consistent with common physics-based models, e.g., the single particle model or pseudo-2D model. While not explicitly included in the equations above, :math:`R_j` and :math:`C_j` are functions of soc and :math:`T_{\rm cell}`. The temperature increases while the cell is active according to + +.. math:: + + \begin{equation} + mC_p\frac{dT_{\rm cell}}{dt} = \dot{Q}_{\rm gen} + \dot{Q}_{\rm conv}, + \end{equation} + +where :math:`m` is mass (kg), :math:`C_p` is specific heat capacity (J/kg/K), :math:`\dot{Q}_{\rm gen}` is the heat generation (W), and :math:`\dot{Q}_{\rm conv}` is the convective heat loss (W). Heat generation and convection are defined by + +.. math:: + + \begin{align} + &\dot{Q}_{\rm gen} = I \times (V_{\rm ocv}({\rm soc}) - V_{\rm cell}), \\ + &\dot{Q}_{\rm conv} = hA(T_{\infty} - T_{\rm cell}), + \end{align} + +where :math:`h` is the convecitive heat transfer coefficient (W/m\ :sup:`2`/K), :math:`A` is heat loss area (m\ :sup:`2`), and :math:`T_{\infty}` is the air/room temperature (K). :math:`V_{\rm ocv}` is the open circuit voltage (V) and is a function of soc. + +The overall cell voltage is + +.. math:: + + \begin{equation} + V_{\rm cell} = V_{\rm ocv}({\rm soc}) - \sum_j V_j - IR_0, + \end{equation} + +where :math:`R_0` the lone series resistance (Ohm), as shown in Figure 1. Just like the other resistive elements, :math:`R_0` is a function of soc and :math:`T_{\rm cell}`. \ No newline at end of file diff --git a/docs/source/user_guide/what_is_thevenin.rst b/docs/source/user_guide/what_is_thevenin.rst new file mode 100644 index 0000000..01abdd4 --- /dev/null +++ b/docs/source/user_guide/what_is_thevenin.rst @@ -0,0 +1,20 @@ +What is Thevenin? +================= +Thevenin is a Python package designed for running Thevenin equivalent circuit models, a widely used approach for modeling the electrical behavior of complex systems, such as batteries and other electrochemical devices. The package allows users to simulate circuits that consist of a voltage source, a series resistor, and some number of resistor-capacitor (RC) pairs, which represent different dynamic behaviors of the system. With Thevenin, users can specify the number of RC pairs to tailor the model to their needs. An example circuit is shown in the figure below with two RC elements, but the model can be set to have as few as zero and as many as :math:`N`. The package also offers the flexibility to run the model either isothermally (with constant temperature) or with temperature dependence, making it suitable for a wide range of applications. + +.. figure:: figures/2RC_circuit.png + :align: center + :alt: Two-RC-pair Thevenin circuit. + :width: 75% + +The model allows each of the circuit elements to have functional parameters, i.e., values that depend on the state of the system. Resistance and capacitance values can be expressed in terms of both state of charge and temperature. To calibrate the model to a specific system, it is common to fit each of these values to cell data at different temperatures and states of charge (SOC) and then to use those fits to find algebraic expressions that describe their dependence on SOC and temperature. Alternatively, a parameterized table can also be used for interpolation to provide circuit element parameters after fitting. While this package does not natively include a fitting strategy, the model is fast and can easily be set up with optimization routines. We recommend the `scipy.optimize <https://docs.scipy.org/doc/scipy/reference/optimize.html>`_ package for those looking to take this approach. + +Use Cases +========= +The thevenin package is particularly useful for battery modeling and simulation, where predicting voltage response to varying loads is crucial. Engineers and researchers can use it to simulate state-of-charge-dependent behavior or investigate the effects of temperature fluctuations on system performance. The package is ideal for designing and testing control algorithms, predicting system performance under dynamic loads, or conducting model-based diagnostics and state estimation in energy storage applications. + +Acknowledgements +================ +This work was authored by the National Renewable Energy Laboratory (NREL), operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE). The views expressed in the package and its documentation do not necessarily represent the views of the DOE or the U.S. Government. + +The motivation and funding for this project came from the Rapid Operational Validation Initiative (ROVI) sponsored by the Office of Electricity. The focus of ROVI is "to greatly reduce time required for emerging energy storage technologies to go from lab to market by developing new tools that will accelerate the testing and validation process needed to ensure commercial success." If interested, you can read more about ROVI `here <https://www.energy.gov/oe/rapid-operational-validation-initiative-rovi>`_. diff --git a/noxfile.py b/noxfile.py index be4ecc9..442298d 100644 --- a/noxfile.py +++ b/noxfile.py @@ -65,10 +65,10 @@ def run_spellcheck(session): if 'write' in session.posargs: command.append('-w') - + run_codespell(session) - session.run(*command, 'sphinx/source') + session.run(*command, 'docs/source') @nox.session(name='tests', python=False) @@ -142,7 +142,7 @@ def run_sphinx(session): run_spellcheck(session) - session.run('sphinx-build', 'sphinx/source', 'sphinx/build') + session.run('sphinx-build', 'docs/source', 'docs/build') @nox.session(name='pre-commit', python=False) @@ -150,8 +150,8 @@ def run_pre_commit(session): """ Run all linters/tests and make new badges - Order of sessions: flake8, codespell, pytest, genbade. Using 'write' for - codespell and/or 'parallel' for pytest is permitted. + Order of sessions: flake8, codespell, pytest, genbade. Using 'format' for + linter, 'write' for codespell, and/or 'parallel' for pytest is permitted. """ diff --git a/pyproject.toml b/pyproject.toml index b098567..49bd257 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,23 +7,34 @@ name = "thevenin" readme = "README.md" dynamic = ["version"] description = "Packaged Thevenin equivalent circuit model." -requires-python = ">=3.9,<3.13" -authors = [{name = "Corey R. Randall", email = "corey.randall@nrel.gov"}] -maintainers = [{name = "Corey R. Randall", email = "corey.randall@nrel.gov"}] +keywords = ["ECM", "equivalent", "circuit", "model", "battery"] +requires-python = ">=3.9,<3.14" +license = { file = "LICENSE" } +authors = [ + { name = "Corey R. Randall" }, + { email = "corey.randall@nrel.gov" }, +] +maintainers = [ + { name = "Corey R. Randall" }, + { email = "corey.randall@nrel.gov" }, +] classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "numpy", - "scikit-sundae", "scipy", "matplotlib", "ruamel.yaml", + "scikit-sundae", ] [tool.setuptools.dynamic] @@ -33,7 +44,7 @@ version = {attr = "thevenin.__version__"} where = ["src"] [tool.setuptools.package-data] -thevenin = ["templates/*.yaml",] +thevenin = ["templates/*.yaml"] [project.optional-dependencies] dev = [ @@ -42,20 +53,29 @@ dev = [ "pytest-cov", "pytest-xdist", "genbadge[all]", - "codespell", "flake8", "autopep8", + "codespell", "sphinx", - "sphinx-autoapi", + "myst-nb", "sphinx-design", + "sphinx-autoapi", "sphinx-favicon", "sphinx-copybutton", + "pydata-sphinx-theme", +] +docs = [ + "sphinx", "myst-nb", + "sphinx-design", + "sphinx-autoapi", + "sphinx-favicon", + "sphinx-copybutton", "pydata-sphinx-theme", ] [project.urls] Homepage = "https://github.com/ROVI-org/thevenin" -Documentation = "https://rovi-org.github.io/thevenin/" +Documentation = "https://thevenin.readthedocs.io" Repository = "https://github.com/ROVI-org/thevenin" Issues = "https://github.com/ROVI-org/thevenin/issues" diff --git a/src/thevenin/_solutions.py b/src/thevenin/_solutions.py index 55e12a1..fb792f7 100644 --- a/src/thevenin/_solutions.py +++ b/src/thevenin/_solutions.py @@ -45,11 +45,11 @@ def wrap_string(value: list, width: int, indent: int): indent = ' '*indent - text = ", ".join(f"'{v}'" for v in value) + text = "[" + ", ".join(f"{v!r}" for v in value) + "]" return textwrap.fill(text, width=width, subsequent_indent=indent) - vars = wrap_string(self.vars.keys(), 70, len(' vars: ')) + vars = wrap_string(self.vars.keys(), 70, len(' vars=[')) data = { 'solvetime': self.solvetime, @@ -60,7 +60,7 @@ def wrap_string(value: list, width: int, indent: int): 'vars': vars, } - summary = "\n\t".join(f"{k}: {v}," for k, v in data.items()) + summary = "\n\t".join(f"{k}={v}," for k, v in data.items()) readable = f"{self.__class__.__name__}(\n\t{summary}\n)"