Respected sir,
                     how to add the given below  program to existing
inbuilt opf code in matpower software.....?
                      % get indices of generators
ga = find(ismember(mpc.gen(:, GEN_BUS), mpc.bus(a, BUS_I)));  % area A gens
gb = find(ismember(mpc.gen(:, GEN_BUS), mpc.bus(b, BUS_I)));  % area B gens
gother = find(~ismember((1:ng)', [ga; gb]));    % remaining gens

% fix dispatches of all gens outside areas A and B
mpc.gen(gother, PMIN) = mpc.gen(gother, PG);
mpc.gen(gother, PMAX) = mpc.gen(gother, PG);

% scale down prices in area A by factor of 10
% scale up prices in area B by factor of 10
% (important thing is to make everything in A cheaper than
%  everything in B to maximize transfer from A to B)
mpc.gencost(ga, :) = modcost(mpc.gencost(ga, :), 0.1);
mpc.gencost(gb, :) = modcost(mpc.gencost(gb, :), 10);

% re-run the OPF and compute ATC as total decrease in area B dispatch
r = runopf(mpc);
ATC = sum(mpc.gen(gb, PG)) - sum(r.gen(gb, PG));


On Thu, Apr 2, 2015 at 1:52 PM, Ray Zimmerman <[email protected]> wrote:

> I’ll assume you have a base case power flow (or OPF) solution in a
> MATPOWER case struct mpc and want to find the maximum additional power
> that can be transferred from area A to area B without violating
> constraints, where the areas are defined via two vectors of bus indices (a
> and b), possibly by using a = find(mpc.bus(:, BUS_AREA) == A), etc. Then
> you’ll just modify the case, something like this …
>
> % get indices of generators
> ga = find(ismember(mpc.gen(:, GEN_BUS), mpc.bus(a, BUS_I)));  % area A gens
> gb = find(ismember(mpc.gen(:, GEN_BUS), mpc.bus(b, BUS_I)));  % area B gens
> gother = find(~ismember((1:ng)', [ga; gb]));    % remaining gens
>
> % fix dispatches of all gens outside areas A and B
> mpc.gen(gother, PMIN) = mpc.gen(gother, PG);
> mpc.gen(gother, PMAX) = mpc.gen(gother, PG);
>
> % scale down prices in area A by factor of 10
> % scale up prices in area B by factor of 10
> % (important thing is to make everything in A cheaper than
> %  everything in B to maximize transfer from A to B)
> mpc.gencost(ga, :) = modcost(mpc.gencost(ga, :), 0.1);
> mpc.gencost(gb, :) = modcost(mpc.gencost(gb, :), 10);
>
> % re-run the OPF and compute ATC as total decrease in area B dispatch
> r = runopf(mpc);
> ATC = sum(mpc.gen(gb, PG)) - sum(r.gen(gb, PG));
>
> Hope this helps,
>
>     Ray
>
>
> On Apr 2, 2015, at 12:10 AM, Aruna Dharmala <[email protected]>
> wrote:
>
> Respected sir,
>                          I am doing ATC computation by optimal power flow
> method..
>                          By using matpower software i run the load flow
> solution by optimal power flow.by doing load flow i am not geting how to
> take a group of buses as an area and how to interface between areas for
> available transfer capability calculation..?
>
> On Wed, Apr 1, 2015 at 6:34 PM, Ray Zimmerman <[email protected]> wrote:
>
>> Another possible approach is to use an OPF and shift the prices down for
>> the sending group of generators and up for the receiving group.
>>
>>     Ray
>>
>>
>> On Apr 1, 2015, at 8:02 AM, Abhyankar, Shrirang G. <[email protected]>
>> wrote:
>>
>>  Although Matpower does not have a function for ATC, it has all the
>> required building blocks for doing the calculations You can take a look at
>> the continuation power flow feature in the MatPower manual as a starting
>> point.
>>
>>  Shri
>>
>> On Apr 1, 2015, at 5:07 AM, "Aruna Dharmala" <[email protected]>
>> wrote:
>>
>>   Respected sir,
>>                        can we do available transfer capability
>> calculation using matpower it is possible..?
>>                          if it possible in this software how the
>> interfacing between two areas of available transfer capability takes place
>> for group of buses
>>
>>
>>
>
>

Reply via email to