All good suggestions from Shri. I’ll just point out that the power flow problem
formulation is identical for Newton, fast-decoupled and Gauss-Seidel, so a
solution found using one is a solution for the others. It’s only the algorithms
that are different. In particular, the fast-decoupled method is a decoupled
algorithm for solving a fully-coupled problem. It is not solving a different,
decoupled power flow problem.
There can be many reasons that a power flow problem does not converge, and
initial starting point is certainly an important one. To find a good starting
point, you might also try using an OPF to find a solution that is close to the
specified voltages and power dispatches, using something like the following:
define_constants;
casename = 'case3500';
mpc = loadcase(casename);
vtol = 0.005;
ptol = 1;
nb = size(mpc.bus, 1);
ng = size(mpc.gen, 1);
mb = max(mpc.bus(:, BUS_I)); %% max bus number
e2i = sparse(mpc.bus(:, BUS_I), ones(nb, 1), 1:nb, mb, 1);
gbus = e2i(mpc.gen(:, GEN_BUS)); %% bus indices for each gen
mpc.branch(:, RATE_A) = 0; %% turn off line constraints
mpc.bus(gbus, VMIN) = mpc.gen(:, VG) - vtol; %% set gen bus V lims
mpc.bus(gbus, VMAX) = mpc.gen(:, VG) + vtol;
g = find(mpc.gen(:, PG) > ptol);
mpc.gen(:, PMIN) = mpc.gen(:, PG); %% set Pg lims
mpc.gen(:, PMAX) = mpc.gen(:, PG);
mpc.gen(g, PMIN) = mpc.gen(g, PG) - ptol;
mpc.gen(g, PMAX) = mpc.gen(g, PG) + ptol;
mpc.gencost = ones(ng, 1) * [2 0 0 3 0.1 1 0]; %% create gencost
mpopt = mpoption('OUT_BUS', 0, 'OUT_BRANCH', 0, 'OUT_ALL_LIM', 0);
mpopt = mpoption(mpopt, 'VERBOSE', 2, 'OPF_ALG', 560);
r = runopf(mpc, mpopt);
mpc = loadcase(casename);
mpc.bus(:, VM) = r.bus(:, VM);
mpc.bus(:, VA) = r.bus(:, VA);
result = runpf(mpc, mpopt);
Hope this helps,
--
Ray Zimmerman
Senior Research Associate
B30 Warren Hall, Cornell University, Ithaca, NY 14853
phone: (607) 255-9645
On Nov 4, 2013, at 6:17 PM, Shri <[email protected]> wrote:
> 1. Make sure the input data complies with the MATPOWER format.
>
> 2. Ensure that all isolated buses have been marked correctly.
>
> 2. AC power flow via Newton's method requires a good initial guess which in
> general is difficult to find for large test cases. The so-called "flat start"
> does not necessarily yield a converged solution for these cases. The larger
> test cases, greater than 2000 buses, in MatPower have a good initial guess
> included in the data files so that Newton's method converges quickly.
> Modifying this initial guess to a flat start makes these cases unsolvable.
>
> For some of the large test cases that I've dealt with, I've found that fast
> decoupled power flow solution is a good initial guess for the Newton's method
> (assuming FDPF converges).
>
> 4. Check the loading level: If the loading level is beyond the steady state
> loading limit then there is no feasible power flow solution.
>
>> On Nov 4, 2013, at 4:45 PM, Pedro Freitas <[email protected]> wrote:
>>
>> Hello everyone,
>>
>> Has anyone ever succeeded in simulating a case file of a large number of
>> buses? I'm trying to run a power flow simulation (runpf command) of an
>> approximately 3500 buses system, and it does not converge. I've tried all
>> algorithms but neither worked.
>>
>> Might it be a matpower limitation? I'm using matpower 4.1.
>>
>> Best regards,
>>
>> Pedro.
>
>
>
>