Ecuación del calor

 

Resumen: En este ejemplo vamos a considerar un problema parabólico dependiente de tiempo.

Problema considerado

Sean ΩR2, abierto acotado no vacío, T>0, u0:ΩR, u0L2(Ω), f:Ω×(0,T)R, fC0(0,T;L2(Ω)), consideramos el problema de hallar u:Ω×(0,T)R tal que

(P){tuΔu=fen Ω×(0,T),u=0sobre Ω×(0,T),u(x,y,0)=u0en Ω.

Se trata de la ecuación del calor en la que la variable u=u(x,y,t) denota la temperatura en el punto (x,y) en el tiempo t, u0=u0(x,y) es la temperatura inicial en el tiempo t=0 y f=f(x,y,t) es la fuente externa del calor.

Para calcular una solución aproximada del problema (P), se puede combinar el método de elementos finitos (distretización en espacio) con las técnicas usadas para aproximar el problema de Cauchy (distretización en tiempo) para EDO's. Más concretamente, procedemos como sigue:

  1. Discretizamos en tiempo tratando la variable t con el mismo enfoque que para un problema de Cauchy para una EDO: el operador diferencial con las derivadas respecto de t se aproxima por un cociente incremental. Se obtiene así una sucesión de problemas estacionarios (que no dependen de t) en Ω.

  2. Cada problema estacionario se resuelve mediante el método de los elementos finitos sobre una triangulación dada, como en los ejemplos anteriormente considerados.

     

Distretización en tiempo

Consideramos una partición uniforme del intervalo [0,T] tomando M+1 puntos equidistantes 0=t0<<tM=T, es decir dividimos el intervalo [0,T] en M segmentos de igual longitud Δt (que se llama el paso en tiempo):

Δt=TM,tn=nΔt,n=0,,M.

Para n=0, se tiene

u(x,y,t0)=u(x,y,0)=u0(x,y).

Para cada n=1,,M, escribimos la ecuación diferencial de (P) y la condición de contorno en los puntos tn:

(1){tu(x,y,tn)Δu(x,y,tn)=f(x,y,tn)en Ω,u(x,y,tn)=0sobre Ω.

Pongamos

(2)un(x,y):=u(x,y,tn),fn(x,y):=f(x,y,tn).

Sustituyendo la derivara de u respecto de t por un cociente incremental (método de Euler explícito), tenemos

tu(x,y,tn)u(x,y,tn)u(x,y,tn1)Δt=un(x,y)un1(x,y)Δt.

Teniendo en cuenta esta expresión en la ecuación diferencial de (1), tenemos la ecuación aproximada

(3)unun1ΔtΔun=fnen Ω.

Para cada n, tenemos una EDP estacionaria donde la incógnita es un y un1 ha sido calculada en la etapa anterior y fn es un dato.

Por tanto, el esquema discreto en tiempo es como sigue: dado u0(x,y)=u(x,y,0), para cada n=1,,M, calcular un:ΩR tal que

(4){1ΔtunΔun=1Δtun1+fnen Ω,un=0sobre Ω.

Obsérvese que, para cada n, (4) es un problema que no depende del tiempo, que podemos aproximar usando el método de los elementos finitos razonando como en los ejemplos anteriores.

Discretización en espacio

Formulación variacional

Observación: todos los cálculos que se hacen en esta sección son puramente formales, es decir, se supone siempre la regularidad suficiente para que todos ellos estén justificados.

El espacio natural para buscar la solución del problema (4) es H01(Ω).

Para obtener la formulación variacional de (4), para cada n, multiplicamos en la ecuación ambos miembros por una función vH01(Ω) e integramos en Ω. Integrando por partes y teniendo en cuenta que v vale cero sobre Ω, se obtiene:

1ΔtΩunvdxdy+Ωunvdxdy=1ΔtΩun1vdxdy+ΩfnvdxdyvH01(Ω).

Por tanto, para cada n=1,,M, la formulación variacional de (4) es

(PV){Hallar unH01(Ω) tal que 1ΔtΩunvdxdy+Ωunvdxdy=1ΔtΩun1vdxdy+ΩfnvdxdyvH01(Ω).

Problema aproximado

Vamos a utilizar una aproximación mediante elementos finitos P1. Por simplicidad, supongamos que Ω está formada por una o varias poligonales cerradas. Sea Th una triangulación de Ω. Consideramos

Wh={vh|vhC0(Ω),vh|TP1(T)TTh}H1(Ω)

con dimVh=M​, donde M​ es el número de vértices de Th​. Consideramos también

Vh={vh|vhVh,vh|Ω=0}H01(Ω),

cuya dimensión es igual al número de vértices de Th que no están sobre Ω.

Para cada n=1,,M, el problema aproximado de (PV) es

(PVh){Hallar uhnVh tal que 1ΔtΩuhnvhdxdy+Ωuhnvhdxdy=1ΔtΩuhn1vhdxdy+ΩfnvhdxdyvhVh.

Resolución con FreeFEM

Tomaremos como Ω el cuadrado [0,1]×[0,1], u0(x,y)=sin(πx), f(x,y,t)= xy y T=1.

Consideramos una partición de intervalo [0,1] tomando 10 subintervalos de la misma longitud, siendo Δt=0.1 y tn=nΔt para n=0,,10.

Construcción del mallado

Declaramos primero una variable tipo mesh y después construimos una triangulación del dominio usando square.

Mallado

 

Definición del espacio de elementos finitos

Definimos el espacio de elementos finitos que vamos a utilizar sobre Th. Como hemos dicho antes, Wh será el espacio de las funciones que son continuas en Ω y tales que su restricción a cada triángulo TTh es un polinomio de grado menor o igual que 1.

Definición del problema variacional

Se recuerda que las condiciones de Dirichlet (en este caso un=0 sobre Ω) se incorporan al problema aproximado mediante la técnica del bloqueo, por lo cual el problema se resuelve en Wh.

Dado uh0(x,y)=u(x,y,0), para cada n=1,,M, tenemos que resolver el problema (PVh), donde uhn1 es calculado en la etapa anterior, que tenemos que conservar y actualizar de una etapa a otra. Para ello, usaremos una variable auxiliar que llamaremos uold.

Obsérvese que en cada etapa de tiempo tenemos que resolver un problema variacional del mismo tipo. Para definir el problema usando problem , usaremos el parámetro opcional init que permite resolver varios problemas con la misma forma bilineal construyendo y factorizando la matriz del sistema una sola vez:

problem Calor(u, v, init = bool)

Iteraciones en tiempo, resolución del problema y representación

Vamos a realizar un bucle en tiempo en el que, para cada n=1,,M, resolveremos el correspondiente problema aproximado.

La estructura general del bucle indexado for es la siguiente:

donde

Resolvemos el problema y representamos la solución en cada etapa de tiempo.

Obsérvese que el operador compuesto ++n incrementa en una unidad el valor de n . Además, puesto que los datos del problema no dependen de t, la variable t no aparece en el bucle.

En la gráfica adjunta se puede observar la solución del problema en el tiempo final T.

Solucion transferencia del calor

Código completo del programa

Ejercicios

  1. Resolver el problema (P) realizando la resolución manual con varf.
  2. Sean Ω=[0,1]2, T=3 y μ=0.01, resolver el siguiente problema
(5){tuμΔu=x412μtx2en Ω×(0,T),u=tx4sobre Ω×(0,T),u(x,y,0)=0en Ω.
  1. Resolver el problema (5) usando la resolución manual con varf.
  2. Sean Ω=[0,Lx]×[0,Ly], Lx=6, Ly=1, T=5, α=0.25, ue=25, a0=10, a1=90/Lx, resolver el siguiente problema
(6){tu(κu)=0en Ω×(0,T),κnu+α(uue)=0sobre (Γ1Γ3)×(0,T),u=a0+Lxa1sobre Γ2×(0,T),u=a0sobre Γ4×(0,T),u(x,y,0)=a0+a1xen Ω.

donde κ y Γi, i=1,2,3,4 vienen dados como sigue:

κ={2para y<Ly/2,x[0,Lx],0.2si no,

Mallado

  1. Resolver el problema (6) tomando ue=25+(Te25)t/T (dependiendo de t) , siendo Te=200.
  2. Resolver el problema (6) usando la resolución manual con varf.

 

Anna Doubova - Rosa Echevarría - Dpto. EDAN - Universidad de Sevilla