¿Cuáles son algunos problemas de ingeniería resueltos mediante ecuaciones matemáticas (método runge kutta, por ejemplo)?

En lugar de usar un método Runge-Kutta, ofreceré un ejemplo usando una ecuación de Euler-Lagrange. El cálculo variacional restringido no se usa mucho en ingeniería, por lo que no es frecuente que se encuentre con un problema de ingeniería que se resuelve utilizando la ecuación de Euler-Lagrange. Pero aquí hay un ejemplo de un problema que encontré recientemente donde funcionó.

Supongamos que queremos minimizar el costo de la demanda de energía [matemática] Q (t) [/ matemática] de una máquina que varía durante algún intervalo de tiempo de duración [matemática] T [/ matemática]. Durante este tiempo, debe pagar tanto el consumo de energía como la tasa de rampa del dispositivo. El precio de la energía [matemática] P (t) [/ matemática] es una función de la demanda de energía tal que

[matemáticas] P (Q (t)) = P_0 + a Q (t) [/ matemáticas],

donde [math] P_0 [/ math] es el precio base de la energía, y [math] a [/ math] es el precio marginal de la energía.

El precio del precio de rampa [matemática] R [/ matemática] es una función de la tasa de cambio de la demanda de energía de tal manera que

[matemática] R (\ dot Q (t)) = R_0 + b \ dot Q (t) [/ math],

donde [math] R_0 [/ math] es el precio base de la rampa, [math] b [/ math] es el precio marginal de la rampa y [math] \ dot Q (t) [/ math] es la tasa de rampa, es decir , la derivada de la potencia [matemática] Q (t) [/ matemática] con respecto al tiempo, o [matemática] \ frac {dQ} {dt} [/ matemática].

Ahora también suponemos que la energía total utilizada durante el intervalo de tiempo [matemática] T [/ matemática] debe ser la cantidad invariable

[matemáticas] E_T = \ int_0 ^ TQ (t) dt [/ matemáticas].

También suponemos que la máquina comienza con alguna potencia [matemática] Q (0) = Q_0 [/ matemática] y termina con alguna otra potencia [matemática] Q (T) = Q_T [/ matemática].

Para resolver este problema debemos definir la función de costo

[matemáticas] C (t) = \ int_0 ^ T [P (t) Q (t) + R (t) \ dot Q (T)] dt [/ matemáticas].

Dado que el uso de energía es limitado, aumentamos la función de costo de manera que tengamos

[matemáticas] C (t) = \ int_0 ^ T [aQ ^ 2 + b \ dot Q ^ 2 + \ lambda Q] dt = \ int_0 ^ TG (T) dt [/ matemáticas].

Ahora podemos encontrar la función de potencia crítica [matemática] Q (t) [/ matemática] para este problema utilizando la ecuación de Euler-Lagrange

[matemática] \ frac {\ parcial G} {\ parcial Q} = \ frac {d} {dt} \ frac {\ parcial G} {\ parcial \ punto Q} [/ matemática]

o

[matemáticas] \ ddot Q – \ omega ^ 2 Q = \ frac {\ lambda} {2b} [/ matemáticas]

donde [matemáticas] \ omega ^ 2 = \ frac {a} {b} [/ matemáticas].

No es obvio que esta función sea un minimizador, pero si tomamos la segunda variación, encontramos

[matemáticas] \ frac {\ partial ^ 2 C} {\ partial Q ^ 2} (T) = \ int_0 ^ T [\ alpha (v) ^ 2 + 2 \ beta (vv ‘) + \ gamma (v’) ^ 2] dt = \ int_0 ^ TH (t) dt [/ matemáticas]

con [matemática] H (t)> 0 [/ matemática] para todos [matemática] v \ ne0 [/ matemática] sujetos a [matemática] v (0) = 0 = v (T) [/ matemática]. Entonces nosotros tenemos

[matemáticas] \ alpha = \ frac {\ partial ^ 2 G} {\ partial Q ^ 2} = 2a, \ qquad \ beta = \ frac {\ partial ^ 2 G} {\ partial Q \ partial \ dot Q} = 0, \ qquad y \ quad \ gamma = \ frac {\ partial ^ 2 G} {\ partial \ dot Q ^ 2} = 2b [/ math].

Entonces concluimos que cuando [matemáticas] a [/ matemáticas] y [matemáticas] b [/ matemáticas] son ​​positivas, entonces [matemáticas] Q (t) [/ matemáticas] es un minimizador.

Básicamente hay tres casos dependiendo de si [matemática] a [/ matemática] o [matemática] b [/ matemática] es cero.

Si [math] a [/ math] y [math] b [/ math] son ​​positivas, entonces la solución general se encuentra resolviendo

[matemáticas] \ begin {bmatrix} \ lambda \\ \ dot Q_0 \ end {bmatrix} = \ begin {bmatrix} A & B \\ C & D \ end {bmatrix} ^ {- 1} \ begin {bmatrix} E_ \ Delta \\ Q_ \ Delta \ end {bmatrix} [/ math]

dónde

[matemáticas] A = \ frac {\ sinh (\ omega T) – \ omega T} {2a \ omega} [/ matemáticas]

[matemáticas] B = \ frac {\ cosh (\ omega T) – 1} {\ omega ^ 2} [/ matemáticas]

[matemáticas] C = \ frac {\ cosh (\ omega T) -1} {2a} [/ matemáticas]

[matemáticas] D = \ frac {\ sinh (\ omega T)} {\ omega} [/ matemáticas]

[matemáticas] E_ \ Delta = E_T – \ frac {\ sinh (\ omega T} {\ omega} Q_0 [/ matemáticas]

[matemáticas] Q_ \ Delta = Q_T – Q_0 \ cosh (\ omega T) [/ matemáticas].

Si [math] a [/ math] es cero, entonces el costo de energía es independiente de la demanda de energía y la solución es

[matemáticas] Q (t) = \ frac {\ lambda} {4b} t ^ 2 + \ dot Q_0 t + Q_0, [/ math]

dónde

[matemáticas] A = \ frac {T ^ 3} {12b} [/ matemáticas]

[matemáticas] B = \ frac {T ^ 2} {2} [/ matemáticas]

[matemáticas] C = \ frac {T ^ 2} {4b} [/ matemáticas]

[matemáticas] D = T [/ matemáticas]

[matemáticas] E_ \ Delta = E_T – Q_0 T [/ matemáticas]

[matemáticas] Q_ \ Delta = Q_T – Q_0 [/ matemáticas].

Cuando [math] b = 0 [/ math] entonces el costo de la rampa es independiente de la demanda de energía y la solución es simplemente

[matemáticas] Q (t) = – \ frac {\ lambda} {2a} [/ matemáticas]

con

[matemáticas] \ lambda = – \ frac {2aE_T} {T} [/ matemáticas]

y las rampas inicial y final de [matemática] Q_0 [/ matemática] a [matemática] Q (t) [/ matemática] y [matemática] Q (t) [/ matemática] a [matemática] Q_T [/ matemática] solo limitada por la respuesta de la máquina.

La función de control en [math] s [/ math] -domain está dada por la expansión de fracción parcial de la solución general, que es

[matemáticas] \ frac {K_1} {s + \ omega} + \ frac {K_2} {s} + \ frac {K_3} {s- \ omega} [/ matemáticas]

dónde

[matemáticas] K_1 = \ frac {Q_0} {2} – \ frac {\ dot Q_0} {2 \ omega} + \ frac {\ lambda} {4a} [/ math]

[matemáticas] K_2 = – \ frac {\ lambda} {2a} [/ matemáticas]

[matemática] K_3 = \ frac {Q_0} {2} + \ frac {\ dot Q_0} {2 \ omega} + \ frac {\ lambda} {4a} [/ math].

Si se desea un controlador de tiempo discreto para la máquina para un sistema de control digital con tiempo de actualización [matemática] t_s [/ matemática], entonces para [matemática] 0 \ le t \ le T [/ matemática] el controlador se define por

[matemáticas] Q ^ * (k) = K_1 \ tau ^ k + K_2 + K_3 \ tau ^ {- k} [/ matemáticas]

donde [matemáticas] \ tau = e ^ {\ omega t_s} [/ matemáticas] cuando [matemáticas] a, b> 0 [/ matemáticas],

[matemáticas] Q ^ * (k) = \ frac {\ lambda} {4b} t_s ^ 2 k ^ 2 + \ dot Q_0 t_s k + Q_0 [/ math]

cuando [matemática] a = 0 [/ matemática] y [matemática] b [/ matemática] [matemática]> 0 [/ matemática], y

[matemáticas] Q ^ * (k) = – \ frac {\ lambda} {2a} [/ matemáticas]

cuando [matemática] a> 0 [/ matemática] y [matemática] b = [/ matemática] [matemática] 0 [/ matemática].

Por lo tanto, el resultado es un controlador que minimiza los costos para varias condiciones de precios de energía y rampas que podemos encontrar. Por ejemplo, supongamos que estamos utilizando electricidad renovable, que tiene un costo marginal cero, pero potencialmente tiene un alto costo de rampa. Entonces el caso donde [math] a = 0 [/ math] sería apropiado para usar. Sin embargo, en un sistema eléctrico más convencional donde el costo de energía no es cero pero el costo de la rampa podría ser muy cercano a cero, entonces el caso en que [matemática] b = [/ matemática] [matemática] 0 [/ matemática] sería apropiado . Y, por supuesto, en situaciones donde los costos de energía y rampa no son triviales, entonces el caso [matemática] a, b> 0 [/ matemática] es adecuado.

RK45 (Runge Kutta 4to orden con orden de control de pasos adaptativo 5) se usa para integrar la mayoría de los sistemas dinámicos (Matlab Simulink Python, por decir algunos) y es un estándar para la solución explícita.

La capacidad de integrar grandes sistemas dinámicos (como PDE parabólica discretizada) se reduce como consecuencia del número de acondicionamiento del núcleo. Se prefieren los integradores para problemas rígidos.

En CFD y FEM no lineal , se prefieren los modelos de evolución implícita ya que son estables.

Es un método numérico ampliamente utilizado para el cálculo de ecuaciones diferenciales y se utiliza con MATLAB, proporciona un método de cálculo poderoso para una variedad de problemas mecánicos y electromagnéticos de los cuales se pueden mencionar los siguientes,
– Encontrar la trayectoria de las bolas de golfo en el aire con resistencia al aire
– Cálculo de las características de vibración de los rodamientos rígidos de bolas en mecánica
– Problemas relacionados con el movimiento de un plasma dentro de un entorno magnetizado y no magnetizado.
– …

Para ser claros, Runge Kutta es un método numérico descrito por una relación de recurrencia, no solo una ecuación arbitraria. Es específicamente para aproximaciones numéricas para resolver ODE de primer orden.

Estaba leyendo un libro (métodos numéricos en C) que decía “usas Burlirsch Stoer y Runge Kutta solo si no sabes nada mejor”.
En realidad, el software que se ocupa de problemas de ingeniería de alta gama generalmente usa métodos especializados para el problema específico que están resolviendo. Los solucionadores de ecuaciones diferenciales generales probablemente usan varios métodos.