Ecuación del calor

Published by Evgeny SH in

En física y matemáticas, la ecuación del calor es una ecuación diferencial parcial que describe cómo evoluciona con el tiempo la distribución de cierta cantidad (como el calor) en un medio sólido.

Escribe una función que simule la distribución de temperatura a lo largo del tiempo mediante el método de diferencias finitas con un esquema explícito.

La entrada de la función es un diccionario con la especificación del problema. La función debe inicializar el interior del arreglo a "u_0", establecer los valores de frontera en el perímetro. Los valores de frontera permanecen constantes.

# Initialize e.g. rows, cols = 5, 7

[
  [100.   5.   5.   5.   5.   5. 100.]
  [100.  10.  10.  10.  10.  10. 100.]
  [100.  10.  10.  10.  10.  10. 100.]
  [100.  10.  10.  10.  10.  10. 100.]
  [100. 100. 100. 100. 100. 100. 100.]
]

Ejecuta la simulación temporal hasta el valor más grande de 'n_steps': [0, 100, 200]. Solo el interior del arreglo cambia en cada paso de tiempo. Guarda el valor de la temperatura en el punto de observación "observe": [10, 10] en los pasos de tiempo especificados [0, 100, 200]. Devuelve la lista de temperaturas (de longitud 3 en este ejemplo). No es necesario redondear; se hará en las pruebas.

Ejemplos

Se simularán los siguientes tres problemas. El primero tiene 3 fronteras calientes, el segundo tiene 2 y el tercero tiene el borde inferior caliente. Estas tres configuraciones producen distintas distribuciones de temperatura, como se puede ver en la figura.

Texto alternativo

Notas

  • El problema es bidimensional (necesita derivadas parciales para x y y).
  • La fórmula explícita es sencilla; la siguiente u^(n+1) se calcula directamente usando 5 puntos de u^n.
  • El parámetro proporcionado r es menor que 1/4, por lo que el esquema es numéricamente estable.
  • La simulación tarda menos de 0.5 segundos en el servidor.