{ "cells": [ { "cell_type": "markdown", "id": "6124eb4f", "metadata": {}, "source": [ "(plant)=\n", "# plant\n", "A hydropower plant which houses up to several hydropower generators and pumps\n", "\n", "| | |\n", "|---|---|\n", "|Input connections|{ref}`reservoir`, {ref}`generator`, {ref}`pump`, {ref}`junction`, {ref}`junction_gate`, {ref}`creek_intake`, {ref}`discharge_group`, {ref}`production_group`, {ref}`bid_group`, {ref}`tunnel`, {ref}`plant_reserve_capability`|\n", "|Output connections|{ref}`river`, {ref}`reservoir`, {ref}`tunnel`, {ref}`junction`, {ref}`discharge_group`, {ref}`production_group`, {ref}`bid_group`, {ref}`generator`, {ref}`pump`, {ref}`plant_reserve_capability`|\n", "|License|SHOP_OPEN|\n", "|Release version|13.0.0.a|\n", "\n", "```{contents}\n", ":local:\n", ":depth: 1\n", "```\n", "\n", "## Introduction\n", "\n", "The hydropower plant object in SHOP is used to group [generators](generator) and [pumps](pump) that share a common tunnel and penstocks. The generator and pump objects are connected to the plant object, and the plant object is in turn connected to the rest of the system through rivers, tunnels, reservoirs, etc.\n", "\n", "## Sum constraints\n", "\n", "The generator and pump objects are more fundamental building blocks compared to the plant object, but many sum constraints can be applied on the plant level, such as [max_q_constr](plant:max_q_constr) limiting the total discharge of all generators in the plant. Many of these constraints are also found on unit level (see the generator [max_q_constr](generator:max_q_constr)), and are handled more strictly in these cases. The plant sum constraints can usually be modelled as soft constraints that can be broken for a penalty. \n", "\n", "The plant object may also be connected to other \"constraint\" objects such as the [](discharge_group) and [](production_group), which will apply sum constraints on all plants and other objects connected to them.\n", "\n", "## Marginal cost calculations\n", "\n", "Calculating marginal costs and finding the best way to regulate the total plant production up and down is important for bidding into several of the electricity markets. The best profit functionality in SHOP handles these calculations on the plant level, see the [tutorial](best-profit) and [example](best-profit-basic-example) for more details.\n", "\n", "## Examples\n", " - [](best-profit)\n", " - [](best-profit-basic-example)\n", " - [](maintenance-example)\n", " - [](ramping)\n", " - [](plant-complex-ramping)\n", " - [](plant-reserve-strategy)\n", " \n", "\n", "## References\n", " - An overview on formulations and optimization methods for the unit-based short-term hydro scheduling problem {cite}`Kong2020`\n", " - Dynamic incorporation of nonlinearity into MILP formulation for short-term hydro scheduling {cite}`Skjelbred2020`\n", " - A comparison of linear interpolation and spline interpolation for turbine efficiency curves in short-term hydropower scheduling problems {cite}`Zhang2019`\n", " - Calculation of power compensation for a pumped storage hydropower plant with hydraulic short-circuit operation {cite}`Skjelbred2017b`\n", " - Combining start-up costs with non-linear head optimization of hydro storage {cite}`Skjelbred2013`\n", " \n", "\n", "## Attributes" ] }, { "cell_type": "code", "execution_count": 1, "id": "084a254b", "metadata": { "tags": [ "remove-input", "full-width" ] }, "outputs": [ { "data": { "text/html": [ "