Modelling Partial Load Efficiency
#1
Dear all, 

I am modelling a power plant with partial load efficiency parameter. I am using the following parameter in an hourly timeslice model:
ACT_CSTSD - COLD - LO- 0.1890
ACT_CSTSD - COLD - UP - 0.1890
ACT_CSTSD  - HOT - LO - 0.0687
ACT_CSTSD - HOT - UP - 0.0687
ACT_CSTSD - WARM - LO - 0.1031
ACT_CSTSD - WARM - UP - 0.1031
ACT_EFF -  0.3000
ACT_LOSPL - FX - 0.0720
ACT_LOSPL - LO - 0.5500
ACT_LOSPL - UP - 0.8500
ACT_MAXNON - HOT -  10.0000
ACT_MAXNON - WARM -   72.0000
ACT_MINLD  -  0.5500
ACT_SDTIME - COLD - LO - 20.0000
ACT_SDTIME - COLD - UP - 20.0000
ACT_SDTIME - HOT - LO - 4.0000
ACT_SDTIME - HOT - UP - 4.0000
ACT_SDTIME - WARM - LO - 8.0000
ACT_SDTIME - WARM - UP - 8.0000
ACT_UPS - ANNUAL LO - 0.0500
ACT_UPS - ANNUAL UP - 0.0500
FLO_EMIS -CO2  -  90.6000
NCAP_AFA - LO - 0.5500
NCAP_AFA - UP - 0.8000
BCAP_BND- FX- 0
NCAP_COST  - 1,028.4877
NCAP_FOM  -  25.7122
NCAP_TLIFE -  40
NCAP_PASTI  - 100

My query is :
1) Is using discrete capacity units mandatory for partial load efficiency 
2) as model is free to chose the online capacity at season level, how I can see how much capacity is online at any given timeslice as i am trying to validate my efficiency and fuel consumption assumption
3) How to check how much capacity is shut down by the model and what type of startup the capacity is using (cold, hot, warm)
4) Also suggest if I am missing some parameters to correctly model the partial load efficiency in a plant.

Warm Regards
Vinay Saini
Reply
#2
Please find below my quick answers:

1. As clearly stated in the documentation, using discrete capacity units is not at all required for modelling partial load efficiencies.
2. The amount of capacity on-line at any given timeslice is currently not available in reporting parameters (as it is an operational detail usually of not much interest), but you can always check the full solution from the GDX file (the variables giving the on-line/off-line capacity are described in the documentation). You can also define a non-binding user-constraint for custom reporting of the on-line capacity of any process(es), by using the UC_ATTR(ONLINE) modifier for the CAP component.
3. How much capacity is shut down by the model, and what type of start-up is being used (cold, hot, warm) is neither directly available in the reporting parameters (again a fine operational detail that has not been requested to be reported). As above, you can check the full solution form the GDX file, which includes the start-up variables (cold, hot, warm). Note that in your example case, WARM start-ups would actually never occur due to the parameter values you have chosen, and so all daily start-ups would inevitably be HOT, and all seasonal start-ups would be COLD.
4. I don't see you having missing any parameters for correctly modelling the partial load efficiency of a process (see my test below). But make sure that you have read the documentation and understand that when using the LP formulation, there are no discrete-size units.

As mentioned in the documentation, all the start-up and shut-down costs are reported separately under the activity cost reporting parameter, and all the energy flows and activities reported are of course fully consistent with e.g. any partial load operation, when such occurs.

I also tested an example process otherwise just like yours, but with the following small changes in the input parameters:
• ACT_LOSPL (UP) – 0.80 (corresponding to 91% load level, 0.85 seemed a bit high)
• ACT_UPS (ANNUAL, LO) – 0.06 (5 MW per hour seemed a bit too slow)
• ACT_UPS( ANNUAL ,UP) – 0.06 (5 MW per hour seemed a bit too slow)
• NCAP_AFA(LO)  – 0.3 (0.55 seemed a bit high if you want to model daily cycling)

With these small modifications, I tested how the process behaves in a model with two seasons, 24 hours each, simulating a daily cycling situation by fixing the activity to zero in four consecutive timeslices (H05, H06, H07, H08). The operational results for the process modelled are shown in the figure below (for the daily cycle in one season):

[Image: attachment.php?aid=23]

As you can see, the results are beautifully symmetric with respect to the process operation, and all the results are fully in accordance with the documentation. For example, the process efficiency varies between the full efficiency (30%) and the partial load efficiency at the minimum stable load (27.985% at 55% load), exactly as defined by the ACT_LOSPL parameter (7.2% loss at minimum stable load). You can also clearly see that in the LP formulation the load never falls below the minimum stable load (because the on-line capacity changes linearily during the start-up and shut-down phases). Therefore, the process efficiency remains at 27.985% throughout the start-up and shut-down phases. If you want more accurate modeling and discrete-size units, you can use the MIP option.


Attached Files Thumbnail(s)
   
Reply
#3
Dear Dr Antti,

Thank you for such a detailed and prompt reply. Your reply solved my query.

Regarding ramping rate of 5% per hour you rightly said it is quite low. As per the literature review the ramping rate for coal plants in India are typically in range of 3% to 5% per minute. However, converting this 3% per min ramp rate in to per hour rates means that plant can reach its full capacity in less than an hour from a zero capacity and with minimum operation of 55% this time will reduce further. Therefore, I am still trying to refer some documents to properly model ramping rate values.

Thank you once again for your detailed reply and I wish you a happy and prosperous New Year.

Warm Regards
Vinay Saini
Reply
#4
Dear Dr. Antti,

I have modeled the partial load efficiency feature in three processes. The results are coming fine with it. However, after modeling the same my model execution time has increased significantly. For example earlier my model was solved within 2 to 5 minutes and in under 1,00,000 iterations. Now my model took around 32 minutes to solve and more than 6,00,000 iterations. The model is still running on LP.

Kindly suggest what could be the reason.
Reply
#5
(05-01-2017, 05:31 PM)vsaini Wrote: Dear Dr. Antti,

I have modeled the partial load efficiency feature in three processes. The results are coming fine with it. However, after modeling the same my model execution time has increased significantly. For example earlier my model was solved within 2 to 5 minutes and in under 1,00,000 iterations. Now my model took around 32 minutes to solve and more than 6,00,000 iterations. The model is still running on LP.

Kindly suggest what could be the reason.

Dear Dr. Antti,

Please share your views on the above problem.

Regards
Vinay Saini
Reply
#6
Dear Vsaini,

I just tested the impact of using Partial Load Efficiencies on the solution time. I used the India+Bangladesh model Anjana provided to me earlier, with 2 regions, 12 seasons, and 24 daily timeslices under each season.

First, I ran the model with just using ACT_MINLD on the coal power plant technologies. Second, I added partial load efficiencies for these processes, defined with ACT_LOSPL. The first model run had about 220,000 equations, and the second run about 230,000 equations.
The solve summaries are shown below:
__________________________________________________________________

              S O L V E      S U M M A R Y

    MODEL   TIMES               OBJECTIVE  OBJz
    TYPE    LP                  DIRECTION  MINIMIZE
    SOLVER  CPLEX               FROM LINE  47049

**** SOLVER STATUS     1 Normal Completion        
**** MODEL STATUS      1 Optimal                  
**** OBJECTIVE VALUE        674909148.9309

RESOURCE USAGE, LIMIT         21.684     50000.000
ITERATION COUNT, LIMIT        99        550000
__________________________________________________________________

              S O L V E      S U M M A R Y

    MODEL   TIMES               OBJECTIVE  OBJz
    TYPE    LP                  DIRECTION  MINIMIZE
    SOLVER  CPLEX               FROM LINE  47049

**** SOLVER STATUS     1 Normal Completion        
**** MODEL STATUS      1 Optimal                  
**** OBJECTIVE VALUE        674911478.3480

RESOURCE USAGE, LIMIT         24.804     50000.000
ITERATION COUNT, LIMIT       109        550000
__________________________________________________________________

As you can see, in this case using the Partial Load Efficiencies increased the solution time from 21.7 secs to 24.8 secs, i.e. about 14%, while the number of iterations increased from 99 to 109.
I am thus not able to see any large impact on the solution time.
Reply
#7
Dear Dr. Antti,

Thank you for your reply and undertaking the test on the regional model.

I think i am able to figured out the issue with my model. The main reason for such a long run time taken by the model was due to low ramp up and down rate. Please see the details below:
Ramp UP/Down Rate       Model Run Time
1%                                      90 Minutes
10%                                    89 Minutes
50%                                    16 Minutes

Dr. Antti, I look forward to know your view on the same.

Regards
Vinay Saini
Reply
#8
Dear Vsaini,

I tested now the same case as previously, but without ramping constraints. The number of equations dropped down to about 205,000.  The solve summary is shown below:
______________________________________________________________

              S O L V E      S U M M A R Y

    MODEL   TIMES               OBJECTIVE  OBJz
    TYPE    LP                  DIRECTION  MINIMIZE
    SOLVER  CPLEX               FROM LINE  47050

**** SOLVER STATUS     1 Normal Completion        
**** MODEL STATUS      1 Optimal                  
**** OBJECTIVE VALUE        674911478.2906

RESOURCE USAGE, LIMIT         18.250     50000.000
ITERATION COUNT, LIMIT       111        550000
______________________________________________________________


As you can see, in this case the solution time decreased from 24.8 secs to 18.3 secs, i.e. about 26%, while the number of iterations increased from 109 to 111. The impact of removing the ramping constraints thus appears to confirm your findings.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)