Está en la página 1de 2

Carga

clc;
%%lectura de datos
caso='case 7';
limite=150; %MW
mpc = loadcase(caso);
depfOriginal=rundopf (mpc);
InyeccionOriginal=dcpfOriginal.branch(:,14);
cantidadLineas=size(mpc.branch);
cantidadGeneradores=zise(mpn.gen);
define_constant;
%%%Salide de generación

for i=1:1:cantidadGeneradores(1)
mpc=loadcase(caso);
mpc.gen(i,2)=0;
mpc.gen(i,3)=0;
dcpfCont=rundcpf(mpc);
inyeccionContGen(:,1)=dcpfCont.branch(:,14);
end
mpc=loadcase(caso);
%%%salida de lineas en orden y tablas
H=makePTDF(mpc.baseMVA, mpc.bus, mpc.branch);
LODF=makeLODF(mpc.branch, H);
for columna=1:1:cantidadLineas(1)
for fila=1:1:cantidadLineas(1)

inyeccionContLinea(fila,columna)=abs(LODF(fila,columna)*inyeccionOriginal
(fila,1));
end
end
%%%analisis de contingencia
contTotal=[inyeccionContGen inyeccionContLinea ];
%%% varia la contingencia entre lineas
contTotal(:,1)=0;
analisis=zeros(cantidadLineas(1)+cantidadGeneradores(1),1);
for contingencia=1:1:(cantidadLineas(1)+cantidadGeneradores(1))
for linea=1:1:cantidadLineas(1)

analisis(Contingencia,1)=analisis(Contingencia,1)+(contTotal(linea,contin
gencia)/150)^4;
end
end
[peorCont,indice]=max(analisis);
[fila,columna]=ind2sub(size(analisis),indice);
%%%display de datos

clc;
disp('PEOR CONTINGENCIA');
if fila<=cantidadGeneradores
disp=(['salida del generador en barra' num2str(mpc.gen(fila,1))]);
else
disp=(['salida linea de transmision' num2str(mpc.gen(fila,1)) '-'
num2str(mpc.branch(fila,2))]);
end
for i=1:1:cantidadLineas(1)
if (contTotal(i,fila))>150
disp(['Linea: ' num2str(mpc.branch(i,1)) '-'
num2str(mpc.branch(i,2))]);
disp(['FLUJO: ' num2str(contTotal(i,fila)) '[MW] ']);
end
end

También podría gustarte