16
Transfer` encia de Calor amb Matlab. PDEToolbox. Alejandro Luque, Antoni Sus´ ın Departament de Matem` atica Aplicada I. ETSEIB (UPC) Curs 03–04 ´ Indice General 1 Tutorial b` asic 2 1.1 Tipus d’equacions ................................... 2 1.2 Tipus de condicions de contorn ............................ 3 1.3 Com fer servir el GUI ................................. 3 1.3.1 Definir el domini Ω ............................... 4 1.3.2 Definir les condicions de contorn ....................... 4 1.3.3 Introduir la EDP ................................ 6 1.3.4 Elaboraci´ o de la graella ............................ 6 1.3.5 Resoluci´ o del Problema ............................ 6 1.3.6 Guardant el problema i tractament a posteriori ............... 7 1.3.7 Exportant les dades .............................. 8 2 Problema 1 8 2.1 Enunciat ......................................... 8 2.2 Plantejament de les condicions de contorn ...................... 8 2.3 Resoluci´ o del Problema ................................ 9 3 Problema 2 12 3.1 Enunciat ......................................... 12 3.2 Plantejament del problema .............................. 12 3.3 Plantejament de les condicions de contorn ...................... 12 3.4 Resoluci´ o del problema ................................. 13 4 ´ Us de comandes desde Matlab 13 4.1 Comandes d’introducci´ o de Geometries ........................ 13 4.2 Comandes de definici´ o de Condicions de Contorn .................. 14 4.3 Comandes de resoluci´ o d’equacions .......................... 14 5 Problema 3 14 5.1 Enunciat ......................................... 14 5.2 Resoluci´ o ........................................ 14 1

Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

Transferencia de Calor amb Matlab. PDEToolbox.

Alejandro Luque, Antoni SusınDepartament de Matematica Aplicada I. ETSEIB (UPC)

Curs 03–04

Indice General

1 Tutorial basic 21.1 Tipus d’equacions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Tipus de condicions de contorn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Com fer servir el GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1 Definir el domini Ω . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2 Definir les condicions de contorn . . . . . . . . . . . . . . . . . . . . . . . 41.3.3 Introduir la EDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.4 Elaboracio de la graella . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.5 Resolucio del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.6 Guardant el problema i tractament a posteriori . . . . . . . . . . . . . . . 71.3.7 Exportant les dades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Problema 1 82.1 Enunciat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Plantejament de les condicions de contorn . . . . . . . . . . . . . . . . . . . . . . 82.3 Resolucio del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Problema 2 123.1 Enunciat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Plantejament del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Plantejament de les condicions de contorn . . . . . . . . . . . . . . . . . . . . . . 123.4 Resolucio del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Us de comandes desde Matlab 134.1 Comandes d’introduccio de Geometries . . . . . . . . . . . . . . . . . . . . . . . . 134.2 Comandes de definicio de Condicions de Contorn . . . . . . . . . . . . . . . . . . 144.3 Comandes de resolucio d’equacions . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Problema 3 145.1 Enunciat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2 Resolucio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1

Page 2: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

L’objectiu d’aquest document no es altre que manifestar la utilitat del software numericcom a eina per resoldre problemes d’enginyeria. En particular es presenten alguns problemes detransferencia de calor.

Potser la caracterıstica mes rellevant de les eines informatiques com Matlab es que l’usuarino ha d’invertir gaire esforc per comencar a fer-les servir, alhora que permeten a l’usuari realitzarles seves propies subrutines i/o programes.

En primer lloc, es presenta un petit tutorial explicant l’us de Matlab per resoldre equacionsen derivades parcials. Concretament es fara servir la toolbox pdetoolbox i la corresponent GUI(Graphical User Interface)1 i a continuacio es resolen alguns problemes de transferencia de calor.

A mes de la pdetoolbox descrita en aquest document, Matlab tambe disposa d’una extensioanomenada Femlab que permet tractar aquests problemes amb molta mes profunditat.

1 Tutorial basic

La toolbox d’Equacions Diferencials en Derivades Parcials (pdetoolbox) proporciona un am-bient flexible i prou complet per resoldre aquest tipus d’equacions en el cas 2-dimensional. Lesequacions es discretitzen i resolen fent servir el Metode del Elements Finits. Aixı, l’objectiu noes altre que disposar d’unes eines que ens permetin:

- Definir un problema de EDP, i.e. definir la regio bidimensional on te lloc el fenomen, lescondicions de contorn i el coeficients de les equacions.

- Resoldre el problema numericament, i.e. generar una xarxa adequada, discretitzar lesequacions i donar una aproximacio de la solucio.

- Visualitzar els resultats, amb una flexibilitat suficient per la seva posterior discussio.

1.1 Tipus d’equacions

Els tipus d’equacions que Matlab permet resoldre son:

1. El·lıptica:−∇ · (c∇u) + au = f

2. Parabolica:d∂u

∂t−∇ · (c∇u) + au = f (1)

3. Hiperbolica:

d∂2u

∂t2−∇ · (c∇u) + au = f

4. Problema de valor propi:−∇ · (c∇u) = λdu

on u es la funcio escalar incognita, a, c, f i d son funcions que depenen de u, i λ es un escalar(valor propi). Per els tipus parabolic i hiperbolic, els coeficients poden dependre tambe deltemps. Anomenarem Ω al domini de definicio del problema.

1A mes de les rutines i funcions basiques, matlab conte paquets numerics anomenats toolboxes que s’apliquenen diferents contextos: control, estadıstica, matematica simbolica, xarxes neuronals, etc.

2

Page 3: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

1.2 Tipus de condicions de contorn

Es poden definir les condicions de contorn sobre ∂Ω per resoldre la funcio escalar u:

1. Dirichlet:hu = r

2. Newmann:n · (c∇u) + qu = g

on n es el vector normal i g, q, h i r son funcions definides en ∂Ω que depenen de u (en els tipusparabolic i hiperbolic poden dependre tambe de t).

1.3 Com fer servir el GUI

Des de la lınia de comandes de Matlab es cridara al GUI de la PDEtoolbox mitjancant lacomanda:

>> pdetool

el qual te una presentacio com la mostrada a la Figura 1. Si es vol visualitzar la graella s’haurade seleccionar la opcio Options → Grid. Per altra banda, amb la opcio Options → Snaps’obligara als objectes dibuixats a situar-se sobre la graella (aquesta opcio facilitara accions coml’alineacio d’objectes).

Figura 1: Aspecte del GUI de la PDEtoolbox.

3

Page 4: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

1.3.1 Definir el domini Ω

El primer que s’haura de fer es dibuixar el lloc geometric on el problema ha de ser resolt. El GUIpermet dibuixar quatre tipus d’objectes geometrics: polıgons, cercles, rectangles i el·lipses, que espodran combinar mitjancant l’algebra de conjunts (unio, interseccio, diferencia) per aconseguirobjectes mes complicats.

Per seleccionar l’objecte desitjat es por fer click sobre la icona corresponent a la barra superioro desplegar el menu Draw.

Matlab assignara automaticament un nom a cada objecte introduıt per l’usuari. A la barra“Set formula” es podran manipul·lar algebraicament aquests objectes (+ unio, & interseccio, -diferencia). Val a dir, que l’efecte de les operacions realitzades no es veura fins al moment decalcular la frontera tal i con s’explica a continuacio.

Figura 2: Introduccio i manipul·lacio de formes basiques.En concret, busquem ((E1 ∩ R1) ∪ E2)\E3 (veure Fig.3).

1.3.2 Definir les condicions de contorn

Ara s’han de definir les condicions de contorn. Es por accedir fent click sobre la icona ∂Ω oamb la comanda Boundary → Boundary Mode. En aquest moment es poden eliminar leslınies residuals (subdominis) que resulten de combinar les formes geometriques en el apartatanterior. A tal efecte es poden escollir les opcions Boundary → Remove Subdomain Bor-der (sel·leccionant previament un subdomini) o be Boundary → Remove All SubdomainBorders.

4

Page 5: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

Figura 3: Definicio dels contorns i eliminacio de subdominis.

Ja es el moment d’introduir les condicions de contorn. Els contorns es representen per lıniesde color amb fletxes. El color representa el tipus de condicio de contorn i les fletxes els lımits delcontorn. En particular, els colors que podem trobar son: Gris, si el contorn es troba seleccionat;Blau, per una condicio de Newman; Vermell, per un condicio de Dirichlet; Verd, per una condiciomixta.

Figura 4: Finestra Boundary Condition.

5

Page 6: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

Per seleccionar un contorn basta fer click sobre ell. Tambe es poden fer sel·leccions multiplesfent servir alhora la tecla Shift. Tambe es poden seleccionar tots els contorns amb la opcio Edit→ Select All. Un cop feta la seleccio, per afegir o modificar les condicions de contorn basta ferdoble click a qualsevol dels contorns seleccionats i s’obrira la finestra Boundary Condition.

Aquesta finestra fa servir les mateixes notacions que aquest document. Nomes cal introduirles equacions a les caselles corresponents.

1.3.3 Introduir la EDP

Un cop definides les condicions de contorn, es el moment d’introduir l’equacio a resoldre. Bastafer click sobre la icona PDE o be en el menu PDE → PDE Specification.

A finestra PDE Specification s’escollira el tipus d’equacio a resoldre i s’introduiran elsparametres (la notacio es la mateixa que la utilitzada en aquest document).

1.3.4 Elaboracio de la graella

Finalment s’ha de crear la graella triangular que es fara servir en el Metode dels Elements Finits.Aquesta graella es crea i es mostra fent click a la icona que te un triangle (al costat de PDE) obe al menu Mesh → Initialize Mesh.

Per una solucio mes acurada, es pot fer servir la opcio Refine Mesh i finalment amb laopcio Jiggle Mesh es pot deformar la graella per millorar la qualitat dels resultats.

Figura 5: Pases per crear la graella: Initialize Mesh, Refine Mesh i Jiggle Mesh.

1.3.5 Resolucio del Problema

Ara ja estem en condicions de resoldre el problema. A tal efecte es pot fer click sobre la iconaamb el signe = o be amb el menu Solve→ Solve PDE. Aleshores es troba la solucio i es mostraen pantalla sobre el domini geometric del problema (en escala de colors).

Matlab dona un interessant ventall de possibilitats per analitzar els resultats i per veurediferents grafics. Sera mes adient estudiar aquestes eines tot resolent els dos problemes que esproposen.

6

Page 7: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

1.3.6 Guardant el problema i tractament a posteriori

En qualsevol moment es pot fer servir la opcio Save As per guardar el problema introduıt. Elfitxer resultant es un fitxer de matlab com el que es mostra a continuacio. La utilitat d’aquestaopcio es la de realitzar petites modificacions (per exemple, estudiar diferents geometries) en elproblema estudiat sense necessitat de repetir totes les etapes en la introduccio de les dades.

A mes, aquest fitxer pot ser util per a usuaris avancats, que dominen la PDEtoolbox i lesfuncions que incorpora sense necessitat de fer servir el GUI.

function pdemodel [pde_fig,ax]=pdeinit; pdetool(’appl_cb’,1);

set(ax,’DataAspectRatio’,[1 1 1]);

set(ax,’PlotBoxAspectRatio’,[1.5 1 1]); set(ax,’XLim’,[-1.5 1.5]);

set(ax,’YLim’,[-1 1]); set(ax,’XTickMode’,’auto’);

set(ax,’YTickMode’,’auto’); pdetool(’gridon’,’on’);

% Geometry description:

pdeellip(-0.6,-0.008,0.8,0.58,... 0,’E1’); pderect([-0.86 0.93

0.38 -0.47],’R1’); pdeellip(-0.019,0.43,0.25,0.39,... 0,’E2’);

pdeellip(-0.07,-0.49,0.23,0.35,... 0,’E3’);

set(findobj(get(pde_fig,’Children’),’Tag’,’PDEEval’),’String’,’((E1&R1)+E2)-E3’)

% Boundary conditions:

pdetool(’changemode’,0) pdetool(’removeb’,[3 4 7 8 9 10 ]);

pdesetbd(10,... ’dir’,... 1,... ’1’,... ’0’) pdesetbd(9,...

’dir’,... 1,... ’1’,... ’0’) pdesetbd(8,... ’dir’,... 1,...

’1’,... ’0’) pdesetbd(7,... ’dir’,... 1,... ’1’,... ’0’)

pdesetbd(6,... ’dir’,... 1,... ’1’,... ’0’) pdesetbd(5,...

’dir’,... 1,... ’1’,... ’0’) pdesetbd(4,... ’dir’,... 1,...

’1’,... ’0’) pdesetbd(3,... ’dir’,... 1,... ’1’,... ’0’)

pdesetbd(2,... ’dir’,... 1,... ’1’,... ’0’) pdesetbd(1,...

’dir’,... 1,... ’1’,... ’0’)

% Mesh generation:

setuprop(pde_fig,’Hgrad’,1.3);

setuprop(pde_fig,’refinemethod’,’regular’); pdetool(’initmesh’)

pdetool(’refine’) pdetool(’jiggle’)

% PDE coefficients:

pdeseteq(1,... ’1.0’,... ’0.0’,... ’10.0’,... ’1.0’,... ’0:10’,...

’0.0’,... ’0.0’,... ’[0 100]’) setuprop(pde_fig,’currparam’,...

[’1.0 ’;... ’0.0 ’;... ’10.0’;... ’1.0 ’])

% Solve parameters:

setuprop(pde_fig,’solveparam’,...

str2mat(’0’,’1134’,’10’,’pdeadworst’,...

’0.5’,’longest’,’0’,’1E-4’,’’,’fixed’,’Inf’))

% Plotflags and user data strings:

setuprop(pde_fig,’plotflags’,[1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0

1]); setuprop(pde_fig,’colstring’,’’);

setuprop(pde_fig,’arrowstring’,’’);

setuprop(pde_fig,’deformstring’,’’);

setuprop(pde_fig,’heightstring’,’’);

% Solve PDE:

pdetool(’solve’)

7

Page 8: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

En realitat, existeix una altra forma de treballar amb les funcions de la pdetoolbox. Con-sisteix en fer servir comandes de la forma habitual de Matlab.

Aixı, totes les funcions de la pdetoolbox es troben implementades en forma de fitxer .m deforma que es poden cridar com la resta de funcions (recordem que cridant la comanda help totseguit del nom de la funcio ens descriu els imputs necessaris i l’output que obtindrem).

1.3.7 Exportant les dades

Finalment, sovint l’usuari trobara interessant (o necessari!) el fet de poder analitzar el valornumeric del resultat obtingut, tant des de matlab2, com amb qualsevol altre software.

En qualsevol moment, podem exportar les variables utilitzades al GUI (geometria, condicionsde contorn, resultat...) fins a la finestra de matlab fent servir aquesta opcio dins del menu de lavariable corresponent, per exemple Solve → Export Solution per exportar la solucio.

Totes les variables no exportades seran esborrades de la memoria al tancar la finestra delGUI.

2 Problema 1

A continuacio, es resolt un problema reproduint les passes anteriors. El problema en questio espot trobar al llibre de problemes de l’assignatura “Fenomens de Transport” que s’imparteix ala ETSEIB. En aquest llibre es planteja la seva resolucio mitjancant Mathcad.

2.1 Enunciat

Una placa de cautxu de 2 cm de gruix, que inicialment esta a una temperatura de 293 K, esposa en contacte amb una premsa constituıda per dues plaques d’acer escalfades electricament a473 K. Determineu el perfil de temperatures en funcio del temps a traves de la placa de cautxu.Suposarem que la part no calefactada de la placa roman a temperatura constant.

Coneixem les propietats del cautxu a l’interval 293-473 K; ks = 573 J/(hmK), ρs = 800 kg/m−3,Cp = 2653 J/(kgK). Tenim un coeficient de transferencia de hs = 20398 kJ/(m2hK).

2.2 Plantejament de les condicions de contorn

Observem que el problema es simetric i per tant les condicions de contorn homogenies. Elproblema no especifica l’alcada de la placa, per tant podem suposar que no estem interessats enestudiar la transferencia en aquesta direccio (degut a que la placa es prou gran com que nomestingui lloc flux de calor de forma perpendicular a la premsa).

Per fer aixo basta especificar una condicio de contorn de tipus Newman ∂T/∂z = 0 i donaruna alcada qualsevol a la placa (la hem de representar amb una geometria finita!) de per exemple20 cm.

La condicio de contorn en la zona de contacte es troba a partir del balanc:

ks∂T

∂x= hs(473− T )

2Per disseny, el GUI no permet realitzar grafics de l’evolucio temporal. Aquest es poden fer facilment ambmatlab si exportem les dades.

8

Page 9: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

que amb les dades del problema es tradueix en una condicio de contorn tipus Newman ambg=473*20398/0.573 i q=20398/0.573.

Es recomana indicar aquestes operacions de cara a modificar a posteriori valors en la es-pecificacio del problema (d’aquesta forma, al guardar les dades en un fitxer es podran detectaraquest valors al llarg del codi.)

2.3 Resolucio del Problema

En primer lloc, es convenient modificar dels eixos de forma la geometria del problema es puguiveure completament a la pantalla. Cal seleccionar Options → Axes limits.

Figura 6: Adaptem els eixos al nostre problema.

Introduım un rectangle de 0.02×0.2 (escollim treballar en metres) centrat a l’origen (encaraque no es realment necessari doncs les condicions de contorn no depenen de l’espai).

Figura 7: Geometrıa i condicions de contorn.

Introduım l’equacio del balanc d’energia que no es mes que:

d∂T

∂t= ∇ · (c∇T )

9

Page 10: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

que podem comparar amb l’equacio (1) i identificar els coeficients:

c = 1, , a = 0, f = 0

d =ρsCp

ks=

800 · 2653573

Figura 8: Introduccio dels coeficients de la EDP.

Ara es moment de fer la graella de punts per aplicar el metode dels elements finits (pot serinteressant fer diverses proves amb graelles de diferent densitat per observar com les cantonadesson una font d’error.). Els resultats presentats han estat elaborats refinant dos cops la graella(opcio Refine Mesh).

Abans d’integrar el sistema cal introduir les condicions inicials, aixı com l’interval de tempsen que volem guardar el resultat (per defecte, matlab nomes guarda l’instant final.)

Figura 9: Introduccio de les condicions inicials.Integrem 1 h en intervals de 0.05 h.

Un cop introduıt el problema, basta fer click sobre la icona amb el signe =, o be, amb elmenu Solve → Solve PDE. A mes, podem seleccionar la opcio Colormap: jet, dins el menuPlot → Parameters. Obtindrem un resultat com:

10

Page 11: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

Figura 10: Perfil de temperatures passada 1 hora.

Ara podem exportar els resultats. Aixı podem manipular les variables amb el matlab. Perexportar la graella de punts seleccionem Mesh → Export Mesh... i per exportar la solucio:Solve → Export Solution...

Un cop al matlab veiem com a la finestra “Workspace” apareixen les variables exportades.Definim el vector temps mitjancant la comanda:

>> t = 0:0.05:1

Podem observar com el centre de la placa correspon a la cinquena component de la variablep (que guarda el punts de la graella). Un exercici interessant pot ser elaborar una petita rutinaque retorni la posicio en el vector donades les coordenades d’un punt. Si volem visualitzar laevolucio de la temperatura amb el temps, nomes cal cridar la comanda plot:

>> p(:,5)ans =

00

>> plot(t,u(5,:))

Figura 11: Evolucio temporal de la temperatura al centre de la placa.

Finalment, indiquem un forma facil de trobar la correspondencia entre els punts de la graellai les coordenades en que estem interessats. Des del GUI, en el mode Mode Mesh, clicant ambel boto esquerra sobre el node mes proper, podem llegir el nombre de node corresponent a lapart inferior de la pantalla. En efecte, pot observar-se que al clicar sobre el node al voltant del’origen el programa indica que es tracta del no 5.

Aquest mateix procediment fent servir el boto central del ratolı (o el boto esquerra + Shift)retorna el nombre del triangle corresponent.

11

Page 12: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

3 Problema 2

A continuacio, es presenta un exemple per il·lustar l’us de coordenades polars en la resoluciod’un problema. Aquest problema correspon a l’exemple 5.6 de “Incropera, F.P.: Fundamentosde Transferencia de Calor. Pearson Education, 4a ed.”

3.1 Enunciat

En un proces de fabricacio, uns cilindres d’acer inoxidable (AISI 304) inicialment a 600 K sonatemperats al submergir-los en un bany d’oli que es mante a 300 K amb h = 500 W/m2K. Lalongitud de cada cilindre es de 2L = 60 mm i el diametre D = 80 mm. Considerant un tempsde 3 minuts en el proces de refredament, determinar les temperatures al centre del cilindre, alcentre de la cara circular y a la meitat de la cara lateral.

3.2 Plantejament del problema

En primer lloc modifiquem l’escala dels eixos (Axes Limits) per a centrar el problema enpantalla. Per exemple es pot agafar per les x un rang de [−0.1 0.1] i per les y un rang de[−0.05 0.05].

A continuacio es dibuixa un rectangle que representara una seccio del cilindre (l’eix delcilindre sera l’eix y i el radi del cilindre l’eix x).

Per resoldre el sistema hem d’estudiar les equacions en coordenades cilındriques:

∂T

∂r− 1

r

∂r

(αr

∂T

∂r

)− ∂

∂z

∂T

∂z

)= 0,

on α = k/ρCp. Podem escriure aquesta equacio de forma mes sintetica en termes d’operadorsvectorials:

∂T

∂r− 1

rdiv(αr gradT ) = 0. (2)

Per introduir aquesta equacio al matlab hem de fer la traduccio en termes de les variables xi y. Notem primer que matlab no deixa introduir cap coeficient davant de la divergencia (veureequacio 1) i aleshores multipliquem a ambdos costats per r. D’aquesta forma, els coeficients aintroduir en d*u-div(c*grad(u))+a*u=f’ seran:

c = 17.4x, a = 0, f = 0, d = 7900 · 526x

3.3 Plantejament de les condicions de contorn

La unica condicio de contorn es la deguda a la conveccio i no es mes que una condicio de Newman.Unicament s’ha d’adaptar al fet de que la geometria del problema es cilındrica. Aixı, el flux decalor anira sempre multiplicat per la variable x (veure equacio 2).

Prenem doncs una condicio de tipus Newman amb

g = 500 · 300x, q = 500x.

12

Page 13: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

3.4 Resolucio del problema

Ara ja es pot fer la graella i resoldre el problema de la forma usual.

Figura 12: Perfil de temperatures en el cilindre per t = 180 s.

Fent servir el boto esquerre del ratolı podem coneixer el valor de la temperatura en qualsevolnode. Aixı, trobem uns valors de 403 K al centre del cilindre, 371 K al centre d’una de lescircumferencies i 363 K en el centre d’un dels laterals del cilindre.

Si comparem aquest resultats amb els obtinguts a l’Incropera mitjancant el principi de su-perposicio trobem que el resultat es prou coherent (450 K, 372 K, 365 K respectivament), doncsla discrepancia mes important es troba al centre del cilindre, just on s’aplica el principi desuperposicio.

4 Us de comandes desde Matlab

La pdetoolbox tambe deixa accedir a les seves funcions des de la finestra principal de matlab,sense fer servir el GUI. Aquı nomes en farem una petita introduccio, pero remarquem que l’usde comandes permet interaccionar de forma directa amb el valor de les variables que apareixenen el proces de resolucio.

Cal tenir present que amb les comandes es pot fer el mateix que amb el GUI, i fins i totalgunes coses mes. Una descripcio detallada d’aquestes rutines pot consultar-se a la guia: “User’sGuide. Version 1. Partial Differential Equation Toolbox” que incorpora el matlab. Aquı nomesdescriurem algunes d’aquestes funcions.

4.1 Comandes d’introduccio de Geometries

pdecirc: pdecirc(xc,yc,radius,label) dibuixa un cercle de centre (xc,yc) i radi radius.Si el GUI no esta activat, aquest s’iniciara de forma automatica i el cercle es dibuixarasobre un problema nou. L’argument label es opcional i assigna un nom al cercle.

pdeellip: pdeellip(xc,yc,a,b,phi,label) dibuixa una el·lipse de centre (xc,yc) i semieixosa i b. El angle de rotacio de la el·lipse ve donat per la variable phi (en radians!).

13

Page 14: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

pderect: pderect(xy,label) dibuixa en rectangle de coordenades donades per xy=[xmin xmaxymin ymax].

4.2 Comandes de definicio de Condicions de Contorn

Per definir condicions de contorn des de la lınia de comandes, cal ajustar-se a un format predefinitper la pdetool. Endinsar-se de bon principi en aquesta tasca por resultar pesat i fins i totdesesperant. Per aixo en aquest document s’omet aquest tipus de comandes. Basta introduirles condicions de contorn des de el GUI i exportar-les despres cap al matlab.

4.3 Comandes de resolucio d’equacions

Aquı trobem per una banda les funcions que permeten elaborar la graella de punts con tambeles que permeten resoldre propiament la EDP. Novament, no entrarem en la seva discussio inomes farem servir la rutina parabolic que com el seu nom indica, permet resoldre una EDPparabolica. Aquesta decisio es deguda a no estendre mes aquest tutorial, doncs l’us d’aquestesfuncions no es tant complicat com en el cas de definir condicions de contorn.

L’usuari interessat pot buscar informacio sobre les funcions: initmesh, jigglemesh, refi-nemesh i adaptmesh per crear la graella i assempde, hyperbolic per resoldre equacions del tipusel·liptic i hiperbolic, respectivament.

En el problema 5 farem servir la funcio parabolic, que te el seguent imput:u=parabolic(u0,time,b,p,e,t,c,a,f,d) on u0 es la condicio inicial (pot ser un escalar,

una funcio o un vector coherent amb la graella de punts), time es el vector que conte els tempspels quals es vol guardar la solucio (variable u), b es el resultat d’exportar les condicions decontorn, p,e,t corresponen a les variables que defineixen la graella, i finalment c,a,f,d son elscoeficients que defineixen la EDP parabolica a resoldre.

5 Problema 3

Finalment es proposa un problema per introduir l’us de comandes. Aquest problema correspon al’exemple 5.7 de “Incropera, F.P.: Fundamentos de Transferencia de Calor. Pearson Education,4a ed.”

5.1 Enunciat

Un element combustible d’un reactor nuclear en forma de paret plana de gruix 2L = 20 mmes refreda convectivament per ambdues superfıcies, amb h = 1100 W/m2K. y T∞ = 250 oC.En potencia normal d’operacio, el calor es genera de forma uniforme dins de l’element ambuna velocitat volumetrica de q1 = 107 W/m3. Si hi ha un canvi en aquesta generacio de calor,tindrem una desviacio de les condicions d’operacio normals. Si considerem un canvi sobtat aq2 = 2 · 107 W/m3 calculem el perfil de temperatura despres de 1.5 s. Les propietats termiquesde l’element combustible son k = 30 W/mK y α = 5 · 10−6 m2/s.

5.2 Resolucio

Des de la barra de comandes de matlab introduım

14

Page 15: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

>> xy=[-0.01 0.01 -0.1 0.1]xy =

-0.0100 0.0100 -0.1000 0.1000>> pderect(xy)

i veurem que apareix la finestra del GUI amb el rectangle dibuixat. A continuacio es potmodificar l’escala dels eixos per aconseguir una millor visualitzacio del problema.

Introduım les condicions de contorn de tipus Newman:

Contorn superior i inferior: g = 0, q = 0.

Contorn esquerre i dret: g = 1100 · 250, q = 1100.

Introduım tambe la EDP amb la precaucio de mantenir les unitats del flux (aquest ha de sercompatible amb les condicions de contorn).

Escollim doncs la opcio Elliptic amb els coeficients:

c = 30, a = 0, f = 1e7.

Ara podem resoldre el problema i obtenir l’estat estacionari quan tenim una generacio decalor de q = q1 = 1 · 107 W/m3.

Ara exportem les variables cap al matlab:

Condicions de contorn: g,b.

Coeficients de la PDE c,a,f,d.

Coeficients de la graella p,e,t.

Solucio: u.

Fem tot aixo per poder introduir el perfil de temperatures obtingut con a condicio inicialper al nou problema (aixo no es pot fer a priori des de el GUI).

Aixı doncs, introduım la nova generacio de calor i cridem a la funcio parabolic amb elsnous coeficients i condicions inicials:

>> f=2e7;>> u0=u;>> u=parabolic(u0,0:0.1:1.5,b,p,e,t,c,a,f,d);Time: 0.1Time: 0.2Time: 0.3Time: 0.4Time: 0.5Time: 0.6Time: 0.7Time: 0.8Time: 0.9Time: 1Time: 1.1

15

Page 16: Transfer`encia de Calor amb Matlab. PDEToolbox. · 4. Problema de valor propi: −∇·(c∇u) = λdu on u es la funci´o escalar inc`ognita, a,c,f i d son funcions que depenen de

Time: 1.2Time: 1.3Time: 1.4Time: 1.575 successful steps0 failed attempts144 function evaluations1 partial derivatives18 LU decompositions143 solutions of linear systems

Finalment podem visualitzar el resultat obtingut amb la seguent funcio:

>>pdesurf(p,t,u0)>>hold>>pdesurf(p,t,u)

on la opcio hold permet fer servir el mateix grafic per dibuixar simultaniament les variable u0i u.

Figura 13: Perfils de temperatura en l’estat estacionari inicial (q = q1) i transcorreguts 1.5 s (q = q2).

16