Les équations aux dérivées partielles

Une dérivée partielle ! Voilà un type de dérivée qui n'est pas familier des lycéens ! Les élèves de prépa et de licence les ont déjà rencontré, et donc je n'insiste pas pour eux. Mais il me semble utile d'expliquer en quelques mots ce qu'est une dérivée partielle à mes lecteurs lycéens, d'autant que c'est moins compliqué que cela en à l'air si l'on en reste aux rudiments.

Les équations différentielles ordinaires

Fonctions à une variable

Au lycée, vous utilisez en physique des fonctions d'une seule variable, généralement de R dans R, qui s'écrivent y = f(x). Sous certaines conditions, ces fonctions admettent une ou plusieurs dérivées d'ordre 1 ou supérieur. Par exemple, considérons la fonction f(x) = x^2. Elle est définie partout sur R et admet une dérivée première y' = f'(x) = 2x.

Rappelons la définition de la dérivée d'une fonction en un point x0 de son domaine de définition, qui est \( f'(x_0) = \lim_{h \rightarrow 0} \dfrac{f(x_0 + h) - f(x_0)}{h} \). Cette définition est fondamentale, car elle sera aussi applicable pour les fonctions à plusieurs variables. Comme vous le savez, la dérivée d'une fonction en un point indique la variation que subit la variable en ce point, dit autrement la pente de sa tangente.

Les équations différentielles ordinaires

Nous les avons abordé dans la page EDO, à laquelle je vous renvoie. Signalons simplement qu'il s'agit d'équations dont les termes sont des dérivées d'ordre 1 ou plus de fonctions à une seule variable réelle, par exemple \(\dfrac{d^2 \theta}{dt^2} + \sin(\theta) = 0 \).

Fonctions à plusieurs variables et dérivées partielles

Les fonctions à plusieurs variables réelles

Au lieu de considérer une seule variable \( x\) dans \(\mathbb{R}\), considérons un ensemble de variables indépendantes \( x_1,x_2,..,x_n \) dans \(\mathbb{R}^n\). Une fonction à plusieurs variables est une application de \(\mathbb{R}^n\) dans \(\mathbb{R}\), telle que \( \forall (x_1,x_2,..,x_n) \: \exists y \: \in \mathbb{R}, y = f(x_1,x_2,..,x_n) \).

Dans la suite, nous allons considérer le cas d'une fonction à deux variables réelles de \(\mathbb{R}^2\) dans \(\mathbb{R}\), telle que \( z = f(x,y) \) en adoptant les notations habituelles.

La courbe représentative d'une fonction à deux variables est une surface 2D. Pour visualiser la chose, considérons la fonction \( z = f(x,y) = x^2 + y^2\), pour x variant entre 0 et 1 et y variant entre 0 et 1, tracée à l'aide du script EDPPython1.py :

Representation 2D

Je ne vais pas développer les mathématiques des fonctions à n variables. Vous les trouverez dans vos cours de prépa ou de licence. Sachez seulement que c'est important et qu'il est nécessaire de bien les comprendre.

Dans notre pratique de la physique, nous rencontrons ce genre de fonctions dans l'étude des champs électromagnétiques, gravitationnels ou autres champs scalaires, lorsque pour simplifier, on considérera un espace en 2D. Nous retrouverons des fonctions à deux variables dans l'étude de l'équation de Laplace ou de Poisson, par exemple.

Les dérivées partielles

Une approche intuitive

Reprenons notre fonction \( f(x,y) = x^2 + y^2 \) de \(\mathbb{R}^2\) dans \(\mathbb{R}\). On appelle applications partielles les deux fonctions f1 et f2 de \(\mathbb{R}\) dans \(\mathbb{R}\), obtenues en fixant une variable, x ou y, c'est à dire en la considérant comme constante. On aura donc f1(x) = f(x,y0) et f2(y) =(x0,y). Dans notre exemple, en les dérivant, cela nous donne \( f1'(x) = 2x \) et \( f2'(y) = 2y \).

On dira que la dérivée partielle de f(x,y) par rapport à x est égale à la dérivée f1'(x), en considérant y comme une constante. De même, la dérivée partielle de f(x,y) par rapport à y est égale à la dérivée f2'(y), en considérant x comme une constante . Ce que l'on notera \( \dfrac{\partial f(x,y)}{ \partial x} = 2x \) et \( \dfrac{\partial f(x,y)}{ \partial y} = 2y \).

Voyons ce que cela signifie géométriquement. Sur la surface représentative de notre fonction \( f(x,y) = x^2 + y^2 \), je choisis un point M0 de coordonnées (x0,y0) appartenant à la surface :

Representation 2D avec tangentes

Imaginons un plan xOz, qui passe par y = y0 et considérons la courbe (C1) formée par l'intersection de ce plan avec la surface représentative de notre fonction. Nous avons traduit géométriquement le fait de considérer la fonction f(x,y) pour y constant, ici égal à y0. Considérons maintenant la tangente à cette courbe (C1) au point M0 (x0,y0). Comme vous l'aurez deviné en vous souvenant de la définition géométrique de la dérivée d'une fonction à une variable, la pente de cette tangente est égale à la valeur de la dérivée de f(x,y0) en M0, soit la définition de la dérivée partielle \( \dfrac{\partial f(x,y)}{ \partial x} \).

Sur la figure, j'ai tracé la tangente pour y=y0 en vert. Elle indique la "pente" de la surface selon l'axe des x.

De la même manière, nous pouvons tracer la tangente à la courbe (C2) formée par l'intersection d'un plan yOz pour x=x0, en bleu sur la figure. La pente de cette tangente est égale à \( \dfrac{\partial f(x,y)}{ \partial y} \) en M0.

Ainsi, les dérivées partielles d'une fonction en un point M nous renseignent sur la "forme" de la surface en ce point.

Les dérivées partielles d'ordre n

Comme pour les dérivées d'une fonction à une variable, si la fonction f(x,y) l'admet (qu'elle soit dérivable d'ordre n), on peut définir des dérivées partielles d'ordre 2 et plus. Mais c'est un brin plus compliqué...

En effet, doit-on dériver selon la même variable ou bien peut-on changer de variable ? Prenons l'exemple de \( \dfrac{\partial f(x,y)}{ \partial x} \). Je peux la dériver selon x, ce qui me donne \( \dfrac{\partial}{\partial x}(\dfrac{\partial f(x,y)}{ \partial x}) = \dfrac{\partial^2 f(x,y)}{ \partial x^2} \), mais je peux également la dériver selon y, ce qui me donne \( \dfrac{\partial}{\partial y}(\dfrac{\partial f(x,y)}{\partial x}) = \dfrac{\partial^2 f(x,y)}{ \partial x \partial y} \). Evidemment, le résultat n'est pas équivalent : dans un premier cas \( \dfrac{\partial^2 f(x,y)}{ \partial x^2} = 2\) et dans le second cas \( \dfrac{\partial^2 f(x,y)}{ \partial x \partial y} = 0\) !

A ce sujet, il existe un théorème fondamental, très utile en physique, le théorème de Schwartz, qui dit que \( \dfrac{\partial^2 f(x,y)}{ \partial x \partial y} = \dfrac{\partial^2 f(x,y)}{ \partial y \partial x}\). Vous pouvez le vérifier sur notre exemple, et dans ce cas les deux dérivées partielles secondes sont nulles.

La différentielle totale

On appelle différentielle totale l'expression \( df(x,y) = \dfrac{\partial f(x,y)}{\partial x}dx + \dfrac{\partial f(x,y)}{\partial y} dy \), dx et dy étant respectivement les accrossements sur x et y.

Géométriquement, cela permet de calculer le passage d'un point M à un point M1 très proche de M sur la surface représentative. Plus généralement, cela permet d'étudier la variation de la fonction selon ses différentes variables.

Imaginons par exemple que je veuille étudier la variation du volume d'un cylindre en fonction des variations de sa hauteur et de son rayon. Nous savons (j'espère !) que \(V(r,h) = \pi r^2 h\). Sa différentielle totale \(dV = \dfrac{\partial V(r,h)}{\partial r}dr + \dfrac{\partial V(r,h)}{\partial h}dh \). En calculant les valeurs des dérivées partielles \(\dfrac{\partial V(r,h)}{\partial r} = 2 \pi rh \) et \(\dfrac{\partial V(r,h)}{\partial h} = \pi r^2 \), nous obtenons facilement une formule qui nous permet de calculer les variations de volume en fonction des variations de hauteur et de rayon : \(dV = 2 \pi rh dr + \pi r^2dh \).

Applications en physique

Les dérivées partielles se retrouvent dans toutes les définitions des opérateurs que l'on rencontre en physique. Nous reparlerons des opérateurs dans une autre page, en attendant, voyons la définition des principaux, dans un plan. Je vous donne ici les définitions en coordonnées cartésiennes. Si cela vous amuse, et nous le ferons plus tard, vous pouvez les transformer en coordonnées cylindriques ou sphériques.

Le gradient

C'est un vecteur attaché à un champ scalaire f(x,y), pour un champ surfacique. Le gradient est défini par \( \vec{grad} \: f = \dfrac{\partial f(x,y)}{\partial x}\vec{i} + \dfrac{\partial f(x,y)}{\partial y}\vec{j} \), les vecteurs i et j étant bien sur les vecteurs de base.

Une chose importante : calculez la circulation du vecteur \( \vec{grad} \: f \) sur un chemin élémentaire \( d\vec{OM}\), soit le produit scalaire \( \vec{grad} \: f . d\vec{OM}\). En respectant les règles de calcul du produit scalaire et en se souvenant que \( \vec{i} . \vec{i} = 1\) et \( \vec{j} . \vec{j} = 1\), nous obtenons l'égalité très utile \( \vec{grad} \: f . d\vec{OM} = df\), la différentielle totale de f(x,y) !

La divergence

L'opérateur de divergence s'applique à un champ de vecteurs. Il retourne un scalaire qui indique si la fonction en un point forme un puit ou une bosse, en fonction du signe de la divergence. Sa définition est assez simple : \( div \: \vec{u} = \dfrac{\partial u_x}{\partial x} + \dfrac{\partial u_y}{\partial y}\).

L'opérateur div est invariant par changement de référentiel. Physiquement, le signe de la divergence indique le caractére convergent (si > 0) ou divergent (si < 0) des lignes de champ en un point M(x,y).

Une petite remarque d'ordre pratique : les anglo-saxons notent l'opérateur divergence \(\nabla \vec{u}\), qui se lit "nabla u"

Le rotationnel

C'est un opérateur vectoriel, qui s'applique à un champ de vecteurs. Sa définition est plus compliquée que les opérateurs précédents puisque : \( \vec{rot} \: \vec{u} = (\dfrac{\partial u_z}{\partial y} - \dfrac{\partial u_y}{\partial z}).\vec{i} + (\dfrac{\partial u_x}{\partial z} - \dfrac{\partial u_z}{\partial x}).\vec{j} + (\dfrac{\partial u_y}{\partial x} - \dfrac{\partial u_x}{\partial y}).\vec{k} \).

Pas facile à retenir. Heureusement, on peut l'écrire sous la forme d'une matrice dont il serait le déterminant, la matrice étant: \( \left( \begin{array}{cc} \vec{i}&&\vec{j}&&\vec{k}\\ \dfrac{\partial}{\partial x}&&\dfrac{\partial}{\partial y}&&\dfrac{\partial}{\partial z}\\ u_x&&u_y&&u_z \end{array} \right) \).
C'est quand même un peu plus simple à retenir !

Vous avez noté que nous sommes passé en 3D. En effet, le rotationnel, comme le produit vectoriel, est un vecteur orthogonal au plan. Il est invariant par changement de référentiel. Son nom de "rotationnel" vient de son utilisation en mécanique des solides en rotation, sa formule décrivant la vitesse instantanée de rotation d'un solide. Nous verrons plus tard les caractéristiques importantes des champs de rotationnels.

Le laplacien

Jusqu'à présent, les opérateurs que nous avons vu (gradient, divergence et rotationnel) sont des opérateurs de premier ordre, qui ne font intervenir que des dérivées partielles d'ordre 1. Le laplacien est un opérateur de second ordre puisqu'il utilise des dérivées partielles d'ordre 2.

Il existe deux types de laplaciens :

L'opérateur laplacien est invariant par changement de référentiel. C'est aussi le seul opérateur de second ordre invariant par rotation. On le rencontrera dans de nombreuses équations de la physique, et en particulier dans la célèbre équation éponyme \( \Delta V = 0 \).

Le laplacien scalaire permet de comparer la valeur d'un champ scalaire en un point M à la valeur moyenne de ce champ au voisinage de ce point. Par exemple, s'il existe un maximum local en M alors \( \Delta V(M) < 0 \), s'il existe un minimum local en M, alors \( \Delta V(M) > 0 \). Très utile pour étudier les variations d'un champ...

Un exemple courant d'usage des dérivées partielles : le calcul d'incertitudes

Voyons une autre application intéressante des dérivées partielles, application que vous connaissez sans doute : le calcul des incertitudes. Vous avez manipulé des dérivées partielles sans le savoir, comme Monsieur Jourdain !

Notion de différentielle logarithmique

Vous avez déjà rencontré la notion de dérivée logarithmique d'une fonction à une variable réelle en terminale. Nous allons ici la généraliser à une fonction f(x,y) à plusieurs variables réelles.

La différentielle logarithmique est le rapport de la différentielle totale d'une fonction et de la fonction elle même, autrement dit le rapport df/f. Cela s'exprime simplement par \( d[ln|f(x,y)|] = \dfrac{df}{f} = \dfrac{1}{f}(\dfrac{\partial f}{\partial x}dx + \dfrac{\partial f}{\partial x}dy)\).

On retrouve, par construction, les propriétés des logarithmes. Si u(x,y) et v(x,y) sont deux fonctions à variables réelles, on a donc les propriétés suivantes:

Principe du calcul d'incertitude

Nous avons déjà abordé le sujet dans une page consacrée aux incertitudes et aux chiffres significatifs. Voyons maintenant le fondement mathématique du calcul des incertitudes.

Considérons une fonction f(x,y) qui dépend de deux variables réelles indépendantes. Nous avons vu que sa différentielle totale s'écrit \( df(x,y) = \dfrac{\partial f(x,y)}{\partial x}dx + \dfrac{\partial f(x,y)}{\partial y}dy \). Prenons la valeur absolue de chaque membre de cette équation: \( |df(x,y)| = |\dfrac{\partial f(x,y)}{\partial x}dx + \dfrac{\partial f(x,y)}{\partial y}dy| \). Et là, attention à la manipulation des valeurs absolues ! Il faut appliquer les inégalités de Cauchy-Schwarz, ce qui nous donne: \( |df(x,y)| = |\dfrac{\partial f(x,y)}{\partial x}dx + \dfrac{\partial f(x,y)}{\partial y}dy| \le |\dfrac{\partial f(x,y)}{\partial x}||dx| + |\dfrac{\partial f(x,y)}{\partial y}||dy|\).

Nous allons maintenant faire une opération de physiciens, de celles qui font l'ire des mathématiciens : nous allons approximer les élements différentiels dx et dy, censés être infiniment petits, par des \( \Delta x\) et \( \Delta y\), "très petits", ce qui est bien sur très différent ! Bref, nous allons majorer la différentielle totale comme suit : \( \Delta f = sup(df(x,y)) = |\dfrac{\partial f(x,y)}{\partial x}| \Delta x + |\dfrac{\partial f(x,y)}{\partial y}| \Delta y \). La grandeur \( \Delta f\) représente l'incertitude absolue commise sur la "mesure" de la fontion f(x,y).

Définissons maintenant l'incertitude relative commise sur une "mesure" de f(x,y). Nous considérerons donc le rapport \( \dfrac{df}{f}\), soit la différentielle logarithmique vue ci-dessus. En procédant de la même manière, j'obtient un majorant de l'incertitude relative \( \dfrac{\Delta f}{f} = \dfrac{1}{f}(|\dfrac{\partial f(x,y)}{\partial x}| \Delta x + |\dfrac{\partial f(x,y)}{\partial y}| \Delta y)\).

Appliquons ces résultats à un cas concret, le calcul du volume d'un cylindre par exemple, qui dépend du rayon du cylindre et de sa hauteur. La fonction qui nous permet de calculer son volume n'a pas changée : \(V(r,h) = \pi r^2 h\). Elle fait intervenir une puissance et un produit. Nous allons déterminer l'incertitude relative qui frappent le calcul de ce volume V(r,h), connaissant les incertitudes de mesures sur r et h.

Nous cherchons donc à évaluer le rapport \( \dfrac{\Delta V}{V} \), ce qui d'après la définition ci-dessus est égal à \( \dfrac{\Delta V}{V} = \dfrac{1}{V}(|\dfrac{\partial V(r,h)}{\partial r}| \Delta r + |\dfrac{\partial V(r,h)}{\partial h}| \Delta h) \). La dérivée partielle de V par rapport à r est \( \dfrac{\partial V(r,h)}{\partial r} = 2 \pi r h \) et la dérivée partielle de V par rapport à h est \( \dfrac{\partial V(r,h)}{\partial h} = \pi r^2 \). Si je remplace ces valeurs dans l'équation ci-dessus, en simplifiant j'obtiens \( \dfrac{\Delta V}{V} = 2\dfrac{\Delta r}{r} + \dfrac{\Delta h}{h} \) , ce qui est bien l'expression que vous connaissez...

Les équations aux dérivées partielles (EDP)

Qu'est-ce qu'une EDP

Forme générale d'une EDP

Après avoir abordé le sujet des dérivées partielles, voyons maintenant ce qu'est une équation qui met en jeu ces dérivées. Ici, nous ne verrons que des choses très générales. Je consacrerai plus tard plusieurs pages aux différentes EDP de la physique.

Comme pour les EDO, une équation aux dérivées partielles est une équation qui rassemble dans au moins un de ces membres au moins un dérivée partielle d'ordre 1 ou plus. Cette équation est supposée, sous certaines conditions, posséder une solution dans un domaine donné de l'espace.

Nous nous limiterons ici aux EDP liant des dérivées partielles d'une fonction f(x,t), sachant que ce qui est dit ci-dessous est généralisable. Je fais ce choix car ce sont les EDP que l'on rencontre le plus souvent en prépa et en licence. La forme générale d'une EDP avec second membre dans ce domaine est :
\( A\dfrac{\partial^2 f(x,t)}{\partial t^2} + 2B\dfrac{\partial^2 f(x,t)}{\partial x\partial t} + C\dfrac{\partial^2 f(x,t)}{\partial x^2} + D\dfrac{\partial f(x,t)}{\partial x} + E\dfrac{\partial f(x,t)}{\partial t} + Ff(x,t) = G \)

Familles d'EDP

Considérons l'équation algébrique formée par les coefficients des dérivées secondes \( Ay^2 + 2By + C = 0 \). En fonction de la valeur du discriminant \( B^2 - AC \) de cette équation, nous allons considérer trois familles d'EDP :

Il existe un autre critère relatif aux valeurs propres de la matrice des coefficients d'ordre 2 qui permet de distinguer les trois familles d'EDP. En établissant cette matrice et en calculant ses valeurs propres, vous retrouverez le même critère...

Chaque famille d'EDP possède ses caractéristiques et sa théorie propre. Nous citerons ci-dessous quelques membres éminents de chacune de ces familles.

Conditions aux limites

Lorsque nous voulons trouver une solution d'une EDO, nous sommes amenés à définir une ou plusieurs conditions initiales, en fonction de l'ordre de l'EDO. Dans le cas des EDP, nous définirons non seulement des conditions initiales, mais aussi les conditions aux limites du domaine de solution de l'EDP.

Les conditions aux limites, notées CL, peuvent prendre plusieurs formes, qui déterminent ce que les mathématiciens appellent des "problèmes". En physique, à notre niveau, nous en rencontrerons deux:

Mais le plus souvent, la physique impose un mélange des deux types de CL !

Présentation rapide des EDP rencontrées en physique

En physique, la modélisation d'un phénomène aboutit à une EDP dans le cas d'application de lois locales, par exemple en application des lois de Maxwell locales, ou bien lorsqu'on établit des bilans locaux de transport de matière ou d'énergie, par exemple pour le diffusion. C'est vous dire si elles sont fréquentes !

Les EDP hyperboliques

Un exemple ultra-classique d'équation hyperbolique :

Les EDP paraboliques

Citons les équations suivantes:

Les EDP elliptiques

Citons les équations suivantes:

EDP et calcul numérique

les méthodes

Sur le plan mathématique, les EDO et les EDP ne sont pas fondamentalement différentes. Par contre, les outils et méthodes pour les résoudre numériquement sont très différents ! Il existe deux grandes familles de méthodes : les méthodes aux différences finies (FDM en anglais) et les méthodes aux élements finis (FEM en anglais).

Dans les méthodes aux différences finies, le principe général est d'approximer les dérivées partielles par leur développement limité. On aboutit à des schémas qui relèvent du calcul matriciel, ce qui fait que ces méthodes sont très consommatrices d'algèbre linéaire. Sur TangenteX.com, je me limiterai à ces méthodes, que je décrirai brièvement dans cette page.

A titre d'exemple, tiré de la page traitant de l'équation de la chaleur, voilà une surface solution d'une EDP parabolique résolue par une méthode FDM, un schéma FTCS pour être plus précis:

Schéma FTCS

Le principe des méthodes aux éléments finis est très différent. Il s'agit là d'approximer la solution générale de l'EDP par une combinaison linéaire de fonctions de base, facilement intégrable (trigo, expo, polynomes). La solution est exprimée sous la forme d'une matrice de combinaisons linéaires de fonctions de base, ce qui ramène encore à des problèmes d'algèbre linéaire.

Ce sont les méthodes FEM qui sont généralement employées dans l'industrie et la recherche car elles sont plus performantes et plus précises. Il existe d'ailleurs des produits très performants qui exploitent ces méthodes, comme COMSOL Multiphysics par exemple. Python possède aussi un package de résolution des EDP par éléments finis (SfePy), mais son étude dépasse le cadre de notre site.
Néanmoins, l'étude des méthodes FDM est très formatrice et permet d'aborder des problèmes intéressants dans tous les domaines de la physique : mécanique, électromagnétisme, mécanique quantique, thermodynamique, etc... Nous les aborderons sur des exemples particuliers comme l'équation de la chaleur ou l'équation de Laplace.

Les difficultés

Pour résoudre une EDO, nous avons l'habitude de découper notre espace unidimensionnel en 100 points voire en 1000 points. Si l'on fait la même chose sur une surface dans le cas d'une EDP 2D, cela nous conduit à calculer 100*100 soit 10^4 variables ou 10^6 variables ! Vous imaginez la taille du système linéaire dans la plupart des calculs de résolution d'EDP...

Autre difficulté de nature géométrique : la géométrie d'une surface 2D, sans parler d'un volume, peut être considérablement compliquée, ce qui peut imposer un maillage très resserré en certaines régions de cette surface, si l'on veut obtenir une précision raisonnable. Il faut donc prévoir des maillages à pas variable, ce qui ne simplifie pas les choses! Heureusement, les librairies professionnelles de calcul des EDP se débrouillent en général avec ce genre de problème.

Dans les exemples que nous aborderons sur TangenteX.com, nous resterons gentillement sur des cas simples, mais néanmoins instructifs.

Les scripts Python

Les scripts Python étudiés dans cette page sont disponibles dans le package EDPPython.zip :


Contenu et design par Dominique Lefebvre - www.tangenteX.com février 2016    Licence Creative Commons    Contact : PhysiqueX ou

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France.