Commit c291d491 authored by Juha Kiviluoma's avatar Juha Kiviluoma
Browse files

Added a conditional to the equation and added the...

Added a conditional to the equation and added the portion_of_transfer_to_reserve also to reserve transfers.
parent 39b2b45c
......@@ -247,7 +247,7 @@ param_gnn "Set of possible data parameters for grid, node, node (nodal interconn
unitSize "Size of one link for integer investments (MW)"
invCost "Investment cost (EUR/MW)"
annuity "Investment annuity"
ReservePortion "Portion to cover incase fail"
portion_of_transfer_to_reserve "Portion to cover incase fail"
/
param_gnu "Set of possible data parameters for grid, node, unit" /
......
......@@ -312,7 +312,7 @@ gn2n(grid, from_node, to_node)${ p_gnn(grid, from_node, to_node, 'transferCap
or p_gnn(grid, from_node, to_node, 'transferCapBidirectional')
or p_gnn(grid, to_node, from_node, 'transferCapBidirectional')
or p_gnn(grid, from_node, to_node, 'transferCapInvLimit')
or p_gnn(grid, from_node, to_node, 'ReservePortion')
or p_gnn(grid, from_node, to_node, 'portion_of_transfer_to_reserve')
}
= yes;
......
......@@ -221,6 +221,7 @@ q_resDemandLargestInfeedTransfer(grid, restypeDirectionNode(restype, 'up', node)
and not [ restypeReleasedForRealization(restype)
and sft_realized(s, f, t)]
and p_gnn(grid, node, node_fail, 'portion_of_transfer_to_reserve')
and p_nReserves(node, restype, 'Trans')
} ..
// Reserve provision by capable units on this node
......@@ -248,28 +249,32 @@ q_resDemandLargestInfeedTransfer(grid, restypeDirectionNode(restype, 'up', node)
+ sum(gn2n_directional(grid, node_, node)${restypeDirectionNodeNode(restype, 'up', node_, node)},
+ (1 - p_gnn(grid, node_, node, 'transferLoss') )
* v_resTransferRightward(restype, 'up', node_, node, s, f+df_reserves(node_, restype, f, t), t)
* [1$(not node_(node_fail)) + p_gnn(grid, node_, node, 'portion_of_transfer_to_reserve')$(node_(node_fail))]
) // END sum(gn2n_directional)
+ sum(gn2n_directional(grid, node, node_)${restypeDirectionNodeNode(restype, 'up', node_, node)},
+ (1 - p_gnn(grid, node, node_, 'transferLoss') )
* v_resTransferLeftward(restype, 'up', node, node_, s, f+df_reserves(node_, restype, f, t), t)
* [1$(not node_(node_fail)) + p_gnn(grid, node, node_, 'portion_of_transfer_to_reserve')$(node_(node_fail))]
) // END sum(gn2n_directional)
=G=
// Demand for reserves due to potential interconnector failures
+ p_gnn(grid, node_fail, node, 'portion_of_transfer_to_reserve')
* v_transferRightward(grid, node_fail, node, s, f, t) // This should apply to all transfers coming from node_fails, thus $p_nReserves(node, restype, 'Trans') is not needed
* v_transferRightward(grid, node_fail, node, s, f, t)
+ p_gnn(grid, node, node_fail, 'portion_of_transfer_to_reserve')
* v_transferLeftward(grid, node, node_fail, s, f, t) // $p_nReserves(node, restype, 'Trans')
* v_transferLeftward(grid, node, node_fail, s, f, t)
// Reserve provisions to another nodes via transfer links
+ sum(gn2n_directional(grid, node, node_)${restypeDirectionNodeNode(restype, 'up', node, node_)},
// Reserve transfers to other nodes increase the reserve need of the present node
+ v_resTransferRightward(restype, 'up', node, node_, s, f+df_reserves(node, restype, f, t), t)
* [1$(not node_(node_fail)) + p_gnn(grid, node, node_, 'portion_of_transfer_to_reserve')$(node_(node_fail))]
) // END sum(gn2n_directional)
+ sum(gn2n_directional(grid, node_, node)${restypeDirectionNodeNode(restype, 'up', node, node_)},
// Reserve transfers to other nodes increase the reserve need of the present node
+ v_resTransferLeftward(restype, 'up', node_, node, s, f+df_reserves(node, restype, f, t), t)
* [1$(not node_(node_fail)) + p_gnn(grid, node_, node, 'portion_of_transfer_to_reserve')$(node_(node_fail))]
) // END sum(gn2n_directional)
// Reserve demand feasibility dummy variables
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment