Hi Dr. Zimmerman and MATPOWER Group,
In the runpf code, there is a section checking infeasibility:
%% first check for INFEASIBILITY (all remaining gens violating)
infeas = union(mx', mn')'; %% transposes handle fact that
%% union of scalars is a row vector
remaining = find( gen(:, GEN_STATUS) > 0 & ...
( bus(gen(:, GEN_BUS), BUS_TYPE) == PV | ...
bus(gen(:, GEN_BUS), BUS_TYPE) == REF ));
if length(infeas) == length(remaining) && all(infeas ==
remaining)
if mpopt.verbose
fprintf('All %d remaining gens exceed their Q limits :
INFEASIBLE PROBLEM\n', length(infeas));
end
success = 0;
break;
end
Can you explain what you are doing here?
Thank you very much!
Justin Zhang