Transferencia del calor

 

Resumen: En este ejemplo vamos a considerar la ecuación del calor estacionaria escrita en forma de divergencia con un coeficiente de difusión no constante y definido a trozos. Veremos también cómo exportar la triangulación a un archivo externo.

Problema considerado

Sea ΩR2​​​​​​​, abierto acotado no vacío, dado por Ω=C0C1​​​ con frontera Ω=C0C1​​​, y consideramos el problema de hallar u:ΩR​​​​ tal que

(P){(κu)=0en Ω,u=20sobre C0,u=60sobre C1,

donde

(1)κ={1en ΩC2,3en C2.

Frontera del dominio

Este problema modela, por ejemplo, el estado estacionario de un sistema formado por dos conductores térmicos rectangulares que se encuentran dentro de un recinto circular. Uno de los conductores (C1) se encuentra a temperatura constante de 60C, mientras que el borde del recinto circular (C0) se mantiene a temperatura constante de 20C. El coeficiente de conductividad térmica (κ) vale 3 en el subdominio C2 y 1 en el resto de Ω.

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 (P)​​ es la variedad lineal g~+H01(Ω)​​, donde g~H1(Ω)​​ tal que g~|C0=20​​ y g~|C1=60.

Para obtener la formulación variacional de (P), 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:

Ωκuvdxdy=ΩfvdxdyvH01(Ω).

La formulación variacional de (P) es, por tanto, (desarrollando el producto escalar uv)

(PV){Hallar ug~+H01(Ω) tal que Ωκ(xuxv+yuyv)dxdy=ΩfvdxdyvH01(Ω).

Problema aproximado

Vamos a utilizar una aproximación mediante elementos finitos P1. Por simplicidad, supongamos que Ω está formada por 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 Ω. El problema aproximado de (PV) es

(PVh){Hallar uhg~h+Vh tal que Ωκ(xuhxvh+yuhyvh)dxdy=ΩfvhdxdyvhVh,

donde g~hWh​ tal que g~h(ai)=g~(ai)​ para todo aiΩ, i.e. para todo vértice de la triangulación que pertenece a la frontera de Ω.

Resolución con FreeFEM

Tomaremos como C0​​​​ el círculo de centro el origen y radio 5, como C1 el rectángulo [1,2]×[3,3] y como C2 el rectángulo [2,1]×[3,3]​.

Definición de la frontera del dominio

Cada uno de los bordes de los rectángulos C1 y C2 se construyen uniendo cuatro piezas de líneas rectas definidas por sus ecuaciones paramétricas. Para agruparlos dentro del mismo borde, asignamos la misma etiqueta a los 4 segmentos que forman el borde de cada rectángulo: etiqueta label = 6 al borde del rectángulo C1 y label = 2 al del rectángulo C2. Obsérvese que hemos asignado la etiqueta label = 90 a la circunferencia exterior C0. Las siguientes instrucciones definen la frontera del dominio.

Construcción del mallado

Declaramos primero una variable tipo mesh y después construimos una triangulación del dominio. Se observa que el interior del rectángulo C2 forma parte del dominio. Se recuerda que el dominio es siempre la parte del plano que queda a la izquierda cuando se recorre la curva: si la geometría de la frontera se ha descrito (parametrizada) en el sentido correcto, entonces hay que indicar un número positivo de segmentos para discretizar dicha frontera; en caso contrario hay que indicar un número negativo de segmentos (convenio de FreeFEM). Se observa que hemos mallado separadamente el subdominio formado por el rectángulo C2, para la definición del coeficiente de conductividad térmica κ (se verá más adelante).

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 u=20 sobre C0 y u=60 sobre C1) se incorporan al problema aproximado mediante la técnica del bloqueo, por lo cual el problema se resuelve en Wh.

Además, tenemos que definir el coeficiente κ dado por (1), que en este caso es discontinuo. Lo adecuado es definir κ constante por triángulos, es decir, como un elemento del espacio de elementos finitos P0- Lagrange. Para distinguir los triángulos pertenecientes al subdominio C2, hemos mallado separadamente esta zona. Así, definimos el espacio W0 de funciones que son constantes por triángulos, declaramos que κ es un elemento de este espacio y lo representamos gráficamente para comprobar que toma valores constantes.

kappa

Definimos de forma habitual el problema variacional usando el tipo problem

Resolución del problema y representación

Solucion transferencia del calor

Código completo del programa

 

Complementos

Se puede salvar la triangulación para usarla en otro programa usando el comando savemesh. Se guardan los números de las etiquetas de las fronteras, pero no se guardan los nombres de las variables que hemos usado para definirlas (en este ejemplo CC0 , CC1 y CC2). Para usarlas posteriormente, hay que utilizar expresamente sus valores.

Más concretamente, para resolver el problema de este ejemplo, una vez guardada la triangulación en un fichero, hay que leerla usando el comando readmesh y la resolución del problema se haría de la forma siguiente:

 

Ejercicio

Resolver el problema (P) realizando la resolución manual con varf.

 

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