¿Qué haces cuando el flujo de potencia de un modelo no converge? ¿Cambiar parámetros a lo loco hasta que funcione? ¡ya no! Este artículo tiene como objetivo explicar los problemas más comunes y su solución cuando el flujo de potencia de un modelo de red eléctrica no converge.
Introducción
Veamos algunos conceptos básicos para asegurarnos de que estamos hablando en los mismos términos.
¿Qué es el estudio de flujo de potencia?
El estudio de flujo de potencia, contrario a su nombre, tiene como objetivo calcular las tensiones nodales que satisfacen la condición de equilibrio de potencia nodal. Esto significa que las inyecciones de potencia calculadas utilizando las tensiones antes mencionadas están cerca de las inyecciones de potencia nodal especificadas (generación menos demanda). Después de obtener las tensiones, los flujos de las ramas se calculan una vez. Este estudio proporciona las magnitudes eléctricas en estado estacionario de un sistema eléctrico de potencia, por lo que es más útil en situaciones en las que podemos asegurar que el sistema está estable. Un ejemplo de una situación en la que no se debe usar es durante una gran perturbación, como un cortocircuito.
¿Qué significa convergencia?
"Converger" significa que la condición de equilibrio de potencia nodal se ha satisfecho hasta un cierto umbral numérico. Un buen umbral numérico es 0,000001, un umbral utilizado en la práctica es 0,001 por cuestiones de velocidad y, a veces, porque el modelo no es tan bueno como debería y los métodos numéricos se atascan en errores más altos.
Problemas
1. Datos sin sentido
El primer problema que me gustaría mencionar es la presencia de datos sin sentido. Pero, ¿cómo se puede saber si un dato tiene sentido? Algunos consejos:
Reactancia de rama cero. Todas las ramas deben tener algún valor de reactancia significativo. En el caso de las ramas de corriente continua, debe haber algún valor de resistencia.
Valores de reactancia de rama muy bajos. A veces, existe la tentación de modelar interruptores y puentes con valores de reactancia muy bajos como 0.0000001. Esto daña el número de condición del modelo y, por lo tanto, sus propiedades de convergencia. Estas ramas deben ser eliminadas del modelo con un procesado topológico.
Valores que no están en por unidad. La mayoría de los modelos de sistemas de potencia requieren que las impedancias se proporcionen en valores por unidad. Si no, los valores no tendrán sentido.
Valores fuera de rango. Algunos parámetros sólo admiten valores en un cierto rango. Por ejemplo, ¿tiene sentido tener una resistencia de -0,05 pu? No. Idealmente, el software no debería permitir valores fuera de rango porque los usuarios no siempre son conscientes de cuáles son los rangos aplicables.
Rangos invertidos. Cuando se especifica un rango está claro que el valor inferior tiene que ser realmente inferior al valor superior. A veces el rango se invierte por error.
Valores NaN. Esto es obvio, pero no debe subestimarse. Not-a-Number no es un número válido en ninguna parte, por lo tanto, ningún campo de entrada debe ser NaN. Lo mismo con valores numéricos vacíos.
Puede haber otros parámetros que pueden contener datos dañinos que no son inmediatamente obvios. En esos casos, un histograma de los valores es una herramienta muy útil para encontrar valores atípicos. GridCal implementa la detección automática de valores sin sentido y proporciona histogramas de las magnitudes más influyentes en su herramienta de inspección de modelos.
2. Desequilibrio de potencia activa
Es muy común y se pasa por alto fácilmente. Como hemos mencionado, el estudio de flujo de potencia calcula los valores de estado estacionario de un circuito. Para que un circuito esté en estado estacionario, debe haber un equilibrio exacto entre la carga y la generación. En el algoritmo numérico necesitamos dejar un generador libre, ubicado en el nodo "slack" para poder resolver el problema. Este generador puede proporcionar cualquier cantidad de energía, pero eso no significa que la red pueda transportarla a cualquier parte.
En las redes de transmisión, el balance debe estar típicamente dentro de un margen del 3%, menos es aún mejor. En las redes de distribución puede no haber equilibrio alguno si no hay generadores. En esos casos, el nudo slack proporcionará toda la potencia, pero a diferencia de las redes de transmisión, las redes de distribución están diseñadas para esa situación y el transporte de energía desde un único punto de entrada no es un problema.
Solución: Para resolver el desequilibrio de potencia activa, la solución típica es ejecutar un flujo de potencia óptimo donde la generación se despacha de acuerdo con su coste. Esto produce los valores de generación que satisfacen la demanda con criterios suficientemente buenos para poder resolver satisfactoriamente el problema del flujo de potencia.
3. Problema de punto inicial
Esto es menos obvio y está relacionado únicamente con los métodos numéricos utilizados para resolver el flujo de potencia; El algoritmo estándar para resolver el estudio de flujo de potencia es el algoritmo de Newton-Raphson. Reportado por primera vez para resolver el problema del flujo de potencia en 1967 por William. F. Tinney y Clifford E. Hart, tiene propiedades de convergencia cuadrática. Sin embargo, el algoritmo de Newton-Raphson y la mayoría de los algoritmos para resolver el flujo de potencia necesitan una aproximación de la solución inicial para iterar hasta alcanzar la convergencia.
Sabemos que en el mundo real, solo existe una solución para cada estado de carga. Pero como se trata de un modelo matemático, se ha comprobado que el espacio de solución de las ecuaciones de flujo de potencia contiene más de una solución matemáticamente posible. Entonces, ¿cómo sabemos si estamos llegando a una solución numérica significativa? En mi experiencia, una solución significativa es aquella en la que las tensiones no están en estado de colapso (suponiendo que no tenemos valores sin sentido y cumplimos el balance de potencia activa); estas son tensiones en el rango (0.9, 1.1) p.u.
Volviendo al tema que nos ocupa; A veces necesitamos ejecutar una secuencia de estudios de flujo de potencia, y la experiencia muestra que si usamos la solución del último estado como punto inicial para el nuevo estado, el algoritmo converge más rápido. Esta es una buena práctica si ambos estados de carga son similares, ya que la solución de tensiones a las 10 a. m. podría ser un buen punto inicial para la situación a las 11 a. m. Sin embargo, si los estados de carga son muy diferentes, usar una de las soluciones de tensión como punto inicial para la otra podría conducir a una solución no física, basura o a la divergencia.
Solución: Utilizar el perfil plano de tensiones. Esto es, 1,0 p.u. para todos los nodos PQ y la tensión de consigna para los nodos PV y el nodo slack. En el raro caso de que esto no conduzca a una solución, tomar una solución de una situación de carga similar podría ayudar. Sin embargo, la experiencia indica que si este es el caso, hay otros problemas a considerar como datos incorrectos o desbalance.
4. Problema de derivaciones virtuales en transformadores
Si se conecta el extremo de un transformador con capacidad nominal de 11 kV a una barra con tensión nominal de 10 kV, se debe a que, por diseño, se espera tener una tensión de 11 kV / 10 kV = 1,1 p.u. en la barra colectora. Sin embargo, si se conecta el extremo de un transformador de 132 kV a la misma barra colectora de 10 kV, la tensión sería de 13,2 p.u. y probablemente no sea una buena decisión. De hecho es un error. Este es un error muy común que pasa desapercibido, porque a veces, a pesar de los valores de derivación virtuales generados, el algoritmo numérico encuentra una solución.
Solución: Verifique que la diferencia entre las tensiones nominales de los extremos del transformador y la tensión nominal de las barras no sea muy diferente, digamos un 10% como máximo.
5. Problema de transporte de potencia reactiva
A veces, la potencia reactiva no se genera lo suficientemente cerca de donde se necesita y la red no puede transportarla de manera suficientemente eficiente. En estos casos, el algoritmo numérico no puede encontrar una solución y es bastante difícil saber por qué.
La solución obvia es proporcionar más potencia reactiva cerca de donde se necesita. Por ejemplo, ubicar bancos de condensadores o generadores con capacidad de potencia reactiva. Pero lo crea o no, hay una solución más sencilla; ¿Está caracterizando adecuadamente la potencia reactiva de las cargas? A veces no. Especialmente en modelos utilizados en la planificación dónde la potencia reactiva se calcula a partir de la potencia activa mediante una regla sencilla. Vigile que haya cargas que generan potencia reactiva así como cargas que la consumen, porque eso es lo que sucede en la red real.
6. Controles incompatibles
¿Qué sucede si tiene un transformador que controla la tensión de una barra y un generador que controla la tensión de una barra cercana y es casi imposible transportar la potencia activa y reactiva necesaria para satisfacer esa condición de control? Entonces el algoritmo no encontrará una solución, o las propiedades de convergencia se deteriorarán bastante dando lugar a soluciones no físicas con valores extraños.
Para evitar esto necesitamos:
Evitar controles concurrentes. Es decir, evitar tener más de un dispositivo controlando la misma magnitud.
Evite los controles cercanos que controlan la misma magnitud a diferentes valores.
En general, evita tener demasiados controles. El algoritmo de flujo de potencia es una función de optimización y, a veces, puede estancarse o no converger si hay demasiados controles.
7. Matriz Jacobiana singular
A veces, el programa de flujo de potencia puede notificar que la matriz Jacobiana es singular, por lo que el flujo de potencia no se puede resolver. ¿Qué significa esto?
La matriz Jacobiana es una matriz compuesta por las derivadas de las ecuaciones de flujo de potencia con respecto a las variables de decisión como el módulo de tensión y el ángulo de tensión. Esta matriz se utiliza para resolver un sistema de ecuaciones lineal que calcula los incrementos de módulo y ángulo de tensión mediante el algoritmo de Newton-Raphson y similares. Esto se hace en cada iteración para determinar el siguiente paso, por lo que si el sistema lineal no se puede resolver porque la matriz jacobiana es singular, no hay un siguiente paso que encontrar.
En la práctica, esto significa que el sistema eléctrico está en colapso de tensiones. Dicho de otro modo, no hay solución al balance establecido por las ecuaciones de flujo de potencia. Esto sucede si la carga supera lo que la red puede transportar con las impedancias declaradas. Llegados a este punto, hay que considerar dos cosas:
¿Es la carga demasiado alta? Si es así, hay que pensar en reforzar la red. Pero lo más probable es que el problema esté en el siguiente punto.
¿Son correctas las impedancias? Este punto está relacionado con el resto de este artículo, en el que los datos erróneos, las conexiones incorrectas de los transformadores y otros factores similares pueden influir en la singularidad de la matriz jacobiana. Por tanto, la solución suele estar en revisar los datos de la red.
Reflexiones finales
Cuantas más manos toquen un modelo (de cualquier tipo), mayor será el riesgo de errores. Esa frase probablemente podría grabarse en piedra, pero plantea la pregunta, ¿podemos hacerlo mejor? Creo que podemos, si usamos reglas expertas como las descritas anteriormente junto con software que supervise la creación de modelos. Esta no es una idea nueva y en los lenguajes de programación, tales herramientas se llaman linters. Entonces, ¿podemos crear un linter para los sistemas de potencia? Sí podemos, y definitivamente debemos.