### Changed begin value for intra-period state into bound.

parent e04a74f2
 ... ... @@ -77,7 +77,6 @@ Model invest / q_boundCyclic // superpositioned state variables q_superposSampleBegin q_superposBoundEnd q_superposInter q_superposStateMax ... ...
 ... ... @@ -2564,24 +2564,7 @@ q_boundCyclic(gnss_bound(gn_state(grid, node), s_, s), m) ] // END * p_msWeight(m, s_) ; *--- Intra-period state for superpositioned states ---------------------------- * v_state for superpositioned states represents the intra-period state. It * always starts from zero. q_superposSampleBegin(gn_state(grid, node_superpos(node)), m, s) \${ ms(m, s) }.. // Initial value of the state of the node at the start of the sample s + sum(mst_start(m, s, t), + sum(sft(s, f, t), + v_state(grid, node, s, f+df(f,t+dt(t)), t+dt(t)) ) // END sum(ft) ) // END sum(mst_start) =E= 0 ; *--- End value for superposed states ---------------------------- q_superposBoundEnd(gn_state(grid, node_superpos(node)), m) \$(p_gn(grid, node, 'boundEnd') ).. ... ...
 ... ... @@ -99,13 +99,14 @@ loop(node\$(not node_superpos(node)), // Bound also the intervals just before the start of each sample - currently just 'upwardLimit'&'useConstant' and 'downwardLimit'&'useConstant' // Bound also the intervals just before the start of each sample // - currently just 'upwardLimit'&'useConstant' and 'downwardLimit'&'useConstant' // this is performed only for the first solve! loop(mst_start(mSolve, s, t)\$(tSolveFirst = mSettings(mSolve, 't_start')), // Upper bound v_state.up(gn_state(grid, node), s, f_solve, t+dt(t))\${ p_gnBoundaryPropertiesForStates(grid, node, 'upwardLimit', 'useConstant') and not df_central(f_solve,t) and not node_superpos(node) } = p_gnBoundaryPropertiesForStates(grid, node, 'upwardLimit', 'constant') * p_gnBoundaryPropertiesForStates(grid, node, 'upwardLimit', 'multiplier'); ... ... @@ -113,7 +114,6 @@ loop(node\$(not node_superpos(node)), // Lower bound v_state.lo(gn_state(grid, node), s, f_solve, t+dt(t))\${ p_gnBoundaryPropertiesForStates(grid, node, 'downwardLimit', 'useConstant') and not df_central(f_solve,t) and not node_superpos(node) } = p_gnBoundaryPropertiesForStates(grid, node, 'downwardLimit', 'constant') * p_gnBoundaryPropertiesForStates(grid, node, 'downwardLimit', 'multiplier'); ... ... @@ -123,10 +123,15 @@ loop(node\$(not node_superpos(node)), ); //end loop node // Next deal with bounds for the superposed node states // note that boundstart is handled further below // // note that boundstart is handled further below; boundend, upwardLimit and downwardLimit are handled as equations loop(node_superpos(node), // v_state for superpositioned states represents the intra-period state. It always starts from zero. loop(mst_start(mSolve, s, t), v_state.fx(gn_state(grid, node), s, f_solve, t+dt(t)) = 0; ); //add here the desired bounds for v_state_z //add here other desired bounds for v_state_z ); ... ... @@ -152,7 +157,11 @@ v_spill.up(gn(grid, node_spill), sft(s, f, t))\${ p_gnBoundaryPropertiesForSta * p_gnBoundaryPropertiesForStates(grid, node_spill, 'maxSpill', 'multiplier') ; * ============================================================================= * --- Unit Related Variable Boundaries ---------------------------------------- * ============================================================================= // Constant max. energy generation if investments disabled v_gen.up(gnu_output(grid, node, unit), sft(s, f, t))\${gnuft(grid, node, unit, f, t) ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!