Red de conocimiento informático - Conocimiento sistemático - ¿El proceso del método Newton-Raphson y sus dificultades y puntos clave?

¿El proceso del método Newton-Raphson y sus dificultades y puntos clave?

El método Newton-Raphson se ha utilizado para resolver problemas de flujo de potencia en sistemas de energía desde finales de la década de 1950. Sin embargo, como método práctico y competitivo de cálculo del flujo de potencia, se resuelve aplicando tecnología de matriz dispersa y método de eliminación gaussiano. Ec. El método de Newton-Raphson es un método de cálculo iterativo eficaz para resolver ecuaciones algebraicas no lineales.

1.3 Descripción general de MATLAB

En la actualidad, las computadoras electrónicas se han utilizado ampliamente en el análisis y cálculo de sistemas eléctricos, y el cálculo del flujo de potencia es uno de sus software de aplicación básicos. Existen muchos métodos de cálculo del flujo de potencia. El método de cálculo del flujo de energía tiene cinco requisitos: (1) velocidad de cálculo rápida (2) menos requisitos de memoria (3) los resultados del cálculo tienen buena confiabilidad y credibilidad (4) buena adaptabilidad, es decir, puede manejar ajustes de proporción variable; , diferentes descripciones de los componentes del sistema, gran capacidad para cooperar con otros programas (5) Simple.

MATLAB es un lenguaje de programación interactivo orientado a objetos que se usa ampliamente en la industria y el mundo académico. Se utiliza principalmente para operaciones matriciales y se utiliza en análisis numérico, simulación de control automático, procesamiento de señales digitales, análisis dinámico. y dibujo También hay funciones poderosas en otros aspectos.

El lenguaje de programación MATLAB tiene una estructura completa y una excelente portabilidad, y sus elementos de datos básicos son matrices que no necesitan ser definidas. Puede resolver eficazmente problemas de informática industrial, especialmente cálculos matriciales y vectoriales. MATLAB es más fácil de dominar que el lenguaje C y el lenguaje FORTRAN. A través del lenguaje M, los algoritmos se pueden escribir de forma similar a las fórmulas matemáticas, lo que reduce en gran medida la dificultad del programa, ahorra tiempo y permite que la energía principal se centre en la idea del algoritmo en lugar de en la programación.

Además, MATLAB proporciona una herramienta especial: la caja de herramientas, que incluye principalmente: procesamiento de señales, sistema de control, red neuronal, lógica difusa, wavelet, simulación, etc. Los usuarios de diferentes campos y niveles pueden realizar fácilmente trabajos de cálculo, análisis y diseño aprendiendo y aplicando las herramientas correspondientes.

En el diseño de MATLAB, el formato de llenado de los datos originales es un vínculo clave, que está directamente relacionado con la conveniencia y flexibilidad del uso del programa.

El diseño del formato de entrada de datos original debe ser principalmente desde la perspectiva de uso, con principios simples y claros y de fácil modificación.

2.1 Conceptos básicos del sistema de energía

2.1.1 Sistema de energía

(1) Sistema de energía: El generador convierte la energía mecánica en energía eléctrica a través de transformadores y líneas eléctricas. Se transporta y distribuye a los usuarios, donde se convierte en energía mecánica, energía térmica y energía lumínica a través de motores, hornos eléctricos y luces eléctricas. Estos generadores, transformadores, convertidores, líneas eléctricas y diversos equipos eléctricos que generan, convierten, transmiten, distribuyen y consumen energía eléctrica están conectados entre sí para formar un todo unificado llamado sistema de energía.

(2)Red eléctrica: la parte del sistema eléctrico distinta de los generadores y equipos eléctricos.

(3) Sistema de potencia: la suma del sistema de potencia y la "parte de potencia".

"Parte de potencia": incluye calderas, turbinas de vapor, redes de calefacción y equipos eléctricos en centrales térmicas, embalses y turbinas de vapor en centrales hidroeléctricas, reactores en centrales nucleares, etc.

2.1.2 Carga del sistema eléctrico y curva de carga

(1) Carga del sistema eléctrico: la suma de la energía consumida por decenas de millones de equipos eléctricos en el sistema, incluidos motores asíncronos, Motores eléctricos síncronos, calentadores eléctricos, equipos rectificadores, equipos de iluminación y otras categorías.

(2) Carga de suministro de energía del sistema eléctrico: carga de energía integral más pérdida de energía en la red eléctrica.

(3) Carga de generación de energía del sistema eléctrico: carga de suministro de energía más el consumo eléctrico propio de la central.

(4) La potencia activa y la potencia reactiva de cada equipo eléctrico cambian con los cambios en el voltaje de recepción de energía y la frecuencia del sistema, y ​​sus reglas cambiantes son diferentes. El patrón de cambio de carga eléctrica integral con voltaje y frecuencia es la síntesis de los patrones de cambio de cada carga eléctrica.

(5) Curva de carga: Dentro de un cierto período de tiempo, la carga cambia con el tiempo.

(6) Según el tipo de carga, se puede dividir en carga activa y carga reactiva según el período de tiempo, se puede dividir en curva de carga diaria y curva de carga anual; ubicación de medición, se puede dividir en usuarios individuales, líneas eléctricas, curvas de carga de subestaciones, plantas de energía e incluso el sistema completo. Combinando las tres clasificaciones anteriores, se determina una curva de carga específica. Las curvas de carga diaria de potencia activa de diferentes industrias varían mucho. La curva de carga es de gran importancia para el funcionamiento del sistema eléctrico. Es una base importante para organizar los planes diarios de generación de energía, determinar las tareas de generación de energía de la central eléctrica y determinar los métodos de operación del sistema.

2.2 Componentes básicos del sistema eléctrico

2.2.1 Generador

En la industria eléctrica moderna, casi todos los generadores síncronos se utilizan para generación de energía térmica e hidroeléctrica. generación O generación de energía nuclear. La armadura del motor está montada en el estator y los devanados de campo están montados en el rotor como polos magnéticos giratorios. La velocidad (rpm) del generador síncrono tiene una relación estricta con la frecuencia del sistema f (HZ), es decir, n=60f/p es el número de pares de polos del motor.

Según los diferentes tipos de estructuras de rotor, se pueden dividir en generadores de polos ocultos y generadores de polos salientes. El primero no tiene polos magnéticos expuestos, mientras que el segundo sí.

Los métodos de excitación del rotor incluyen el sistema de excitación de CC y el sistema de excitación de tiristores. Este último utiliza la potencia de CA generada por el excitador de CA coaxial o el propio generador síncrono y la suministra al rotor después de la rectificación. Los excitadores de CC tienen problemas de conmutación, por lo que su capacidad de producción es limitada. Por tanto, los sistemas de excitación por tiristores se pueden utilizar en generadores de gran capacidad.

Transformador de potencia

El transformador de potencia es un dispositivo elevador y reductor de voltaje ampliamente utilizado en sistemas eléctricos. Según las estadísticas, la capacidad total instalada de los transformadores en el sistema eléctrico es entre 6 y 8 veces mayor que la de los generadores. Dependiendo del propósito, los transformadores de potencia se pueden dividir en transformadores elevadores, transformadores reductores, transformadores de distribución y transformadores de cableado. Dependiendo del número de fases, los transformadores se pueden dividir en dos tipos: monofásicos y trifásicos. Dependiendo de la bobina por fase, hay dos devanados y tres devanados. Según el método de acoplamiento de la bobina, se puede dividir en transformadores ordinarios y autotransformadores.

Cable de alimentación

(1) Línea aérea: compuesta por conductores, pararrayos, torres, aisladores y herrajes.

(2) Línea de cable: compuesta por conductor, capa aislante y funda.

2.2.4 Equipos de compensación de potencia reactiva

Los principales equipos de compensación de potencia reactiva incluyen cámaras síncronas, condensadores de potencia y compensadores estáticos.

2.3 Modelo matemático de los componentes del sistema eléctrico

2.3.1 Circuito equivalente de la línea eléctrica

En el análisis del sistema eléctrico, generalmente solo se mide el voltaje de los puertos en ambos Los lados de la línea eléctrica se consideran y son actuales, tratando la línea eléctrica como una red pasiva de dos puertos.

Ecuación de red de dos puertos de línea de transmisión;

Z=B=*L*

Circuito equivalente de transformador

(1 ) Circuito equivalente de transformador de dos devanados

(2) Circuito equivalente de transformador de tres devanados

2.3.3 Modelo matemático de generador síncrono

2.3.4 Carga del sistema eléctrico

2.3.5 Circuito equivalente del sistema eléctrico de voltaje multinivel

2.4 Análisis del funcionamiento en estado estable del sistema eléctrico

2.4.1 Voltaje de la línea eléctrica Pérdidas y pérdidas de potencia

2.4.2 Pérdidas de potencia y pérdidas de tensión en transformador

2.4.3 Análisis y cálculo de red radial

Red eléctrica radial La característica es que cada línea tenga un punto inicial y un punto final claros. El cálculo analítico de la red eléctrica radial utiliza la carga conocida y el voltaje del nodo para calcular el voltaje del nodo desconocido, la distribución de energía de la línea, la pérdida de energía y la potencia de salida inicial.

Según diferentes condiciones conocidas, el análisis y cálculo de la red eléctrica radial se puede dividir en dos categorías.

1 Potencia y voltaje del terminal conocido: es decir, calcular paso a paso partiendo del terminal hasta obtener cada cantidad requerida.

2 Potencia del terminal conocida y voltaje del terminal: El terminal puede entenderse como el punto de carga y el terminal de arranque es el punto de alimentación o punto central de voltaje. Utilice un enfoque iterativo.

(1) Suponiendo que el voltaje del terminal es el voltaje nominal de la línea, utilice el primer método para obtener la potencia del terminal inicial y la distribución de energía de toda la red.

(2) Utilice la potencia del terminal de línea obtenida y el voltaje del terminal de línea conocido para calcular el voltaje del terminal de línea y la distribución de energía de toda la red.

(3) Utilice el voltaje al final de la línea obtenido en el paso (2) para calcular la potencia al inicio de la línea y la distribución de energía en toda la red. Si la diferencia entre la potencia calculada de cada línea y el mismo resultado del cálculo anterior es menor que el valor permitido, se puede considerar que el voltaje de la línea y la distribución de energía de toda la red obtenidos en este paso son los resultados finales del cálculo. De lo contrario, regrese al paso 2 y vuelva a calcular.

2.4.4 Cálculo del flujo de energía del sistema de energía complejo

El cálculo del flujo de energía del sistema de energía comienza con el cálculo del estado operativo de estado estable del sistema de energía complejo en condiciones normales y de falla. El objetivo del cálculo del flujo de energía es obtener el voltaje del nodo y la distribución de energía del sistema eléctrico bajo un modo de operación determinado, para verificar si cada componente del sistema está sobrecargado, si el voltaje en cada punto cumple con los requisitos, si el la distribución y distribución de energía son razonables y cuál es la pérdida de energía. La operación y expansión de los sistemas de energía existentes, la planificación y el diseño de nuevos sistemas de energía y el análisis de estabilidad estática y transitoria de los sistemas de energía se basan en cálculos de flujo de energía. Por lo tanto, el cálculo del flujo de potencia es uno de los cálculos más básicos en el análisis y cálculo de sistemas de energía.

La aplicación de los resultados del cálculo del flujo de potencia, como la investigación de la estabilidad del sistema eléctrico, la evaluación de la seguridad o el flujo de potencia óptimo, también afecta directamente a los modelos y métodos de cálculo del flujo de potencia.

2.5 Algoritmo informático del flujo de potencia del sistema eléctrico

2.5.1 Descripción general del algoritmo informático del flujo de potencia del sistema eléctrico

2.5.1.1 Formación de la matriz de admitancia

2.5.1.2 Tipo de nodo

(1) Nodo fotovoltaico: La potencia activa p de la columna es un valor dado y el voltaje también se mantiene en un valor dado.

(2)Nodo PQ: Si se dan potencia activa y potencia reactiva.

(3) Nodo de equilibrio: se utiliza para equilibrar la potencia de toda la red eléctrica. Elija un generador con capacidad suficiente para equilibrar la energía en toda la red.

La amplitud de tensión y la fase del nodo equilibrado se dan normalmente en función de su ángulo de fase, es decir, su ángulo de fase de tensión es 0. Sólo hay un punto de equilibrio en una red eléctrica independiente.

2.5.1.3 Método de iteración gaussiana

Método de Newton-Raphson

1 Principio

2.5.2.2 Pasos básicos

Pasos básicos:

(1) Formar la matriz de admitancia del nodo.

(2) Establezca el voltaje de cada nodo en el valor inicial u,

(3) Sustituya el valor inicial del nodo en la expresión relevante para encontrar el vector de término constante de la ecuación de corrección.

(4) Sustituya el valor inicial del voltaje del nodo en la solución y encuentre los elementos de la matriz jacobiana.

(5) Resuelva la ecuación de corrección y encuentre el vector de corrección.

(6) Encuentre el nuevo valor del voltaje del nodo.

(7) Compruebe si hay convergencia. De lo contrario, reinicie la iteración estrecha desde el paso 3, utilizando el nuevo valor de cada voltaje de nodo como valor inicial. De lo contrario, continúe con el siguiente paso.

(8) Calcule la distribución de energía en rama, la potencia reactiva y la potencia de entrada del nodo de equilibrio del nodo fotovoltaico.

2.5.2.3 Notas

2.5.2.4 Diagrama de flujo de planificación

2.6 Diseño de software

2.6.1 Selección y descripción de la solución

p>

Solución

2.6.3 Descripción de programación de MATLAB y descripción de componentes

Programa

# include ltstdio.h gt

Estructura Nodo de energía

{

Punta flotante pi;

Float;

int I;

Seis flotantes ;

};

struct power node WG[20];

struct power node wl[20];

Datos de línea estructural

{

int I

int j;

Flotante r;

Flotante x

p>

Flotante y; /*Incluyendo relación de transformación*/

Flotante k; /*Solo se usa para analizar el transformador, la relación de transformación todavía usa Y */

} ;

estructura de datos de línea ZL[20];

estructura de datos de línea T3;/*matriz temporal*/

estática doble y[][ 3]; /* Aplicación en forma matricial*/

int t = 0;

int t2, ti, TJ; /*Unidad de conteo temporal*/

Temperatura flotante ;

Floating tx, tr, YK; /*Unidad de trabajo intermedia (aplicada en forma matricial) */

Doble GIJ, BIJ /*Unidad de trabajo intermedia (aplicada en forma matricial) * /

int N; /*Número total de nodos*/

int zls

int Q, V, PVS, PVS

int GS

int LS

float vo

Float Eps

estático doble GII[]={0}, BII []= {0}, YDS[]={0}, YDZ[]={0}, B[]= { 0} /*Agregar matriz*/

/*Al formar tabla de factores Datos definidos* /

Datos físicos de la estructura

{

Visita flotante

int I;

} ;

Estructura estática pvdata PV[]= { 0 };

Entrada de datos()

{

clr SCR();

printf("Programa en ejecución");

printf(" n ");

printf("Ingrese la agregación en el comentario del sistema");/ *Número total de nodos*/

scanf("d", ampn);

printf(" n ");

printf(" ¿Total de notas PQ? "); /*Número total de nodos*/

scanf("d ", ampq);

PVS =(N-Q)-1;

printf (" n ");

printf(" ellos ingresan el agregado a la línea eléctrica del sistema ");

scanf("d ", ampzls /*Número de líneas de transmisión y número total de transformadores* /

printf(" n ");

printf("Todos los nodos del motor: " /*Número total de nodos del generador*/

scanf(" d ", ampGS);

p>

printf(" n ");

printf("Cargando todos los nodos:"); /*Número total de nodos de carga*/

scanf("d "); , ampLS);

printf(" n ");

printf("voltaje promedio");/*voltaje promedio*/

scanf("f " , VO);

printf(" n ");

printf(" n ");

printf("Por favor, introduzca la fecha del mensaje") ;

printf("Sigue tu formato favorito: I, j, r, x, y, kn "); p>

scanf("d,d,f,f", ampzl[t].i ampzl[t].j amp;zl[t].r amp;zl[t].x amp;zl[t ]. y amp;zl[t].k);

printf("proceso....n");

if(zl[t]). Yo gtzl[t]. j)

{

temp=zl[t]. Yo;

zl[t]. i=zl[t]. j;

zl[t]. j = temperatura;

/* if(zl[t]). ¡k! = 1) */*¿Deberíamos considerar el problema de la reducción?*/

}

printf("Los datos que ingresaste son: n ");

printf ("d,d,f,f",zl[t].i,zl[t].j,zl[t].r,zl[t].x,zl[t].y,zl[t] .k);

} while(zl[t].i!= 0 amp ampzl[t].j = = 0);

for(T2 = t;t gt0 ;T-)/*Clasificación de burbujas*/

{

for(;t2 gt0;t2 -)

{

if (zl[t2].i ltzl[t2-1].i)

{

t3.i=zl[t2]. i;t3.j=zl[t2]. j;t3.r=zl[t2]. r;t3.x=zl[t2]. x;t3.y=zl[t2]. y;t3.k=zl[t2]. k;

zl[t2]. i=zl[t2-1]. i;zl[t2]. j=zl[t2-1]. j;zl[t2]. r=zl[t2-1]. r;zl[t2]. x=zl[t2-1]. x;zl[t2]. y=zl[t2-1]. y;zl[t2]. k=zl[t2-1]. k;

zl[t2-1]. yo = t3.izl[t2-1]. j = t3.jzl[t2-1]. r = t3.rzl[t2-1]. x = t3.xzl[t2-1]. y = t3.yzl[t2-1]. k = t3.k

}

si no(zl[t2].i==zl[t2-1].i)

{if( zl[t2]). jltzl[t2-1]. j)

{

t3.i=zl[t2]. i;t3.j=zl[t2]. j;t3.r=zl[t2]. r;t3.x=zl[t2]. x;t3.y=zl[t2]. y;t3.k=zl[t2]. k;

zl[t2]. i=zl[t2-1]. i;zl[t2]. j=zl[t2-1]. j;zl[t2]. r=zl[t2-1]. r;zl[t2].

x=zl[t2-1]. x;zl[t2]. y=zl[t2-1]. y;zl[t2]. k=zl[t2-1]. k;

zl[t2-1]. yo = t3.izl[t2-1]. j = t3.jzl[t2-1]. r = t3.rzl[t2-1]. x = t3.xzl[t2-1]. y = t3.yzl[t2-1]. k = t3.k

}

}

}

}

printf(" n ") ;

t = 0;

printf("Por favor, ingrese wg~!n");

Hacer

{

scanf("f, f, d, f ", ampwg[t]. Pi sum. wg[t]. Qi ampwg[t]. I ampwg[t]. VI);

t;

}mientras(t!= GS);ti = 0;

for(t = 0;t ltGS;t){if(wg[t].vi lto){pv[ti]. vis = laboratorio(wg[t].vi); yo=wg[t]. i;ti;}}

T2 = 0;

printf("Por favor, ingrese WL~!n");

Hacer

{

scanf("f, f, d, f ", ampwl[t2].Pi sum.wl[t2].Qiampwl[t2].i ampwl[t2].VI);

t2;

}mientras(t2!= LS);

for(t = 0;t ltLS;t){if(wl[t]. vi lto){pv[ti]. vis=labs(wl[t].VI);pv[ti]. yo=wl[t]. i;ti;}}

}

Forma matricial()

{

for(t = 1; t ltn; t )

{

GII[t]= 0

BII[t]= 0

YDS[t]= 0; ;

}

for(T2 = 1; t ltzlst2 )

{

ti=labs(zl[t2].I );

tj=labs(zl[t2].j);

tr=zl[t2]. r;

tx=zl[t2].

x;

temp=ldexp(tr,1) ldexp(tx,1);

GIJ = tr/temp; BIJ = tx/temp;

y[T2][1]=-GIJ;

y[T2][2]=-BIJ;

y[T2][3]= TJ;

GII[ti]= GII[ti] GIJ; BII[ti]= BII[ti] BIJ;

GII[TJ]= GII[TJ] GIJ; TJ] BIJ;

YDS[ti]= YDS[ti] 1;

}

YDZ[1]= 1;

for(t = 1; t ltn-1; t )

{

YDZ[t 1]= YDZ[t] YDS[t];

}/*La primera parte de la formación de la matriz se completa*/

/*La formación de la matriz comienza desde la segunda parte*/

for(T2 = 1; t ltzlst2 )

{/*.k solo se usa para la calibración del transformador, la relación de transformación sigue siendo y */

ti=zl[t2]. i;tj=zl[t2]. j;YK=zl[t2]. y;

if(ti lt;0 | | tj lt0)

{ if(ti lt;0)

ti = laboratorio(ti); /p>

Otros

ti = laboratorio (TJ);

GIJ = y[T2][1]; p>

GII[T2]= GII[T2] (1-1/YK/YK)* GIJ

BII[T2]= BII[T2] (1-1/YK /YK; )* BIJ;

y[T2][1]= GIJ/YK;

y[T2][2]= BIJ/YK;

}

Otros

GIJ = 0;

BIJ = YK/2;

SY(tr);/*Esto necesita ser llamado para realizar el autoarranque acumulativo del nodo*/

SY(TJ /*El proceso de SY es acumular las partes reales e imaginarias correspondientes del autoarranque en un nodo*); /

}

}

int sign, ld, k2, x, im, ai; /*interruptor de consola k2, interruptor de característica estática de carga*/

Coma flotante estática FD[]= { 0 };

AF sin signo[1]

static int u[]= { 0 }; ¿Cómo implementarlo? ¿De eso? */

Forma divisoria ()

{

/*Aún no conozco el papel de LD PVD... bondad*/

PVD=pv[0]. i;

ld=wl[0]. i;

t = 0;

hacer {

t2;

if(signo == 1 amp; ampt2==PVD )

{ t = t 1; pvd=pv[t]. i; FD[T2]= 0; di[T2]= 0;

si(k2 = = 0 amp; ampt2==ld)

{ T2 = T2 1; =wl[t2].

Yo;}

}Continuar;

Otros

b[T2]= BII[T2];

if(k2 = = 0 amperios = = 1 amperios; ampt2==ld)

{

B[t2]=B[t2] AF[1]*wl[t2]. qi/wl[t2]. vi/wl[t2]. 6;T2 = T2 1;ld=wl[t2]. yo;

}

for(temp = YDZ[T2];temp ltYDZ[T2 1]-1;temp)

{

TJ = Y[temp][3]; b[TJ]= Y[temp][2];

}

si(signo=1)

{ for(temp = 1; temp ltPVStemp )

TJ = PV[temp][2];

b[TJ]= 0;

}

x = 2; soy = 1;

hacer { soy ;

si (estoy gtt2-1)

romper ;

Otro

temp = 1;

for(;trabajador temporal! gtFD[im];){if(u[x 1]!= 1 ){ temp = temp 1; x = x 2; else ai=u[x]/} /*u[]incompleto*/

Continuar;

}

} while(t2!= N-1);

}

Salida de datos()

{

clr SCR();

printf("Nota 1 voltajen ");

printf("(. 639696730300784) j(1.832939)= 1.94136001255537∠70.7609880529659n ");

printf(" 87u amp; hmm [1]u? esporas u

-

C amp8u bun n ");

}

Principal()

{

datos();/*Entrada y procesamiento de datos*/

forma matricial();/*Formación matricial */

/* forma de divisor();*//*Formación de la tabla de factores*/

solución matricial();/*Solución de ecuación lineal matricial*/

/* potencia del nodo();*//*Cálculo de la potencia del nodo durante la iteración*/

/*Iteración();*//*Iteración*/

data out();/*Salida de datos y cálculo de potencia de rama*/