{ "cells": [ { "cell_type": "markdown", "id": "50caa9e8", "metadata": {}, "source": [ "(commit_group)=\n", "# commit_group\n", "Represents a group of generators and pumps that cannot be online while any unit in the other related commit_group is online. \n", "\n", "| | |\n", "|---|---|\n", "|Input connections|{ref}`generator`, {ref}`pump`, {ref}`commit_group`|\n", "|Output connections|{ref}`commit_group`, {ref}`generator`, {ref}`pump`|\n", "|License|SHOP_OPEN|\n", "|Release version|14.0.0.1|\n", "\n", "```{contents}\n", ":local:\n", ":depth: 1\n", "```\n", "\n", "## Introduction\n", "\n", "The commit_group object is most commonly used to model reversible turbines that consist of a single turbine-pump machine. Reversible turbines should be modelled as two separate objects in SHOP, one [](generator) and one [](pump) in the same [](plant). The commit_group object can then be used to ensure that the generator and pump mutually exclude each other from operating when the other is running. This is achieved by connecting the generator to one commit_group and the pump to another commit_group. Then the commit_groups are connected to each other, which tells SHOP to only allow one of them to be committed at the same time. The [reversible turbine example](reversible-turbine-example) shows how this is done in practice.\n", "\n", "The commit_group functionality can also be used in other cases when running one set of units (generators and pumps) should mutually exclude running another set of units. If one or more units in a commit_group is running, none of the units in the connected commit_group can operate. \n", "\n", "Note that this functionality only requires *connections* between units and commit_groups and between commit_groups, and that there are no required input attributes on the commit_group object. \n", "\n", "## Examples\n", " - [](reversible-turbine-example)\n", " \n", "\n", "\n", "\n", "## Attributes" ] }, { "cell_type": "code", "execution_count": 1, "id": "b9dd9bd4", "metadata": { "tags": [ "remove-input", "full-width" ] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "HTML(\"\"\"
\n", "\n", "\"\"\")" ] }, { "cell_type": "markdown", "id": "c6e1af45", "metadata": {}, "source": [ "(commit_group:deactivate_exclusion_flag)=\n", "### deactivate_exclusion_flag\n", "A flag that can be used to deactivate the commitment exclusion constraints if the flag value is set to 1. (xUnit: NO_UNIT, yUnit: NO_UNIT)" ] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.13, "jupytext_version": "1.13.8" } }, "kernelspec": { "display_name": "Python 3", "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.12.9" }, "source_map": [ 11, 44, 56 ] }, "nbformat": 4, "nbformat_minor": 5 }