-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/stratified therm storage #711
Changes from all commits
9607cc0
c985f19
41a07d9
0080035
69c2da7
257adcb
1329ac1
669faa4
4df13dc
d941b02
8a5e528
043c61b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -63,6 +63,61 @@ In case of excessive excess energy, a warning is given that it seems to be cheap | |||||
High excess energy can for example result into an optimized inverter capacity that is smaller than the peak generation of installed PV. | ||||||
This becomes unrealistic when the excess is very high. | ||||||
|
||||||
Stratified thermal storage | ||||||
########################## | ||||||
|
||||||
In order to model a stratified thermal energy storage the two parameters `fixed_losses_relative` and `fixed_losses_absolute` are passed through `storage_xx.csv`. | ||||||
They are used to take into account temperature dependent losses of a thermal storage. | ||||||
Except for these two additional parameters the stratified thermal storage is implemented in the same way as other storage components. | ||||||
|
||||||
Precalculations of the `installedCap`, `efficiency`, `fixed_losses_relative` and `fixed_losses_absolute` can be done orientating on the stratified thermal storage component of `oemof.thermal <https://github.com/oemof/oemof-thermal>`__. | ||||||
Further parameters, which can be precalculated, are: U-value, volume and surface of the storage. | ||||||
|
||||||
The efficiency :math:`\eta` of the storage is calculated as follows: | ||||||
|
||||||
.. math:: | ||||||
\eta = 1 - loss{\_}rate | ||||||
|
||||||
This example shows how to do precalculations using stratified thermal storage specific input data: | ||||||
|
||||||
|
||||||
.. code-block:: python | ||||||
|
||||||
from oemof.thermal.stratified_thermal_storage import ( | ||||||
calculate_storage_u_value, | ||||||
calculate_storage_dimensions, | ||||||
calculate_capacities, | ||||||
calculate_losses, | ||||||
) | ||||||
|
||||||
# Precalculation | ||||||
u_value = calculate_storage_u_value( | ||||||
input_data['s_iso'], | ||||||
input_data['lamb_iso'], | ||||||
input_data['alpha_inside'], | ||||||
input_data['alpha_outside']) | ||||||
|
||||||
volume, surface = calculate_storage_dimensions( | ||||||
input_data['height'], | ||||||
input_data['diameter'] | ||||||
) | ||||||
|
||||||
nominal_storage_capacity = calculate_capacities( | ||||||
volume, | ||||||
input_data['temp_h'], | ||||||
input_data['temp_c']) | ||||||
|
||||||
loss_rate, fixed_losses_relative, fixed_losses_absolute = calculate_losses( | ||||||
u_value, | ||||||
input_data['diameter'], | ||||||
input_data['temp_h'], | ||||||
input_data['temp_c'], | ||||||
input_data['temp_env']) | ||||||
|
||||||
Please see the `oemof.thermal` `examples <https://github.com/oemof/oemof-thermal/tree/dev/examples/stratified_thermal_storage>`__ and the `documentation <https://oemof-thermal.readthedocs.io/en/latest/stratified_thermal_storage.html>`__ for further information. | ||||||
|
||||||
For an investment optimization the height of the storage should be left open in the precalculations and `installedCap` should be set to 0 or NaN. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Can There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Actually I have. I was also wondering how this works, but it does. The background is, that I implemented precalculations in pvcompare, which calculate the And this is why I documented it in this way. Does it make sense? |
||||||
|
||||||
Energy providers (DSOs) | ||||||
----------------------- | ||||||
|
||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,4 +11,6 @@ dispatch_price,currency/kWh,NA,0,0 | |
soc_initial,None or factor,None,NA,NA | ||
soc_max,factor,1,NA,NA | ||
soc_min,factor,0.2,NA,NA | ||
fixed_thermal_losses_relative,factor,0,, | ||
fixed_thermal_losses_absolute,kWh,0,, | ||
Comment on lines
+14
to
+15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I hope that we can keep |
||
unit,str,kWh,kW,kW |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You do not have to have linebreaks for each sentence, but you can.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add something that explicitly states that the parameters are not required for
storage_*.csv
.