Ecuación del calor con difusión variable

 

Resumen: En este ejemplo vamos a considerar un problema relativo a la ecuación del calor en el que el coeficiente de conductividad térmica es una matriz no constante. En la discretización en tiempo se consideran los métodos implícitos de Euler y de Gear.

Problema considerado

Sean Ω=[Lx,Lx]×[Ly,Ly] y T>0. Consideramos el problema de hallar u:Ω×(0,T)R tal que

(1){tu(Ku)=fen Ω×(0,T),u=0sobre Ω×(0,T),u(x,y,0)=u0(x,y)en Ω,

donde f:ΩR, K:ΩR2×2 y u0:ΩR son funciones dadas.

Para calcular una solución aproximada, 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 esquema en diferencias. Se obtiene así una sucesión de problemas estacionarios en Ω.

  2. Cada problema estacionario se discretiza mediante el método de los elementos finitos sobre una triangulación dada, como en los ejemplos de problemas elípticos considerados con anterioridad.

     

Discretización en tiempo Euler implícito

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:

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

Para cada n=1,,M, particularizamos la ecuación diferencial de (1) y las condiciones de contorno para t=tn:

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

Denotamos

un(x,y):=u(x,y,tn),n=0,1,,M.

Para n=0, se tiene

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

Para n1, sustituyendo en (2) la derivada de u respecto de t por la aproximación en diferencias

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

se tiene la siguiente ecuación (aproximada)

unun1Δt(Kun)=fen Ω.

Para cada n=1,2,,n, tenemos una EDP estacionaria en la incógnita es un ( ya que un1 ha sido calculada en la etapa anterior).

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

(3){1Δtun(Kun)=f+1Δtun1en Ωun=0sobre Ω

Obsérvese que, para cada n, (3) 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.

 

Formulación débil o variacional

El espacio natural para buscar la solución del problema (3) es H01(Ω). Para obtener su formulación variacional, 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 Ω, obtenemos:

(PV){Hallar unH01(Ω) tal que 1ΔtΩunvdxdy+Ω(Kun)vdxdy=Ωfvdxdy+1ΔtΩun1vdxdyvH01(Ω).

Obsérvese que todos los problemas (PV), para los distintos valores de n=1,2,,M, comparten la misma forma bilineal

(4)a(u,v)=1ΔtΩuvdxdy+Ω(Ku)vdxdy,

y que solo difieren en la forma lineal. En la resolución numérica, esto se traduce en el hecho de que todos los sistemas lineales a resolver tienen la misma matriz, que, por lo tanto, solo habrá que construir y factorizar la primera vez.

Código

Resolvemos el problema para: Lx=Ly=10, T=5, u0=μ0e(x2+y2)/2σ0,

K=K(x,y)=(1+x2xyxy1+y2),yf(x,y)={1si (x,y)ω=[4,3]×[2.5,3.5]0en otro caso

 

Distretización en tiempo Gear implícito

Consideramos ahora una discretización en tiempo usando el esquema implícito de Gear de dos pasos:

tu(x,y,tn)3u(x,y,tn)4u(x,y,tn1)+u(x,y,tn2)2Δt=3un(x,y)4un1(x,y)+un2(x,y)2Δt.

Sustituyendo en la ecuación diferencial de (2), obtenemos, para n2

3un4un1+un22Δt(Kun)=fen Ω.

Para cada n2, tenemos una EDP estacionaria en la incógnita es un (un1 y un2 han debido ser calculadas en las etapas anteriores). Obviamente, esto no sirve para calcular u1, que deberá ser calculada a partir de u0 utilizando un esquema de un solo paso, por ejemplo el de Euler.

Por tanto, el algoritmo completo es como sigue:

  1. Tomar u0(x,y)=u(x,y,0),
  2. Calcular u1(x,y)u(x,y,t1) solución de
{1Δtu1(Ku1)=f+1Δtu0en Ωu1=0sobre Ω
  1. Para cada n=2,,M, calcular unu(x,y,tn) solución de
{32Δtun(Kun)=f+42Δtun112Δtun2en Ωun=0sobre Ω

Código

 

Ejercicios

Resolver el problema (1), mediante los dos esquemas descritos antes, cambiando las condiciones de contorno por las siguientes:

  1. Condición de Neumann homogénea sobre toda la frontera del dominio: (Ku)n=0 sobre Ω×(0,T).

  2. Condición de Fourier sobre toda la frontera: (Ku)n=pu sobre Ω×(0,T), con p=2.

  3. Condiciones mixtas Dirichlet-Neumann, tomando Ω=Γ1Γ2Γ3Γ4:

    {u=0sobre Γ2×(0,T),(Ku)n=0 sobre Γ1Γ3Γ4×(0,T).

 

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