La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Análisis de Flujo de Carga Presentación del problema

Presentaciones similares


Presentación del tema: "Análisis de Flujo de Carga Presentación del problema"— Transcripción de la presentación:

1 Análisis de Flujo de Carga Presentación del problema
Slack Carga_1 Carga_2 Carga_4 Carga_3 Gen_2 Gen_1 P G V0° |V| Q Dada una red Mediante resolución de las ecuaciones de flujo de carga determino las siguientes incognitas: Barra Tensión Angulo Carga Generación--- Shunt Mag grados MW MVAr MW MVAr MVAr Carga_ Carga_ Carga_ Carga_ Gen_ Gen_ Slack Luego aplicando en forma directa las ecuaciones de la red determino: Una vez resueltas las barras, mediantes las ecuaciones fundamentales de circuitos, determino: Flujo en las líneas y pérdidas --Línea Flujo en la línea Pérdidas-- desde hasta MW Mvar MVA MW Mvar Carga_1 Carga_ Carga_ Carga_2 Carga_ Carga_

2 Expresiones fundamentales de la red
Vi yi1 V1 yi2 Ii . V2 yin Vn yi0

3 Clasificación de las barras de la red
Las barras son clasificadas generalmente en tres tipos: Barra Slack - Es tomada como referencia donde |V| y  son especificados, no aporta ecuaciones al algoritmo, si no que una vez calculados los |V| y  en el resto de las barras, se calcula Pslack y Qslack : Barra de carga - o barra PQ, se especifica la potencia activa y reactiva, el módulo y la fase de las tensiones son desconocidas, y se calculan resolviendo el siguiente set de ecuaciones no lineares: Barra de generación- o barra PV o barras de tensión controlada, se especifican el módulo de la tensión y la potencia activa, debiendose determinar la fase de la tensión y la potencia reactiva.Los límites de la potencia reactiva son también especificados. Se aplica entonces una única ecuación por barra para el cálculo de la fase de la tensión: una vez calculadas todas los módulos y fases de las tensiones de todas las barras (o sea convergió algoritmo Newton-Raphson), se calcula Q en todas las barras PV: si se viola el límite inferior o superior en alguna/s barras se puede tomar alguna de las siguientes acciones correctivas: 1 - fijar Q=Qlim y liberar la tensión (transformar en una barra PQ) y vuelvo a entrar en el algoritmo N-R. 2 - Aumentar (o disminuir) un escalón porcentual el módulo de la tensión y vuelvo a entrar en el algoritmo N-R).

4 Datos de entrada para resolver el flujo de carga
Dada una red Slack Carga_1 Carga_2 Gen_1 G P P |V| Q Q G V0° P Q P |V| Q P G P Q Gen_2 Q Carga_4 Carga_3 % Datos de archivo de entrada tomados del Gross, pag. 244 % % DATOS DE BARRA % CARGA GENERACION min max Shunt Shunt % BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr SUCEPTANCIA SL Slack PQ Carga_ PV Gen_ PQ Carga_ PV Gen_ PQ Carga_ PQ Carga_ % DATOS DE LINEAS % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA Linea Carga_1 Carga_ Linea Carga_2 Carga_ Linea Carga_1 Carga_ Linea Carga_3 Carga_ % DATOS DE TRANSFORMADORES % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA TAP Trafo Slack Carga_ Trafo Gen_1 Carga_ Trafo Gen_2 Carga_

5 Interpretación gráfica:
Solución de Ecuaciones Algebraicas No-Lineares - Método de Newton-Raphson Interpretación gráfica: c(0) J(0) c(1) J(1) C=0 x(1) x(0)

6 a) Búsqueda de la raíz de f(x)=x3-6 x2+9x-4.
Ejemplo 6.1: a) Búsqueda de la raíz de f(x)=x3-6 x2+9x-4. clear dx=1; % Se inicializa el error con un valor elevado fun=input('Nombre de la función: '); % Nombre de la función.m donde están las expr. % de f y J. vx=input('Entre la estimación inicial y rango de ploteo [xe xi xf] -> '); x=vx(1); iter = 0; k=1; disp('iter Dc J dx x')% Encabezamiento de resultados while abs(dx) >= & iter < % Test de convergencia iter = iter + 1; % No. de iteraciones [f,J]=feval(fun,x); % feval ejecuta la función especificada % en el string fun con el argumento x. yp(k)=f; % Puntos para graficar las xp(k)=x; % pendientes. Dc=0 - f; % Residuo dx= Dc/J; % Se actualiza el error x=x+dx; % Soluciones sucesivas yp(k+1)=0; % Puntos para graficar las xp(k+1)=x; % pendientes. k=k+2; fprintf('%g', iter) % Se muestra iter sin ceros % no significativos disp([Dc, J, dx, x]) % Se completa con el resto de las % variables. end x=(vx(2):.1:vx(3)); % Rango de x para ploteo. f=feval(fun,x); % Se evalúa f en ese rango plot(x,f,x,0*x,xp,yp) axis([vx(2) vx(3) min(f) max(f)]) % Se fijan los ejes para x y f. function[f,J]=pol3(x) f=x.^3-6*x.^2+9*x-4; J=3*x.^2-12*x+9;

7 Búsqueda de la raíz de f(x)=x3-6 x2+9x-4.
» te6ej1 Nombre de la función: 'pol3' Entre la estimación inicial y rango de ploteo [xe xi xf] -> [6 0 6] iter Dc J dx x

8 b) Estudio de convergencia de f(x)=atg(x).
Ejemplo 6.1: b) Estudio de convergencia de f(x)=atg(x). function[f,J]=atx(x) f=atan(x); J=1./(1+x.*x); » te6ej1 Nombre de la función: 'atx' Entre la estimación inicial y rango de ploteo [xe xi xf] -> [ ]

9

10 En Matlab, la solución del sistema de ecuaciones es obtenida
Quedando entonces el algoritmo de Newton-Raphson: * El problema se reduce entonces a resolver sucesivos sistemas de ecuaciones lineares. En Matlab, la solución del sistema de ecuaciones es obtenida usando el operador de división de matrices \, o sea \ el cual es basado en factorización triangular y eliminación Gaussiana, mucho más eficiente que invertir * .

11 Ejemplo 6.2: Se usa el método de Newton-Raphson para encontrar la intersección de las curvas La siguiente rutina (te6ej2a) genera las gráficas tita=0:.02:2*pi; % Rango del ángulo de la cfa. r = 2*ones(1, length(tita)); % Vector radio de la cfa. x=-3:.02:1.5; % Rango de x para la segunda ec. y=1- exp(x); % Segunda ec. plot(x,y),grid axis([ ]); axis('square'); % Relación de ejes tal que no deformen la cfa. xlabel('x') text(1.1,1.8,' x^2+y^2=4') text(1.2,-2.3,' e^x+y=1') hold on; % Se "fija" la gráfica tal que las sucesivas % se hagan en la misma figura con los mismos ejes. polar(tita, r) % Ploteo polar en un sistema cartesiano. hold off; % Se "libera" la figura

12 Tomando las derivadas parciales, la matriz Jacobiana resulta:
La siguiente rutina (te6ej2b) aplica Newton-Raphson para el sistema arriba iter = 0; x=input('Entre el vector estimación inicial [x1; x2] -> '); Dx=[1; 1]; C=[4; 1]; disp('Iter DC Matriz Jacobiana Dx x'); while max(abs(Dx)) >= & iter < 100 iter=iter+1; f = [x(1)^2+x(2)^2; exp(x(1))+x(2)]; DC = C - f; J = [2*x(1) 2*x(2) exp(x(1)) ]; Dx=J\DC; % Resolución del sistema de ecuaciones x=x+Dx; fprintf('%g', iter) disp([DC, J, Dx, x]) end » te6ej2b Entre el vector estimación inicial [x1; x2] -> [0.5 -1]' Iter DC Matriz Jacobiana Dx x

13 Especifica Pi , |Vi| y los limites max y min de Qi
Tenemos entonces dos ecuaciones por cada barra PQ y una por cada barra PV, suponiendo que: Barra 1 - barra Slack Barra 2 a m - barras PQ Barras m+1 a n - barras PV Expandiendo en series de Taylor haciendo estimaciones iniciales para |V| y  y despreciando los términos de orden elevado, se llega al siguiente sistema de ecuaciones lineares: En forma abreviada: El procedimiento para solucionar un flujo de carga con el método de Newton-Raphson es el que sigue: Especifica Pi y Qi Para las barras PQ Para la barra Slack Estima |Vi(0)| y (0) (igual a la slack) Se especifica V y  Especifica Pi , |Vi| y los limites max y min de Qi Para las barras PV Estima (0) (igual a la slack) Usando los valores especificados y estimados Calculo el vector:

14 Se calculan los elementos de la matriz jacobiana J1, J2, J3 y J4.
Se resuelve: Se actualizan los |Vi| y i : Mientras halla algún: |Pi(k)|> o algún |Qi(k)|> convergió Calculo la potencia reactiva en todas las barras PV: Si se violó al menos un límite tomo acción correctiva y vuelvo al algoritmo

15 Solución Flujo de Carga Desacoplado Rápido
P está fuertemente acoplado a  y debilmente acoplado a |V| Para relación X/R alta Q está fuertemente acoplado a |V| y debilmente acoplado a  Además considerables simplificaciones a J1 y J4 pueden ser hechas: -Qi Bii Siendo Bii la parte imaginaria de los elementos de la diagonal de Y, o sea, la suma de todas las suceptancias incidentes a la barra i.

16 Se pueden plantear como:
Bii Llegamos entonces a que los sistemas de ecuaciones Se pueden plantear como: Siendo B’ y B’’ constantes, estas pueden ser invertidas una única vez antes de iniciar las iteraciones y luego durante el proceso de cálculo los cambios de |V| y  son dados en forma directa por:

17 desacoplado rápido es el que sigue:
El procedimiento para solucionar un flujo de carga con el método de Newton-Raphson desacoplado rápido es el que sigue: Especifica Pi y Qi Para las barras PQ Para la barra Slack Estima |Vi(0)| y (0) (1.00) Se especifica V y  Especifica Pi , |Vi| y los limites max y min de Qi Para las barras PV Estima (0) (1.00) Determinar B’ y B’’ y en consecuencia [B’]-1 y [B’’]-1 Usando los valores especificados y estimados Calculo los vectores:

18 Se actualizan los |Vi| y i :
Mientras halla algún: |Pi(k)|> o algún |Qi(k)|> convergió Calculo la potencia reactiva en todas las barras PV: Si se violó al menos un límite tomo acción correctiva y vuelvo al algoritmo

19 Implementación Flujo de Carga
Archivo texto con la configuración de la red Entrada Matrices “usables” por el Matlab Matriz Admitancia Proceso [V,P,Q] [Y] Flujo de Carga Resultados Salida

20 G G V0° G Slack Carga_1 Carga_2 Gen_1 P P Q Q |V| |V| P P Q Q Gen_1
% Datos de archivo de entrada tomados del Gross, pag. 244 % % DATOS DE BARRA % CARGA GENERACION min max Shunt Shunt % BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr SUCEPTANCIA SL Slack PQ Carga_ PV Gen_ PQ Carga_ PV Gen_ PQ Carga_ PQ Carga_ % DATOS DE LINEAS % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA Linea Carga_1 Carga_ Linea Carga_2 Carga_ Linea Carga_1 Carga_ Linea Carga_3 Carga_ % DATOS DE TRANSFORMADORES % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA TAP Trafo Slack Carga_ Trafo Gen_1 Carga_ Trafo Gen_2 Carga_

21 % Datos de archivo de entrada tomados del Gross, pag. 244
% DATOS DE BARRA % CARGA GENERACION min max Shunt Shunt % BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr SUCEPTANCIA SL Slack PQ Carga_ PV Gen_ PQ Carga_ PV Gen_ PQ Carga_ PQ Carga_ % DATOS DE LINEAS % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA Linea Carga_1 Carga_ Linea Carga_2 Carga_ Linea Carga_1 Carga_ Linea Carga_3 Carga_ % DATOS DE TRANSFORMADORES % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA TAP Trafo Slack Carga_ Trafo Gen_1 Carga_ Trafo Gen_2 Carga_ N= 'Carga_1' 'Carga_2' 'Carga_3' 'Carga_4' 'Gen_1' 'Gen_2' 'Slack' pN= Barras= Se usa cuando se especifica datos generadores (estabilidad)

22 Función red2mat : Esta función, convierte un archivo ASCII con los datos de la red, en matrices usables por el Matlab Argumentos de entrada: Archivo ASCII con los datos de la red. Nombre del archivo para almacenar los datos de salida (opcional). Argumentos de salida: Matrices N, pN, Barras.

23 desacoplado rápido es el que sigue:
El procedimiento para solucionar un flujo de carga con el método de Newton-Raphson desacoplado rápido es el que sigue: Especifica Pi y Qi Para las barras PQ Para la barra Slack Estima |Vi(0)| y (0) (1.00) Se rspecifica V y  Especifica Pi , |Vi| y los limites max y min de Qi Para las barras PV Estima (0) (1.00) Determinar B’ y B’’ y en consecuencia [B’]-1 y [B’’]-1 Usando los valores especificados y estimados Calculo los vectores:

24 Se actualizan los |Vi| y i :
Mientras halla algún: |Pi(k)|> o algún |Qi(k)|> convergió Calculo la potencia reactiva en todas las barras PV: Si se violó al menos un límite tomo acción correctiva y vuelvo al algortimo

25 Argumentos de entrada: Matrices N y pN con los datos de la red.
Función ybb : Esta función, dados los datos de la red, obtiene las matrices Y, B’ y B’’ . Argumentos de entrada: Matrices N y pN con los datos de la red. Argumentos de salida: Matriz admitancia Y y las matrices suceptancias B’ y B’’. Red ejemplo: slack barra_PQ1 barra_PQ2 0.02+j0.04 400 MW 250 MVar 0.01+j0.03 j0.025 1.050° Vpu barra_PV 200 MW |1.04| Vpu % DATOS DE BARRA % CARGA GENERACION min max Shunt % BARRA TENSION MW MVAR MW MVAR MVAR MVAR MVAr SL slack PQ barra_PQ PQ barra_PQ PV barra_PV % % DATOS DE LINEAS % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA Linea slack barra_PQ Linea slack barra_PV Linea barra_PQ1 barra_PV % DATOS DE TRANSFORMADORES % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA TAP Trafo barra_PQ2 barra_PQ

26 Ejecutando [N,pN]=fcm2dat(‘ejemplo4b.m’)
pN = [Y,Bp,Bs]=ybb(N,pN) Y = i i i i i i i i i i i i » Bp Bp = » Bs Bs =

27 Se considera entonces un transformador con admitancia yt en serie con un transformador ideal de
relación 1:a siendo a el valor por unidad de la posición del tap, el que permitirá pequeños ajustes de tensión en escalones del orden del 1 al 1.5% de la tensión nominal, el modelo del transformador ahora es : yt Vi Vj Vx 1:a Ii Ij

28 Función flunrdr: Esta función, dados los datos de la red, ejecuta flujo de carga por el método Newton-Raphson desacoplado rápido. Argumentos de entrada: Matrices N y pN con los datos de la red o archivo.dat generado por fcm2dat. Nombre del archivo de salida para almacenar los resultados (opcional). Argumentos de salida: Para cada una de las barras: Módulo y ángulo de la tensión. Potencia activa y reactiva de carga. Potencia activa y reactiva de generación. Compensación. General: Máximo error de potencia una vez que convergió. Número de iteraciones.

29 Fuerzo una salida del while. Avisando que es “normal”
Mientras iter<iter máx: B Desde Barra 1 hasta última Barra PV p f(Y, |V|, ) P Pesp-p calc PV P/|V| no Todos los P son < que ? si También convergió Q? no A Calculo  resolviendo el sistema. Actualizo  si Hay Barras PV? no si Busco en cual de las Barras PV hay violación de los límites Hubo violación en algún límite? no Fuerzo una salida del while. Avisando que es “normal” si Aumento la tensión en la barra donde se violó el límite inferior y bajo la tensión donde se violó el límite superior. Aviso que es como si no hubiera convergido A

30 Fuerzo una salida del while. Avisando que es “normal”
Desde Barra 1 hasta última Barra PV q f(Y, |V|, ) Q Qesp-q calc QV Q/|V| (solo barras PQ) Todos los Q son < que ? si También convergió P? no Calculo |V| resolviendo el sistema Actualizo |V|. si Hay Barras PV? no si Busco en cual de las Barras PV hay violación de los límites si Hubo violación en algún límite? no Fuerzo una salida del while. Avisando que es “normal” si Aumento la tensión en la barra donde se violó el límite inferior y bajo la tensión donde se violó el límite superior. Aviso que es como si no hubiera convergido Iter=iter+1 B Warning: No convergió en iter max iteraciones FIN

31 Flujo en las líneas y pédidas
Utilizando el archivo del ejemplo anterior: » [N,pN,Barras]=red2mat('ejemplo4b.m'); » [mv,an,Pd,Qd,Pg,Qg,Qsh,maxerror,iter]=flunrdr(N,pN); » diary ejemplo.tab » tabflu Flujo en las líneas y pédidas --Línea Flujo en la línea Pérdidas-- desde hasta MW Mvar MVA MW Mvar barra_PQ1 slack barra_PV barra_PV slack barra_PQ slack barra_PQ barra_PV Total de pérdidas Flujo en las transformadores -Transformador Flujo transformador Tap-- desde hasta MW Mvar MVA barra_PQ barra_PQ2 barra_PQ

32 Argumentos de entrada:
Función flujo: Ejecuta todos los comandos para realizar un flujo de carga y desplegar los resultados. Argumentos de entrada: Nombre del archivo ASCII con los datos de la red. function[]=flujo(archivo) global Sb Sb=100; [N,pN,Barras]=red2mat(archivo); [mv,an,Pd,Qd,Pg,Qg,Qsh,maxerror,iter,Y]=flunrdr(N,pN); archivo=[strtok(archivo,'.') '.flu']; % crea el nombre del archivo de salída % igual al de entrada pero con extensión .tab diary(archivo) tabbar tabflu diary » flujo('ejemplo4b.m') Máximo error en la potencia = No. de Iteraciones = 11 Barra Tensión Angulo Carga Generación Shunt Mag grados MW MVAr MW MVAr MVAr barra_PQ barra_PQ barra_PV slack Total Flujo en las líneas y pédidas --Línea Flujo en la línea Pérdidas-- desde hasta MW Mvar MVA MW Mvar barra_PQ1 slack barra_PV barra_PV slack barra_PQ slack barra_PQ barra_PV Total de pérdidas Flujo en las transformadores -Transformador Flujo transformador Tap-- desde hasta MW Mvar MVA barra_PQ barra_PQ2 barra_PQ

33 Es interesante aprovechar el potencial del Matlab para estudios paramétricos, por ejemplo se
considerando el siguiente archivo (pag84.m) que corresponde a la red simplificada de Nueva Zelandia: % Datos de archivo de entrada tomados del Arrillaga, cap. IV % % DATOS DE BARRA % CARGA GENERACION min max Shunt % BARRA TENSION MW MVAr MW MVAR MVAr MVAr MVAr PQ INV PQ ROX PQ MAN PV MAN PQ TIW SL ROX PQ BEN PV BEN PQ AVI PV AVI PV OHAU PQ LIV PV ISL PQ BRM PQ TEK PQ TEK PQ TWI % DATOS DE LINEAS % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA SUCEPTANCIA Linea INV MAN Linea MAN TIW Linea INV TIW Linea INV ROX Linea ROX TWI Linea ROX LIV Linea BEN TWI Linea LIV AVI Linea AVI BEN Linea LIV ISL Linea TWI TEK Linea TEK ISL Linea TWI BRM Linea BRM ISL Linea TWI ISL % DATOS DE TRANSFORMADORES % BARRA_1 BARRA_2 RESISTENCIA REACTANCIA TAP Trafo MAN MAN Trafo ROX ROX Trafo TWI OHAU Trafo AVI AVI Trafo BEN BEN Trafo TEK TEK

34 Argumentos de entrada: Nombre de una o dos barras.
Para variar un parámetro de una barra o línea o transformador, necesitamos saber dicho elemento en que fila está de la matriz N, una vez ubicada la fila podemos hacer el estudio paramétrico variando el o los valores de las columnas que nos interesan. Función filaN: Esta función encuentra la fila de N donde está la barra o línea o transformador requerido. Argumentos de entrada: Nombre de una o dos barras. Vector celda con los nombres de todas las barras. Matriz N (No es necesaria si se ingresó solo una barra) Argumentos de salida: Fila o filas de la matriz N donde se encuentra la barra o línea o transformador de interés. function[fN]=filaN(b1,b2,Barras,N) fl=0; if iscell(b2), % Si el segundo argumento de entrada es una celda Barras=b2; % es porque se ingreso una única barra, por lo tanto fl=1; % b2 es en realidad el vector celda con los nombres de end % todas las barras. nb1=find(strcmpi(Barras,b1)); % Se busca el número de barra que corresponde b1 if fl==1, % Si se ingresó una única barras, el número de esta se corresponde fN=nb1; % con la fila, pronto, me voy de la función. return end nb2=find(strcmpi(Barras,b2)); % Se busca el número que le corresponde a la barra b2 fb=(N(:,1:2)==nb1); % fb es un matriz de dos columnas x filas de N, donde hay unos % cuando coincide el nombre de la barra 1 fb=fb+2*(N(:,1:2)==nb2); % A la matriz anterior le sumo dos cuando hay coincidencia % con el nombre de la barra 2. fN=find(sum(fb')==3); % Las filas de fN que sumen tres son las buscadas. 1 2 3 4 5

35 Siguiendo por pasos la ejecución de filaN para este último ejemplo:
Por ejemplo: cual es la ubicación dentro de la matriz N de la barra AVI220: » [N,pN,Barras]=fcm2dat('pag84.m'); » f=filan('AVI220',Barras) f = 6 Para el caso de líneas: cual es la ubicación dentro de la matriz N de la línea TEK220-ISL220: » f=filan('TEK220','ISL220',Barras,N) f = 34 Siguiendo por pasos la ejecución de filaN para este último ejemplo: fb = fb = nb1 = 10 1 - 2 - nb2 = 16 fN = 34 3 - 4 - 5 -

36 Ejemplo 6.3a: Dada la red definida en ‘pag84.m’, el siguiente ejemplo estudia el módulo de la tensión y el ángulo en la barra ‘INV220’ al variar la carga en esta de 0 a 500 MW y de 0 a 250 MVAr pinv=linspace(0,500,5); % Rango potencia activa (5 puntos) qinv=linspace(0,250,5); % Rango potencia reactiva (5 puntos) clear v a f=0; c=0; global Sb; Sb=100; [N,pN,Barras]=red2mat('pag84.m'); INV220=filaN('INV220',Barras); % Se 'ubica' a INV220 en N for var1=pinv, % Variación de la potencia activa c=c+1; N(INV220,4)=var1; % Se modifica el elemento de N correspondiente % a la potencia activa de INV220 for var2=qinv, N(INV220,5)=var2; % Se modifica el elemento de N correspondiente % a la potencia reactiva de INV220 f=f+1; [mv an]=flunrdr(N,pN); % Flujo de cargas v(f,c)=mv(INV220); % Se alacena módulo de la tensión a(f,c)=an(INV220); % y el ángulo end [x,y]=meshgrid(pinv,qinv); % Se crea el grid para el plote 3D surf(x,y,v,a) % Ploteo de la superficie: v contra x,y shading interp % Interpolación de colores view([40 35]) % Variación del ángulo de la visión colorbar('v') % Escala de colores de a (ángulo) en pos. vertical xlabel('Potencia Activa') ylabel('Potencia Reactiva') zlabel(Tensión) title('Estudio de Flujo de Carga sobre la Barra INV220')

37

38 Idéntico al anterior pero usando flunrdrI.
Ejemplo 6.3b: Idéntico al anterior pero usando flunrdrI. pinv=linspace(0,500,5); % Rango potencia activa (5 puntos) qinv=linspace(0,250,5); % Rango potencia reactiva (5 puntos) clear v a f=0; c=0; load pag84.dat -mat % Se cargan los datos previamente calculados con fcm2dat INV220=filaN('INV220',Barras); % Se 'ubica' a INV220 en N [Y,Bp,Bs]=ybb(N,pN); for var1=pinv, % Variación de la potencia activa c=c+1; N(INV220,4)=var1; % Se modifica el elemento de N correspondiente % a la potencia activa de INV220 for var2=qinv, N(INV220,5)=var2; % Se modifica el elemento de N correspondiente % a la potencia reactiva de INV220 f=f+1; [mv an]=flunrdrI(N,pN,Y,Bp,Bs); % Flujo de cargas v(f,c)=mv(INV220); % Se alacena módulo de la tensión a(f,c)=an(INV220); % y el ángulo end [x,y]=meshgrid(pinv,qinv); % Se crea el grid para el plote 3D surf(x,y,v,a) % Ploteo de la superficie: v contra x,y shading interp % Iterolación de colores view([40 35]) % Variación del ángulo de la visión colorbar('v') % Escala de colores de a (angulo) en pos. vertical xlabel('Potencia Activa') ylabel('Potencia Reactiva') zlabel('Tension') title('Estudio de Flujo de Carga sobre la Barra INV220')


Descargar ppt "Análisis de Flujo de Carga Presentación del problema"

Presentaciones similares


Anuncios Google