CoCalc Public FilesStokes.sagewsOpen with one click!
Author: Juan Carlos Bustamante
Views : 42
Compute Environment: Ubuntu 18.04 (Deprecated)
%md ## Théorème (de Stokes) : Soit $\mathcal{S}$ une surface orientée (de normal $\vec{n}$, lisse par morceaux, dont le bord est une courbe $\mathcal{C}$, simple, fermée, orientée positivement (orientation induite par celle de $\mathcal{S}$. Soit en plus $\vec{F}$ un champ de vecteurs de classe $C^1$ sur une région ouverte contenant $\mathcal{S}$ et son bord $\mathcal{C}$. Alors $\displaystyle \oint_{\mathcal{C}} \vec{F}\cdot d\vec{r} = \iint_\mathcal{S} \nabla \times \vec{F} \cdot d\vec{S}$.

Théorème (de Stokes) :

Soit S\mathcal{S} une surface orientée (de normal n\vec{n}, lisse par morceaux, dont le bord est une courbe C\mathcal{C}, simple, fermée, orientée positivement (orientation induite par celle de S\mathcal{S}. Soit en plus F\vec{F} un champ de vecteurs de classe C1C^1 sur une région ouverte contenant S\mathcal{S} et son bord C\mathcal{C}. Alors CFdr=S×FdS\displaystyle \oint_{\mathcal{C}} \vec{F}\cdot d\vec{r} = \iint_\mathcal{S} \nabla \times \vec{F} \cdot d\vec{S}.

Exemple 1

Soit S\mathcal{S} la partie de la surface x2+y2+z2=0x^2+y^2+z^2=0 avec z0z\geq 0, et F=yıxȷ+0k\vec{F} = y\vec{\imath} -x\vec{\jmath} + 0\vec{k}. Calculer CFdr\displaystyle \oint_{\mathcal{C}} \vec{F}\cdot d\vec{r}.

  • L'intégrale de ligne : le bord de S\mathcal{S} est le cercle C:x2+y2=9\mathcal{C} : x^2+y^2=9 (voir figure ci-bas). Une paramétrisation est (x(t),y(t))=(3cost,3sint)(x(t),y(t))=(3\cos{t},3\sin{t}) avec t[0,2π]t\in[0,2\pi]. Ainsi dr=(3sint,3cost)dt=(y(t),x(t))dtd\vec{r} = (-3\sin{t},3\cos{t})dt = (-y(t),x(t))dt. Ceci conduit directement à: CFdr=02π(y(t),x(t))(y(t),x(t))dt=02π ⁣y(t)2x(t)2dt=02π9dt=18π\oint_{\mathcal{C}} \vec{F}\cdot d\vec{r}= \int_{0}^{2\pi} (y(t), -x(t)) \cdot (-y(t),x(t)) dt = \int_0^{2\pi}\! -y(t)^2- x(t)^2 dt= \int_0^{2\pi} -9dt = -18 \pi

  • L'intégrale de surface : On calcule ×F=2k\nabla \times \vec{F} = -2\vec{k}. Par ailleurs, si on pose g(x,y,z)=x2+y2+z2g(x,y,z)=x^2+y^2+z^2, la surface S\mathcal{S} est la surface de niveau g=9g=9. Un vecteur normal unitaire pour S\mathcal{S} est donc n=gg=13(x,y,z)\displaystyle \vec{n} = \frac{\nabla g}{|\nabla g|} = \frac{1}{3}(x,y,z). On projette S\mathcal{S} sur le plan OxyOxy, qui a le vecteur normal k\vec{k}, de sorte que dA=ggkdA=3zdAd A = \frac{\nabla g}{|\nabla g \cdot \vec{k}|} dA = \frac{3}{z} dA où l'on autilisé le fait que l'on se trouve sur la sphère. Ainsi FndS=2dA\nabla \vec{F} \cdot \vec{n} dS = -2dA, et le résultat suit immédiatement.

On remarquera le signe du résultat, et on comparera avec la figure.

var('x,y,z,r,t') Champ=plot_vector_field3d([y,-x,0],(x,-3,3),(y,-3,3),(z,0,3), center_arrows=False) S=parametric_plot3d([r*cos(t),r*sin(t),sqrt(9-r^2)],(t,0,2*pi),(r,0,3),color='lightgreen',opacity=0.45) C=parametric_plot3d([3*cos(t),3*sin(t),0],(t,0,2*pi),color='red',thickness=3) show(S+C+Champ,aspect_ratio=[1,1,1])
(x, y, z, r, t)
3D rendering not yet implemented

Exemple 2:

Calculer CFdr\displaystyle \oint_{\mathcal{C}}\vec{F}\cdot d\vec{r}F=(x2z,xy2,z2)\vec{F}=(x^2z,xy^2,z^2) et C\mathcal{C} est la courbe d'intersection du cylindre x2+y2=9x^2+y^2=9 et le plan x+y+z=1x+y+z=1, orientée dans le sens contraire des aiguilles d'une montre lorsque vue d'en haut.

Le vecteur normal au plan est n=13(1,1,1)\vec{n}= \frac{1}{\sqrt{3}}(1,1,1). Par ailleurs, on calcule facilement ×F=(0,x2,y2)\nabla\times \vec{F} = (0,x^2,y^2), de sorte que ×Fn=13(x2+y2)\nabla\times \vec{F} \cdot \vec{n} = \frac{1}{\sqrt{3}}(x^2+y^2). Ainsi CFdr=S13(x2+y2)dσ=x2+y29x2+y2dA=02π03r3,dr,dθ=81π2\oint_{\mathcal{C}}\vec{F}\cdot d\vec{r} = \int_\mathcal{S} \frac{1}{\sqrt{3}}(x^2+y^2) d\sigma = \iint_{x^2+y^2\leq 9} x^2+y^2 dA = \int_{0}^{2\pi}\int_{0}^3 r^3, dr, d\theta = \frac{81\pi}{2} où on a effectué un passage en coordonnées polaires pour évaluer l'intégrale double.

Il faut bien noter que de paramétriser la surface dès le début eut été possible, mais pas tellement astucieux. En effet cela aurait conduit à des calculs relativement ardus, mais inutilement. On aurait du utiliser les coordonnées polaires très tôt, et le seul effet obtenu aurait été de complexifier le calcul du diffŕentiel. Voir ci bas, pour voir la paramétrisation de la surface.

var('x,y,z,r,t') Plan=parametric_plot3d([x,y,1-x-y],(x,-3.5,3.5),(y,-3.5,3.5),color='blue',opacity=0.15) S=parametric_plot3d([r*cos(t),r*sin(t),1-r*cos(t)-r*sin(t)],(t,0,2*pi),(r,0,3),color='blue',opacity=0.75) Cyl=parametric_plot3d([3*cos(t),3*sin(t),z],(t,0,2*pi),(z,-6,7),color='red',opacity=0.25) C=parametric_plot3d([3*cos(t),3*sin(t),1-3*cos(t)-3*sin(t)],(t,0,2*pi),color='red',thickness=3) show(S+C+Plan+Cyl,aspect_ratio=[1,1,1])
(x, y, z, r, t)
3D rendering not yet implemented
2f24b166-d375-4061-84ed-9bac7be72e79