Vous êtes sur la page 1sur 12

Modlisation numrique sous MATLAB

Par Rafic YOUNES


Enseignant - Chercheur la Facult de Gnie Universit Libanaise
Responsable du DEA Mcanique E2M

R.Y. 02.04
1.
1.1
1.2
2.
3.
3.1
3.2
3.3
3.4
3.5

Grandes lignes de la mthode des lments finis


Expos de la dmarche
Un exemple dtaill
Utilisation du pdetool
Applications
Application 1
Application 2
Application 3
Application 4
Application 5

Quelle place occupe le calcul dans l'industrie ? Quels sont les principaux champs
d'application du calcul ?
Le calcul numrique permet l'ingnieur d'effectuer des simulations numriques de
phnomnes physiques. Le calcul occupe une place stratgique avec la CAO et les autres
technologies de simulation (essais) dans le dveloppement d'un produit complexe qui touche
diffrents domaines de la physique. Cela concerne les industries automobiles, navales,
aronautiques, ferroviaires, mais aussi les industries lourdes: centrales lectriques, platesformes ptrolires, et le gnie civil.
Le calcul est indispensable lorsque l'on cherche obtenir une solution optimise pour
rduire les cots et les dlais de fabrication. Grce au calcul, mme simplifi, l'ingnieur peut
tester plusieurs configurations pour optimiser le comportement d'un modle une prestation
donne. Cela vite de multiplier les prototypes et les essais tests rels, les supports physiques
ne servent plus chercher une solution, ils permettent de la valider.
Le calcul s'applique aussi dans les domaines du process . Les procds de fabrication tels
que l'emboutissage, l'usinage grande vitesse, les dpts de peinture, l'assemblage de tlerie, la
mise en forme des plastiques, peuvent tre modliss par lments finis. Ici c'est une bonne
reprsentation du comportement du phnomne physique qui sera recherche pour pouvoir
vrifier et valider un procd de fabrication d'une pice.
Enfin le calcul de conception dans les bureaux d'tudes, c'est sans doute le plus rpandu car
grce aux outils de calcul simplifi dont disposent les logiciels de CAO modernes, la simulation
numrique fait partie des outils de conception pour obtenir un comportement dfini priori
qui dtermine le dimensionnement, donc le dessin, des pices mcaniques.
La mthode des lments finis est de toutes les mthodes de discrtisation la plus utilise car :
A) elle peut traiter des problmes de gomtrie complexe. B) elle couvre de nombreux domaines de
la physique. C) les moyens informatiques actuels (puissance des calculateurs, outils de
visualisation) la rende facile de mise en oeuvre. D) de nombreux logiciels gnraux ou ddis sont
disponibles sur le march, le tableau ci-dessous vous permettra de visiter les sites Internet proposs
par les principaux fournisseurs de logiciel lments finis.
Pdetool de MatLab, Abaqus, I-deas, Adina, Marc, Algor, Radioss, Ansys, Samcef, Catia, Systus
L'objectif de ce cours est de vous donner les bases essentielles sur lesquelles repose la mthode
des lments finis. Ensuite sont prsents quelques applications utilisant le pdetool de MatLab.

Beyrouth 01/03/2005

1 Expos de la dmarche :
La mthode consiste rechercher une solution
approche de la solution exacte sous la forme d'un
champ F(M,t) dfini par morceaux sur des sous
domaines de . Les n sous domaines i doivent tre
tels que

La figure 2 montre une solution approche continue


de
C0 d'un champ scalaire sur un domaine
dimension 1. La famille de champs locaux est la
famille des champs polynmiaux de degr 1.
La figure 3 montre une solution approche continue
C1 d'un champ scalaire sur un domaine
de
dimension 1. La famille de champs locaux est la
famille des champs polynmiaux de degr 3.

o i dsigne l'intrieur de i. Autrement dit, les i


sont une partition de .

Les champs f ( M , t ) , dfinis sur chaque sous


domaines sont des champs choisis parmi une famille
arbitraire de champs (gnralement polynmiaux).
La famille de champs locaux est appele espace des
fonctions
d'interpolation
de
l'lment.

La famille de champs globaux F ( M , t ) , obtenus par


juxtaposition des champs locaux est appele espace
des fonctions d'interpolation du domaine .
Le champ dans chaque sous domaine i est
dtermin par un nombre fini de valeurs du champ (ou
de valeurs de ses drives) en des points choisis
arbitrairement dans le sous domaine, et appels
uds. Le champ local est une interpolation entre les
valeurs aux noeuds. Le sous domaine muni de son
interpolation est appel lment.

Figure 2: Solution approche continue C0

Chercher une solution par lments finis consiste


donc dterminer quel champ local on attribue
chaque sous domaine pour que le champ global

~
F ( M , t ) obtenu par juxtaposition de ces champs

locaux soit proche de la solution du problme.


Parmi les contraintes qu'on impose la solution
approche cherche, il y a souvent au moins une
continuit simple (C0) la frontire entre les sous
domaines.
La figure 1 montre une solution approche
discontinue d'un champ scalaire sur un domaine
de dimension 1. La famille de champs locaux est la
famille des champs constants par morceaux.

Figure 3: Solution approche continue C1


La qualit de la solution approche dpend de la
division en sous domaines (nombre et dimensions des
sous domaines), du choix de la famille de champs
locaux dans chaque sous domaine, et des conditions
de continuit qu'on impose aux frontires des sous
domaines (C0, C1,...). Une fois ces choix faits, il reste
rechercher, une combinaison de champs locaux qui
satisfait approximativement les quations.
Pour rsoudre un problme par la mthode des
lments finis, on procde donc par tapes
successives :
1 - On se pose un problme physique sous la forme
d'une quation diffrentielle ou aux drivs partielles
satisfaire en tout point d'un domaine , avec des
ncessaires et
conditions aux limites sur le bord
suffisantes pour que la solution soit unique.

Figure 1: Solution approche discontinue

2 - On construit une formulation intgrale du systme


diffrentiel rsoudre et de ses conditions aux limites:
C'est la formulation variationnelle du problme.

3 - On divise
en sous domaines : C'est le maillage.
Les sous domaines sont appels mailles.
4 - On choisit la famille de champs locaux, c'est dire
la fois la position des noeuds dans les sous
domaines et les polynmes (ou autres fonctions) qui
dfinissent le champ local en fonction des valeurs aux
noeuds (et ventuellement des drives). La maille
complte par ces informations est alors appele
lment.

Son graphe est donn figure 6 page 8.

2.1 Choix du maillage


On divise arbitrairement
taille (voir figure 4):

5 - On ramne le problme un problme discret :


C'est la discrtisation. En effet, toute solution
approche est compltement dtermine par les
valeurs aux noeuds des lments. Il suffit donc de
trouver les valeurs attribuer aux noeuds pour dcrire
une solution approche. Le problme fondamental de
la mthode des lments finis peut se rsumer en
deux questions :

en trois mailles de mme

Figure 4: Maillage du problme

(a) Comment choisir le problme discret dont la


solution est <<proche>> de la solution exacte?

2.2 Choix des noeuds et des champs


locaux

(b) Quelle signification donner au mot <<proche>> ?

On dcide de prendre des lments 3 noeuds, et


pour la famille de champs locaux des polynmes de
degr 2. Les noeuds sont choisis aux extrmits et au
milieu de chaque maille.

6 - On rsout le problme discret: C'est la rsolution


7 - On peut alors construire la solution approche
partir des valeurs trouves aux noeuds et en dduire
d'autres grandeurs : C'est le post-traitement.

On peut alors dterminer chaque champ local en


fonction des valeurs aux 3 noeuds.

8 - On visualise et on exploite la solution pour juger de


sa qualit numrique et juger si elle satisfait les
critres du cahier des charges : C'est l'exploitation
des rsultats.

Remarquer que le fait d'avoir utilis des noeuds aux


extrmits de chaque lment prsente deux
avantages :
1 - Le nombre de noeuds est rduit, car il y a des
noeuds communs deux lments.

Les tapes 1, 2, 3, 4 et 5 sont souvent rassembles


sous le nom de prtraitement.

2 - On assure ainsi une continuit C0 de la solution


approche : les champs locaux de deux lments
voisins auront la mme valeur leur n ud commun.

Le travail de ces diffrentes tapes est assist par les


logiciels. Pour matriser leur utilisation, il est
indispensable de comprendre les fondements de la
mthode, notamment les phases 3 et 4, ne serait-ce
que pour comprendre et choisir intelligemment parmi
les options qu'ils proposent.

Remarquer encore qu'il n'est pas ncessaire de


prendre les lments identiques : on aurait pu prendre
certains deux noeuds et d'autres trois noeuds.

2 UN EXEMPLE DETAILLE :

Chaque champ local peut donc s'exprimer en fonction


des valeurs aux noeuds. En effet, il n'existe qu'un seul
polynme du second degr qui satisfasse les
conditions suivantes :

On se propose de rechercher une solution approche


du problme suivant :
Trouver f(x) dans le domaine = [0, 1] satisfaisant
l'quation diffrentielle :

avec les conditions aux frontires de

o x1, x2 et x3 sont les coordonnes des 3 noeuds de


l'lment, et f1, f2 et f3 sont des valeurs aux 3 noeuds
de l'lment.

On obtient :

Dans ce problme,
est un domaine de dimension 1
et le temps n'apparat pas. Pour dcrire le domaine,
on n'a besoin que d'une seule variable x. L'quation
rsoudre est donc une quation diffrentielle
ordinaire. La frontire
se rduit deux points.

Le polynme avec les coefficients a1, b1 et c1 cidessus est appel fonction d'interpolation de l'lment
1.

La solution exacte de ce problme est

Les polynmes d'interpolation des 2 autres sont de la


mme forme : Pour le second, on remplace les
indices 1, 2, 3 par les indices 3, 4, 5 ; et pour le
troisime, on remplace les indices 1, 2, 3 par les
indices 5, 6, 7.
Dans cet exemple, on a 7 noeuds. Si on donne une
valeur arbitraire chaque noeud, les fonctions
d'interpolation sont dtermines et dfinissent par

que, dans la seconde forme, la fonction inconnue


f(x)intervient avec des drives d'ordre infrieur, et
que par contre les drives des fonctions (x)
apparaissent.
L'quivalence
entre
ces deux
formulations variationnelles et le problme initial est
soumise des conditions sur f(x), (x) et
prcises par l'analyse fonctionnelle et qu'on
supposera satisfaites.

morceaux une fonction

Remarque :

~
f continue C0 sur le

domaine . L'espace des fonctions


morceaux, est de dimension 7.

La dmarche suivie ici pour construire une formulation


variationnelle
du
problme
est
purement
mathmatique. Il arrive souvent que la formulation
variationnelle ait une interprtation physique. On peut
donc aussi les tablir par des raisonnements
physiques.

, dfinies en 3

Les trois fonctions d'interpolation sur les 3 lments


sont :

2.4 Discrtisation du problme


Le principe de l'approximation par lments finis est le
suivant :

2.3
Formulation
problme

variationnelle

du

On choisit une formulation variationnelle (par exemple


(2.9) et on cherche satisfaire l'quation (2.9) avec

les f dtermins par les valeurs aux noeuds dfinis


prcdemment. Il va de soit que ce problme, n'a
gnralement pas de solution si on garde la condition

On montre en analyse fonctionnelle que

<< i(x) >> (sinon f serait une solution exacte !).


On ne vrifiera donc cette quation que pour certains
i(x) seulement.

o (x) et h(x) et
doivent satisfaire certaines
conditions de rgularit qu'on n'explicitera pas ici.

chaque i(x) correspondra une quation scalaire


fonction des valeurs aux noeuds. Il suffit de les choisir
indpendants et en nombre gal au nombre
d'inconnues. Dans notre exemple, il en faut 7 pour
dterminer les valeurs aux noeuds f1,...,f7. Les
fonctions (x) sont appeles fonctions test ou encore
fonctions
de
pondration.
On est ainsi ramen un systme algbrique de 7
quations 7 inconnues.

Autrement dit, rsoudre l'quation diffrentielle est


quivalent chercher f(x) tel que :

Cette formulation est une formulation variationnelle


(on dit aussi formulation intgrale ou encore
formulation faible) du problme.

Il y a une infinit de manires de choisir les 7 i(x).


Elles engendrent diffrentes variantes de la mthode
des lments finis. Chacune aboutit une solution
approche diffrente. La seule condition imprative
est que le choix des i doit conduire un systme
algbrique solution unique. Des thormes
d'analyse numrique suggrent certains choix, pour

On obtient une autre formulation variationnelle en


utilisant l'intgration par parties :

lesquels la solution approche f est garantie unique


2.9
et convergente vers la solution exacte
quand le
maillage se raffine. Dans notre exemple, si on choisit
la formulation (2.9), les fonctions i(x) doivent avoir
une drive non nulle partout, pour que la formulation
ne soit pas triviale. Par contre, dans cette formulation,
la drive seconde de la fonction f(x), qui sera

Compte tenu des conditions aux limites, f(0)=0 et

df ( x )
dx = 0 , une autre formulation variationnelle
x =1

du problme est donc : Trouver f(x) tel que

remplace par l'approximation f ( x ) , n'apparat plus.


On pouvait donc choisir une famille d'approximation

~
f ( x ) plus simple.

On choisit par exemple les 7 fonctions test 1, 2 ,,


7 dfinies par la figure 5.

Il est important de noter que dans les termes de bord


de cette dernire formulation, les conditions aux
limites sont prises en compte. En comparant les deux
formulations variationnelles (2.7) et (2.9), on constate

La solution de ce systme donne les valeurs aux

noeuds de l'approximation f ( x ) cherche :

f1=

4107
54872

f4 =

25563
13718

f6 =

374605
164616

Figure 5: Les sept fonctions i(x).


Leurs drives sont constantes (+6 ou -6) ou nulles et
on a i(xj) = ij
Pour chaque fonction test i. on crit une quation
scalaire:

f2=

7063
8664

f5=

f3=

236893
164616

350779
164616

f7 =

127275
54872

Les choix faits prcdemment (les fonctions tests et


les fonctions d'interpolation) conduisent un systme
d'quations non symtrique. On verra plus loin
comment obtenir des systmes symtriques, pour
lesquels on dispose d'algorithmes numriques plus
efficaces.
Les fi
tant dtermines, on connat alors les
interpolations dans les trois sous domaines, et donc
aussi la solution approche en juxtaposant ces
interpolations.

o les f ( x ) sont des fonctions de x et des valeurs


aux
noeuds
f1,f2,...,f7.
Les intgrales de ces 7 quations sont faciles
calculer : elles se rduisent des intgrales sur le
segment o les drives de i sont non nulles.

2.6 Examen des rsultats


La figure 6 montre une comparaison entre la solution
exacte et la solution approche.

La construction de ce systme d'quations s'appelle


l'assemblage. Pour un choix diffrent de fonctions
i(x), les intgrales sur chaque lment sont moins
simples calculer.
Par exemple, la premire quation (avec 1) est :

soit encore :

Figure 6: Comparaison des solutions exacte et


approche
On peut noter que puisqu'on n'a pas impos aux

~
2
o f ( x ) = a x + b x + c dans le segment 0, 1 ,
6

fonctions
f ( x ) de respecter exactement les
conditions aux limites, celles-ci ne le sont
qu'approximativement:

avec a, b et c dfinis en (2.1). On procde de mme


pour les 6 autres quations.
On obtient ainsi un systme de 7 quations 7
inconnues (les valeurs aux noeuds f1,f2,...,f7) :

Bien que cela n'apparaisse pas clairement sur la


figure 6, les drives sont bien discontinues :

titre de comparaison on donne figure 7 le graphe de


la solution approche avec le mme maillage mais
avec des lments interpolation linaire deux

noeuds. L'espace des F ( x ) n'est que de dimension 4


et la solution est beaucoup plus grossire.

simple permettant l'utilisation efficace de cette


interface graphique.
Tapez sous la fentre des commandes de MatLab la
commande pdetool, vous devez recevoir l'interface
graphique suivante.

Figure 7: Approximation par 3 lments linaires

Figure 2.8: Approximation par


linaires,avec C.L. imposes exactes

Nous allons traiter l'quation de Laplace avec des


conditions aux limites de type Dirichlet. Ce problme
dcrit gnralement un quilibre des forces, un bilan
d'nergie thermique ou lectrostatique. L'exemple
suivant peut tre rsolu la main en faisant appel au
dveloppement par sries de Fourier. Ceci permet de
vrifier l'exactitude des rsultats numriques obtenus
par pdetool. Cependant, vous pouvez compliquer par
la suite votre problme des cas non vidents pour
un traitement analytique.

lments

1. Dessin du domaine: supposons qu'il s'agit du


rectangle [0, 3]3[0, 1].
Dans le menu Options, slectionner Grid and Snap;
puis choisir Axes' Limits entre [-1 4] et [-1 2]. Faites
Apply et fermer la boite Axes' Limits. Le rsultat sera
affich travers la figure suivante.
Figure 9: Approximation par 3 lments d'ordre 2,
avec C.L. imposes exactes
On donne aussi figure 8 le graphe avec 3 lments
interpolation linaire deux noeuds o on a astreint
les interpolations des lments 1 et 3 respecter
exactement les conditions aux limites. L'espace des

~
F( x ) n'est plus que de dimension 2.

On donne enfin figure 9 le graphe avec 3 lments


interpolation du second degr 3 noeuds o on a
astreint les interpolations des lments 1 et 3
respecter exactement les conditions aux limites.

L'espace des F( x ) est de dimension 5.

2. Utilisation de pdetool

Dans le menu Draw, slectionner Rectangle/Square


(non centr).

Le pdetool sous MatLab est un outil informatique


permettant le traitement des quations aux drives
partielles en deux dimensions en utilisant la mthode
des lments finis. Ce document constitue un guide

Dans la zone du dessin, placer le curseur sur le point


(0,0), cliquer en permanence avec le bouton gauche
de la souris en dplaant le curseur jusqu'au point
(3,1). La rgion marque sera dsigne par R1.

Changer les valeurs comme vous voulez et cliquer sur


OK.

4. Gnration du maillage:
2. Passer aux conditions aux limites: donner la
solution u recherch la valeur -1 sur les cotes
horizontales, et +1 sur les cotes verticales.

Dans le menu Mesh, slectionner Initialize Mesh.


Vous obtenez un maillage rgulier et standard.

Dans le menu Boundary, select Boundary Mode. La


figure change comme suit :

5. Rsoudre le problme par la mthode lments


finis:
Dans le menu Solve, slectionner Solve PDE. La
figure dans la section du dessin change vers la
solution du problme.

Dans la rgion du dessin, double cliquer sur la cote


gauche vertical du rectangle. La boite de dialogue
boundary condition apparat. La condition du type
Dirichlet h*u=r est prise par dfaut. La valeur h=1 est
correcte; changer la valeur de r vers +1.

Faite la mme chose pour la cote verticale droite du


triangle, c.a.d. donner r la valeur -1. Refaire aussi
le mme travail sur les deux cotes horizontales en
donnant r la valeur +1. Fermer la boite de dialogue.

6. Gnration des autres prsentations pour la


solution:
Dans le menu Plot, slectionner Parameters. La boite
de dialogue plot selection apparat; cliquer sur les
boutons de votre choix pour le type de prsentation,
les paramtres des abscisses et des ordonnes, la
couleur et terminer en appuyant sur le bouton plot.

3. Spcification des paramtres de l'quation PDE :


Dans le menu PDE, slectionner PDE specification.
La boite de dialogue pde specification apparat; le
problme elliptique de Laplace -div(c*grad(u)) + a*u
= f, avec a=0, f=0, et c=1 est donn par dfaut.

Donner pour la cote horizontale infrieure la condition


-.05 * x.^4 .* (3 - x).^2 et pour la cote suprieur
horizontale la condition -.05*x.^2.*(3 - x).^4.

Si vous adoptez les paramtres de la figure ci-dessus,


la nouvelle figure suivante apparat.

2. Aprs rsolution vous obtenez:

En choisissant le bouton Done, vous annulez l'action


de la boite de dialogue plot selection.
La forme des contours n'est pas assez satisfaisante,
vous voulez un rsultat plus prcis. Revenez au menu
Mesh, et slectionner Refine mesh; Rsoudre de
nouveau; vous pouvez rpter ce processus autant de
fois que c'est ncessaire. Aussi, avec le bouton
gauche de la souris, vous pouvez changer l'angle de
vision le la figure comme montr ci-dessous.

Sur la figure suivante, nous avons choisi la


reprsentation graphique 3D de u, avec indices de
couleur variant en fonction de "abs(grad(u))". Vous
pouvez toujours utiliser la souris pour changer l'angle
de vue de la figure.

Rsolution d'un problme similaire: L'quation de


Laplace avec des conditions aux limites diffrentes.
1. Retournez au mode Boundary.
Choisir pour les cotes verticales du rectangle la
condition au limite suivante 4*sin(pi*y).^2 .

Conditions aux limites

Pour sauvegarder votre travail, cliquer dans le menu


File sur save as Donner votre programme le nom
"monpde1.m" et quitter MatLab. Plus tard, vous
pouvez reprendre l'excution de toutes les phases de
votre programme en tapant sous la fentre des
commandes la simple commande monpde1.

Sur les frontires pleines, la vitesse dans la direction


normale disparat, qui implique des tats de frontire
de Neumann, c.--d., vous indiquez le composant
normal du grad(u) l'apport, la vitesse est
perpendiculaire la frontire, aussi un tat de
Neumann. La vitesse sur toutes les frontires ne peut
pas dterminer le potentiel, parce qu'ajouter des
constantes u ne change pas v. L'coulement est
rgi par la diffrence potentielle plutt puis le potentiel
lui-mme. la sortie x=1, nous ne savons pas la
vitesse, mais nous pouvons assumer un coulement
laminaire loin du goulot. L nous pouvons fixer le
potentiel la constante, par exemple, u=0, qui est un
tat de frontire de Dirichlet.

Il existe dans la barre du menu une srie des boutons


pouvant remplacer un nombre assez important des
commandes contenues dans les sous rubriques de
chaque menu. Il est important de les remarquer et les
retenir.

4. Applications
4.1. Ecoulement dans un convergent :

L'equation

C'est un exemple d'coulement potentiel, une


application classique dans la mcanique des fluides
incompressibles. Il s'agit d'un fluide newtonien qui
traverse une tube conique.
Si le flux de fluide est irrotationnel, alors le vecteur
v de vitesse est exprim comme gradient d'un
potentiel inconnu u, c.--d. v=grad(u). Avec la densit
constante, la conservation de la masse donne
div(v)=0, et nous devons ainsi rsoudre l'quation
div(grad(u))=0.

Employer des symtries et les coordonnes de


cylindrique, les changements d'quation : y*grad(u))=0 de div(. Note : l'apport devient vous
devez indiquer le composant normal du y*grad(u), qui
est 10y.
Solution
L'quation est linaire mme si les coefficients sont
variables. Appuyer sur le bouton de solution produit la
solution, qui est le potentiel u. Le champ v de vitesse
est le gradient du potentiel et est visualis en utilisant
la parcelle de terrain de flche pour le grad(u).

Le fluide entre de la gauche avec une vitesse


constante v=v0. Il sort la droite avec une vitesse
inconnue, mais avec un potentiel constant u=0. le
dbit est nul par les autres segments de frontire.
Le domaine numrique:

Les lignes de niveau donne la taille de v, alors que


les flches donnent la distribution de vitesse.
Le flux est inverse proportionnel au secteur de la
section transversale. Puisque le secteur de la sortie
est 4 fois plus petit puis que de l'apport, la vitesse
augmente par un facteur 4, clairement vu en
comparant la longueur des flches au dans et la
sortie. Notez la singularit au coin de rentre, o la
vitesse devient infinie. Ceci indique la validit limite
du modle potentiel d'coulement pour des problmes
ralistes d'coulement.

Le tube convergent dans un repre cylindrique.


En raison de la symtrie, nous pouvons ramener les
coordonnes de cylindrique (x, r, thta) du problme
seulement deux coordonnes, (x,r). la frontire de
cration rcente, nous prsentons l'coulement
parallle l'axe des abscisses, ce qui induit une autre
condition aux limites Neumann.

PDE Coefficients

4.2 The Soap Bubble Problem

A soap film bounded by a wire frame has the shape


determined by the minimization of its internal energy.
The shape of the film is described by the height u(x,y)
over a given domain. The height is fixed at the domain
boundary, by the height of the wire frame g If the film
is homogeneous, minimizing the internal energy is
equivalent to minimizing its area, the integral of
s(u) = sqrt(1+|grad(u)|^2).
This in its turn is equivalent to finding u such that
-div( grad(u)/s(u) ) = 0, inside the domain
u(x,y) = g(x,y), on the domain boundary
In this example you look at a wire frame with two
circular components. The inner frame is at height 0
while the outer frame is given by g(x,y) = x^2.

Setting the equation coefficients amounts to typing in


MATLAB statements. These can be constants,
expressions containing the space variables x and , y ,
the unknown u , its partial derivatives ux and uy , or
even user-defined functions. The general form of the
time-independent,
elliptic,
scalar
PDE
is
-div( c*grad(u) ) + a*u = f
In the soap bubble problem, you have a = f = 0 and c
= 1./sqrt(1+ux.^2+uy.^2).
Mesh generation

The wire frame for a soap bubble. The computational


domain
Geometry
First you draw the domain which is an annulus (a twodimensional doughnut), i.e. the region between two
concentric circles:

A triangularization of the domain


An annulus obtained by subtracting the small disk
from the large one. This is expressed by the set
formula C1-C2

The mesh generator initializes a coarse mesh. Further


refinements of the mesh are necessary to obtain a
reasonable solution. Mesh generation is done
automatically, but it you can also steer it by setting
parameters. In this example the default mesh is
initialized and then uniformly refined. The fine mesh
contains 590 nodes and 1096 triangles.

Boundary conditions
Next you set the boundary conditions, u = 0 on the
inner frame, and u(x,y) = x^2 on the outer frame:

Solvers
The Finite Element Method discretization is
performed. Linear problems are solved by MATLAB's
internal solver. However, the soap bubble equation is
nonlinear, and you have to tell that to the solver. After
setting the nonlinear option among the Solve
parameters, the equations are discretized and solved.
A damped Gauss-Newton iterative is employed. Set
the Jacobian option to Full. While the solver works,
you can see the reduction of the residual in your
workspace window.

Boundary conditions dialog box.

10

-div( c21*grad(u) ) - div( c22*grad(v) ) + a21*u


+a22*v = f2
In this case, c11 = 1e+8./u(2,:), c22 = 400, and f2 =
1e+8./u(2,:).*(ux(1,:).^2+uy(2,:).^2).

The shape of the soap film


4.3 Electrical Heating
This is an example of a non-linear system of two
state-variables, electric potential u and temperature v,
in equilibrium.
An electric current passing through a metal will
produce heat. It is known that the electric conductivity
depends on the temperature of the conductor. Thus
the heat and current distributions are related to each
other.
The electric potential u satisfies the equation -div(
s*grad(u) )=0, where s=s(v) is a function of the
temperature v. The current density -s*grad(u)
produces heat at the rate s|u|^2. This is a source term
in the heat equation. Over a wide range of
temperatures, the electric conductivity is inverse
proportional to the temperature. The system of PDEs
modeling the electric and heat conductance is:
-div( s(v)*grad(u) ) = 0
-K*div( grad(v) ) = s(v)/|grad(u)|^2
Imagine a rectangular metal plate with a potential
difference of unit size applied on two opposite faces.
Those faces are at ``room'' temperature, 300 degrees
Kelvin. The other two faces are insulated.

Specification of a nonlinear system. u, ux, uy contain


two rows, one for each unknown.
Mesh generation and solving
One uniform refinement of the default original mesh
produce enough mesh-points (689 points in the unit
square). Next you have to set the options for the
solver. You have to tell the solver that the problem is
nonlinear and you can ``help'' by giving a good initial
guess of the solution. There are other parameters that
are used for fine-tuning the solver in specific cases,
and these should be used when the default values fail.
The default initial guess u=v=0 will fail because the
current density becomes infinite. You know the
temperature on two sides, so set u(2,:)=300. We also
know that the potential varies, e.g., from 0 to 1 in the
x-direction, so set u(1,:)=x.

A metal plate with an electric current heating it.


The geometry is very simple, a unit square. Select the
Generic system mode where you define the
boundary conditions end the equations.
Boundary conditions

Options in the nonlinear solver. Click to enlarge.

There are two kind of boundary conditions:


On the insulated sides, we select zero (default)
Neumann boundary conditions.
On the other two sides, we select Dirichlet boundary
conditions, setting the potentials r1 to 0 and 1, and the
temperature r2 to 300.

Pressing the solve-button starts the nonlinear


iterations (a damped Gauss-Newton iteration). The
nonlinear solver performs 17 steps to reduce the
residual to the specified tolerance. Using the full
approximation of the Jacobian, the solution is found
(up to the same tolerance) in only 4 steps. Since the
computing time for the full Jacobian is long, this
strategy should be used only for extremely tight
tolerances.

The Equation
The generic system is:
-div( c11*grad(u) ) - div( c12*grad(v) ) + a11*u
+a12*v = f1

11

The air cooling through the middle of the plate


produces a significant drop in the temperature. Note
the strong variations in the current density around the
cooling hole, which makes the problem genuinely
nonlinear.

4.4 . Stresses in a Wrench

Heating due to electric currents.


Using the plot preferences, you can put different
properties on the same image. The color scale is a
thermometer showing the heat distribution in the metal
plate. Note that the change in electric conductance is
not small.This means that the equation for the electric
potential $u$ cannot be uncoupled from the heat
equation.

In draw mode you create a Constructive Solid


Geometry model of the geometry. Different building
blocks can be combined using a set formula. The
picture on the right shows the Constructive Solid
Geometry model of a wrench.

Mixed Boundary conditions


Note that the middle section of the plate becomes
very hot. You can cool it by circulating ``room
temperature'' air through a hole. Carve out a circular
hole with diameter 0.2 in the center of the plate. At the
new boundary, the temperature u(2,:) is fixed again to
300 degrees Kelvin. Since this boundary is electrically
insulated, the current passing through it is zero, i.e. a
Neumann condition is needed. This is an example of
mixed Neumann-Dirichlet conditions. The Dirichlet
condition is expressed by the constraint
h*[0 1;1 0]*[u;v]=[300;0]

Define the boundary conditions by double clicking on


the boundary segments. You can select Dirichlet,
Neumann or mixed boundary conditions. Using the
Dirichlet boundary condition you clamp the "claw" part
of the wrench and with the Neumann boundary
condition you apply a downward force to the handle.

In mesh mode the geometry is automatically meshed.


The picture to the right shows the result of the
adaptive mesh refinement algorithm. The triangular
mesh has been refined the most where the variation in
stress is large.

Mixed Neumann-Dirichlet boundary conditions. The


electric potential satisfies a Neumann condition, while
the temperature is constrained by the Dirichlet
condition v=300.
The cooling effect is substantial. The maximum
temperature drops from 117 to 83 Celsius:

In plot mode you have an almost unlimited number of


plot options. The picture on the left shows the x
direction stresses visualized using contour and color
plots. The plot clearly shows tension (red) and
compression (dark blue) in different parts of the
wrench. The displacements are shown by the
distorted figure.

Cooling the heated plate.

12