First,
 >> mpct.bus(:,[PD QG]) = mpcb.bus(:,[PD QG])*2.5; is incorrect if you trying 
 >> to scale both the real and the reactive power load.
It should be mpct.bus(:,[PD QD]) = mpcb.bus(:,[PD QD])*2.5;

Even after making this change, the CPF does not converge at the last step. This 
is because it overshoots (crosses lam = 0) in the previous step and cannot 
recover after that due to a negative step. I can also see that there is a big 
difference between the predicted and correction solutions at the last step. It 
will take a bit of investigation to fix this properly. In the meantime, as a 
quick fix, you can change line 292 in runcpf()

if abs(lam) < 1e-8


to


if lam < 1e-8


The only caveat is that now cpf won't stop exactly at lam = 0, but it will 
overshoot (which I presume may be fine with you?)


Shri




From: Natakorn Thasnas <[email protected]<mailto:[email protected]>>
Reply-To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Date: Fri, 13 Feb 2015 01:05:23 +0700
To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Subject: Re: PV Curve

Please see the base case file in attachment

Natakorn

2015-02-13 0:57 GMT+07:00 Abhyankar, Shrirang G. 
<[email protected]<mailto:[email protected]>>:
Can you please send your base case file.

Shri

From: Natakorn Thasnas <[email protected]<mailto:[email protected]>>
Reply-To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Date: Fri, 13 Feb 2015 00:21:15 +0700
To: MATPOWER discussion forum 
<[email protected]<mailto:[email protected]>>
Subject: Re: PV Curve

Hi Shri

I tried using a smaller continuation step size as your suggestion (step 
size=0.05). And I tried decreasing step size to 0.002,
I still got the same result, the PV curve is not full nose curve.

Best Regards,

Natakorn Thasnas
Ph.D Student
Khonkaen University, Thailand

2015-02-12 20:41 GMT+07:00 Abhyankar, Shrirang G. 
<[email protected]<mailto:[email protected]>>:
Try using a smaller continuation step size.
mpopt = mpoption(mpopt, 'cpf.stop_at', 'full', 'cpf.step', 0.05);

Shri

> On Feb 12, 2015, at 4:03 AM, "Natakorn Thasnas" 
> <[email protected]<mailto:[email protected]>> wrote:
>
> Hi All
>
> I am trying to run a continuation power flow with the following code
>
> define_constants;
> mpopt = mpoption('out.all', 0, 'verbose', 2);
> mpopt = mpoption(mpopt, 'cpf.stop_at', 'full', 'cpf.step', 0.2);
> mpopt = mpoption(mpopt, 'cpf.plot.level', 2 ,'cpf.plot.bus', 14);
> mpcb = loadcase('case14result'); % load base case
> mpct = mpcb; % set up target case with
> mpct.gen(:, [PG QG]) = mpcb.gen(:, [PG QG])*2.5;
> mpct.bus(:,[PD QG]) = mpcb.bus(:,[PD QG])*2.5;
> results = runcpf(mpcb, mpct, mpopt);
>
> After running it, I got the warning message "corrector did not converge in 
> 1000 iterations" and the PV curve is not full nose curve as showing in 
> attached file (c14.jpg)
>
> <c14.jpg>
>
> Then I increased "max_it" ​from 1000 to 10000. I got the warning messages as 
> following
>
> Warning: Matrix is close to singular or badly scaled.
>          Results may be inaccurate. RCOND = 1.944067e-018.
> > In cpf_corrector at 143
>   In runcpf at 268
>   In cpfrun at 55
> step  48 : lambda = -7.770, corrector did not converge in 10000 iterations
>
>
> Could you please suggest me how to fix it to get "the full nose curve"?
>
> Thank you in advance.
>
> Best Regards,
>
> Natakorn Thasnas
> Ph.D Student
> Khonkaen University, Thailand




Reply via email to