Skip to content

Commit fa3ad37

Browse files
committed
Update documentation
1 parent af69b2d commit fa3ad37

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

docs/src/30-concepts.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,23 @@ By implementing this approach, we can reduce the number of variables and constra
5252

5353
This example of a `phs` and a `wind` asset is useful for illustrating the advantages of this modeling approach and will be reused in the following sections. However, please keep in mind that there are other applications of hybrid configurations, such as battery-solar, hydro-solar, and electrolyzer-wind.
5454

55+
### Additional explanation on transport flows
56+
57+
In _TulipaEnergyModel.jl_, flows can be both input/output flows and transport flows (i.e., where you model a transmission asset). In the above illustrative example, `wind-balance` is an energy output flow, representing the production from `wind` directly sent to `balance`. In this case, the flow has a direction from `wind` to `balance`. However, in principle, any flow can be a transport flow and by definition in _TulipaEnergyModel.jl_, transport flows are bidirectional.
58+
59+
Let's zoom in to the `phs-wind-balance` triangle and see what happens in the below figure. On the left, all three flows become transport flows, and they are now bidiretional. Flows can go towards `wind`, which can be counter-intuitive: what does it mean to have a producer receiving energy? Translating into a standard method may help the thinking, we are essentially modeling the case on the right. Producer cannot receive energy, but transport flows can pass through an extra node with a unidirectional flow from the producer. We reduce this unnecessary node, but the modeling problem is not changed.
60+
61+
![Flexible connection with transport flows](./figs/flexible-connection-3.png)
62+
63+
!!! warning "Be careful with the definition of flows"
64+
By having transport flows, we now model a different problem, where the charging/discharging of `phs` can be either `wind-phs-balance` or `balance-phs-wind`.
65+
5566
## [Flexible Time Resolution](@id flex-time-res)
5667

5768
One of the core features of _TulipaEnergyModel.jl_ is that it can handle different time resolutions on the assets and the flows. Typically, the time resolution in an energy model is hourly, like in the following figure where we have a 6-hour energy system:
5869

5970
![Hourly Time Resolution](./figs/variable-time-resolution-1.png)
60-
71+
]
6172
Therefore, for this simple example, we can determine the number of constraints and variables in the optimization problem:
6273

6374
- _Number of variables_: 42 since we have six connections among assets (i.e., 6 flows x 6 hours = 36 variables) and one storage asset (i.e., 1 storage level x 6 h = 6 variables)

docs/src/40-formulation.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -420,10 +420,19 @@ Storage assets using the method to avoid charging and discharging simultaneously
420420
\end{aligned}
421421
```
422422

423-
#### Lower Limit for Flows that are Associated with Assets
423+
#### Lower Limit for Flows
424424

425425
```math
426-
v^{\text{flow}}_{f,k_y,b_{k_y}} \geq 0 \quad \forall y \in \mathcal{Y}, \forall f \in \left( \mathcal{F}^{\text{out}}_{a,y} | a \in \mathcal{A}^{\text{p}} \cup \mathcal{A}^{\text{cv}} \cup \mathcal{A}^{\text{s}} \right) \cup \left(\mathcal{F}^{\text{in}}_{a,y} | a \in \mathcal{A}^{\text{cv}} \cup \mathcal{A}^{\text{s}} \right), \forall k_y \in \mathcal{K}_y, \forall b_{k_y} \in \mathcal{B_{k_y}}
426+
v^{\text{flow}}_{f,k_y,b_{k_y}} \geq 0 \quad \forall y \in \mathcal{Y}, \forall f \notin \mathcal{F}^t, \forall k_y \in \mathcal{K}_y, \forall b_{k_y} \in \mathcal{B_{k_y}}
427+
```
428+
429+
```math
430+
\sum_{f \in \mathcal{F}^{\text{out}}_{a,y}} p^{\text{capacity coefficient}}_{f,y} \cdot v^{\text{flow}}_{f,k_y,b_{k_y}} \geq 0 \quad \forall y \in \mathcal{Y}, \forall f \in \left( \mathcal{F}^{\text{out}}_{a,y} \;\middle|\; a \in \mathcal{A}^{\text{p}} \cup \mathcal{A}^{\text{cv}} \cup \mathcal{A}^{\text{s}},\; a \notin \mathcal{A}^{\text{uc}} \right)
431+
\cap \mathcal{F}^t, \forall k_y \in \mathcal{K}_y, \forall b_{k_y} \in \mathcal{B_{k_y}}
432+
```
433+
434+
```math
435+
\sum_{f \in \mathcal{F}^{\text{in}}_{a,y}} p^{\text{capacity coefficient}}_{f,y} \cdot v^{\text{flow}}_{f,k_y,b_{k_y}} \geq 0 \quad \forall y \in \mathcal{Y}, \forall f \in \left(\mathcal{F}^{\text{in}}_{a,y} | a \in \mathcal{A}^{\text{cv}} \cup \mathcal{A}^{\text{s}} \right) \cap \mathcal{F}^t , \forall k_y \in \mathcal{K}_y, \forall b_{k_y} \in \mathcal{B_{k_y}}
427436
```
428437

429438
### [Unit Commitment Constraints](@id uc-constraints)
-32.6 KB
Loading
201 KB
Loading

0 commit comments

Comments
 (0)