Simulación multidominio: cómo calcula el simulador
El simulador multidominio junta en un mismo esquema circuitos, motores, calefactores, tanques, sensores y bloques de control, y los resuelve todos a la vez en el tiempo. No tiene resolución detallada en PDF porque no hay una «solución a mano»: es un integrador numérico. Este tema explica qué hace por dentro, para que sepas leer sus resultados, confiar en ellos y reconocer sus límites.
Un mismo lenguaje para varios dominios
Todos los sistemas físicos que simula se describen con dos tipos de variables: una de esfuerzo o diferencia (voltaje, velocidad angular, temperatura, nivel o presión) y una de flujo (corriente, par, flujo de calor, caudal). Con ellas, los elementos de cada dominio se parecen a los del circuito eléctrico, y sus ecuaciones tienen la misma forma:
| Dominio | Esfuerzo · flujo | Resistencia | Almacena (capacidad) | Ecuación del almacén |
|---|---|---|---|---|
| Eléctrico | V · i | : | capacitor | |
| Mecánico (giro) | ω · T | fricción : | inercia | |
| Térmico | T · q | : | capacidad | |
| Hidráulico | h · Q | salida (no lineal) | área del tanque |
Por eso un circuito RC, un calefactor que se calienta y un tanque que se llena responden igual, con una exponencial de constante de tiempo (o , o ). Los componentes que convierten energía unen dos dominios: el motor de corriente directa produce un par y a la vez genera una fuerza contraelectromotriz :
Cómo arma el sistema de ecuaciones
Las incógnitas son los voltajes de los nodos del esquema y las variables de estado de los componentes que guardan energía (el voltaje de un capacitor, la corriente de una bobina, la corriente, la velocidad y el ángulo de un motor, la temperatura de un calefactor, el nivel de un tanque…). Todas van en un vector . Cada componente aporta dos cosas:
- Las corrientes que entran o salen por sus terminales. En cada nodo la suma tiene que ser cero (ley de corrientes de Kirchhoff): es el análisis nodal.
- Sus ecuaciones internas, escritas como «residuo = 0»: para un capacitor ; para una bobina ; para un calefactor .
Juntando todo queda un sistema de ecuaciones algebraicas y diferenciales con la forma general
Este formato admite cualquier componente sin tratarlo aparte: un diodo (ecuación de Shockley), un transistor, un amplificador operacional con saturación o un sensor con su propio retraso son solo más ecuaciones en . Las fuentes de voltaje tienen una resistencia interna pequeña (0.01 Ω por omisión), como las reales, y se añade una conductancia diminuta de cada nodo a tierra ( S) para que un nodo aislado no deje el sistema sin solución.
Integración en el tiempo: BDF2 y Newton
El tiempo avanza en pasos . En cada paso las derivadas se sustituyen por una fórmula con los valores de los pasos anteriores, y lo que queda es un sistema algebraico en . El simulador usa la fórmula de diferencias hacia atrás de orden 2 (BDF2), que toma la pendiente en el punto nuevo de la parábola que pasa por los tres últimos:
BDF2 es implícito: la incógnita aparece en los dos lados, así que hay que resolver en cada paso. Se hace con el método de Newton: se evalúa el residuo , se calcula su jacobiano (derivando numéricamente cada componente), se resuelve y se corrige hasta que la corrección es despreciable. Los métodos implícitos son estables aunque el sistema tenga dinámicas muy rápidas (un circuito con constantes de microsegundos dentro de un proceso térmico de minutos): el paso no tiene que ser más pequeño que la constante más rápida.
El tamaño del paso. Por omisión es la duración de la simulación entre 2000, y se reduce si hay fuentes rápidas, muestreos o retardos. Además se ajusta a las oscilaciones del circuito: BDF2 amortigua una oscilación de frecuencia en un factor de aproximadamente por paso y la retrasa unos radianes, así que el simulador elige para que, en toda la simulación, ese amortiguamiento numérico quede por debajo del 1 % y el desfase por debajo de 0.01 rad. Los componentes digitales (relojes, contadores, el 555, comparadores con histéresis) cambian por eventos al final de cada paso aceptado.
Linealización: polos, estabilidad y G(s)
Al final de la simulación (o en el instante elegido) el simulador linealiza el sistema alrededor del estado en que quedó: deriva numéricamente las ecuaciones respecto a los estados y a la entrada, y obtiene un modelo lineal
Los valores propios de A son los polos del sistema completo; si todos tienen parte real negativa, ese punto de operación es estable. Con la misma matriz se calculan los polos propios de cada subsistema (la red de capacitores y bobinas, un motor, un PID…), la función de transferencia entre la entrada y la salida que elijas, su respuesta al escalón, el diagrama de Bode y el lugar de las raíces respecto a cualquier parámetro (se vuelve a linealizar para cada valor).
Cómo leer y comprobar los resultados
- Unidades y orden de magnitud: antes de mirar decimales, comprueba con una cuenta rápida (V/R, , ) que el resultado tiene sentido.
- Duración: simula al menos 5 constantes de tiempo de la dinámica más lenta para ver el valor final; la tarjeta de polos te da esas constantes ().
- Paso: si dudas de un detalle fino (un pico, un rizado), repite con un paso menor; si el resultado no cambia, es del modelo y no del método numérico.
- Avisos: el simulador avisa de componentes fuera de sus límites (una resistencia que se quemaría, un motor bloqueado, un tanque que se desborda) y de esquemas mal planteados (fuentes en cortocircuito o en paralelo con valores distintos).
Errores frecuentes
- Olvidar la tierra: sin un nodo de referencia los voltajes no están definidos.
- Leer un valor «final» antes de que el sistema se asiente: mira la respuesta completa o alarga la simulación.
- Usar la función de transferencia lejos del punto de operación de un sistema no lineal.
- Esperar la precisión de un cálculo exacto en el instante de una conmutación: justo después de un salto de la fuente, BDF2 mezcla la historia de antes del salto durante un par de pasos.
- Confundir el polo de un integrador (en 0, «marginal») con una inestabilidad: lo que importa es el lazo cerrado.
Ejemplos resueltos
Ejemplo 1Carga y descarga de un capacitor
Solución
- s; el polo está en s⁻¹ y .
- Cada medio periodo dura 0.25 s = 2.5τ. En régimen periódico, la carga va de a y la descarga vuelve: y .
- Resolviendo: V y V.
- Respuesta del modelo lineal a un escalón: subida 10–90 % en ms y establecimiento al 2 % en ms.
Resuélvelo en Simuveliq
- En Ingeniería → Simulación multidominio, en Ejemplos, «Cargar ejemplo» → Carga y descarga de un capacitor (RC). El Osciloscopio muestra la onda de la fuente y la del capacitor (máximos de 4.62 V y mínimos de 0.38 V con el paso de 1 ms).
- Estabilidad: sistema completo y subsistemas da el polo −10 con τ = 100 ms y «Sigue a la fuente periódica»; Análisis de control da G(s) = 10/(s + 10) y, para el modelo lineal, subida 220 ms, establecimiento 392 ms y valor final 1.
Ejemplo 2Circuito RLC subamortiguado
Solución
- Malla: , así que .
- rad/s. Con Ω (10 + 0.01 de la fuente): s⁻¹, y rad/s. Polos: .
- : el capacitor llega a 1.163 V; ms. La oscilación tiene Hz.
Resuélvelo en Simuveliq
- «Cargar ejemplo» → Circuito RLC subamortiguado (polos complejos). El polo dominante sale −500.5 ± 866j con ζ = 0.5 y ωn = 1000 rad/s; en el osciloscopio el voltaje del capacitor llega a 1.163 V después de cada flanco de subida.
- Cambia la resistencia interna de la fuente a 0 o R a 20 Ω y mira cómo se mueven los polos (con R = 20 Ω, ζ ≈ 1: ya no hay sobreimpulso).
Ejemplo 3Motor de corriente directa a 12 V
Solución
- En régimen permanente las derivadas son cero: y . Con Ω: rad/s rpm, e A.
- Al arrancar y no hay fuerza contraelectromotriz: la corriente sube hacia A, frenada por la inductancia (el pico simulado es 5.83 A). Por eso los motores se protegen contra el arranque.
- Polos: → → (mecánico, τ = 74 ms) y (eléctrico, 0.5 ms). El lento domina: la velocidad llega al 63 % en unos 74 ms.
- Ganancia de voltaje a velocidad: rpm/V.
Resuélvelo en Simuveliq
- El botón abre un motor M1 con una batería de 12 V. El osciloscopio muestra la velocidad, que llega a unos 2120 rpm a los 0.5 s, y la corriente, con su pico de arranque de 5.83 A que baja a 0.45 A.
- Estabilidad: polos −13.52 y −1997 en el subsistema «Motor DC» (el ángulo θ solo acumula y no cuenta). Análisis de control de V1 a la velocidad: G(s) = 4 775 000/(s² + 2011s + 27 010), ganancia en DC 176.8 y valor final del modelo lineal 176.8.
Ejemplo 4Calefactor: un sistema térmico de primer orden
Solución
- Voltaje en el calefactor: V, así que W.
- Balance de energía: . Es un primer orden con s y final °C.
- °C.
- La potencia depende de (no lineal). Linealizando en 12 V: °C/V: un volt más subiría unos 10 °C.
Resuélvelo en Simuveliq
- El botón abre el calefactor H1 con su batería; la simulación dura 600 s (6τ) y termina en 84.75 °C, a punto de llegar a 84.9. El osciloscopio da la potencia, 11.98 W.
- Estabilidad: polo −0.01 con τ = 100 s, «Constante de tiempo térmica τ = C·Rth». Análisis de control de V1 a la temperatura: G(s) = 0.09983/(s + 0.01), ganancia en DC 9.983.
Ejemplo 5Tanque: linealizar una salida no lineal
Solución
- Balance de volumen: . Es no lineal por la raíz.
- Cerca de se cambia la curva por su tangente: . Con : .
- Polo: . En el nivel que alcanza la simulación, m: s⁻¹, s. A otro nivel el polo cambia: el tanque es más lento cuanto más lleno.
- Por eso el modelo lineal y la simulación no coinciden del todo: el escalón de la referencia arranca con el tanque lejos de 0.5 m (sobreimpulso 15.6 % en el modelo lineal y 5.31 % en la simulación).
Resuélvelo en Simuveliq
- «Cargar ejemplo» → Control de nivel de un tanque con sensor de presión. En la tabla de subsistemas, «TK1 Tanque — Nivel (k√h linealizado) y válvula» tiene los polos −0.02831 (nivel) y −2 (la válvula, con 0.5 s de respuesta).
- En Análisis de control, la tabla compara la simulación no lineal con el modelo lineal: sobreimpulso 5.31 % frente a 15.6 %.