SharedChampsEtRotationnel.sagewsOpen in CoCalc
Author: Juan Carlos Bustamante
Views : 62

Le rotationnel d'un champ de vecteurs

Définition : Étant donné un champ de vecteurs F=Pe1+Qe2+Re3\mathbf{F}=P\mathbf{e}_1+Q\mathbf{e}_2+R\mathbf{e}_3, son rotationnel est le champ de vecteurs rotF=×F=(RyQz)e1+(PzRx)e2+(QxPy)e3{\rm rot}\mathbf{F} = \nabla \times\mathbf{F} = \left(\frac{\partial R }{\partial y} - \frac{\partial Q }{\partial z } \right)\mathbf{e}_1 + \left(\frac{\partial P }{\partial z} - \frac{\partial R}{\partial x} \right) \mathbf{e}_2+ \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right)\mathbf{e}_3

La signification physique du champ rotationnel est la mesure que F\mathbf{F} aurait à faire tourner des particules, s'il était un champ de vitesses : si u\mathbf{u} est un vecteur donné, le produit scalaire rotFu{\rm rot}\mathbf{F}\cdot\mathbf{u} au point (x0,y0,z0)(x_0,y_0,z_0) est la mesure de la tendence à faire des tourbillons autour de l'axe de rotation passant par (x0,y0,z0)(x_0,y_0,z_0) de direction u\mathbf{u}. En 3D il est (un peu) compliqué de visualiser les choses, il convient de commencer par des champs F=Pe1+Qe2\mathbf{F}=P\mathbf{e}_1+Q\mathbf{e}_2, c'est à dire en faisant R=0R=0, et P=P(x,y),Q=Q(x,y)P=P(x,y), Q=Q(x,y). Ainsi, seule la coposante e3\mathbf{e}_3 du rotationnel est non nulle.

%typeset_mode True var('x,y,z') def rot3d(F): assert(len(F) == 3) return vector([diff(F[2],y)-diff(F[1],z), diff(F[0],z)-diff(F[2],x), diff(F[1],x)-diff(F[0],y)])
(x\displaystyle x, y\displaystyle y, z\displaystyle z)
F=[sin(y),cos(x)] F3D=[F[0],F[1],0] k=vector([0,0,1]) cmsel = [colormaps['Greens'](i) for i in sxrange(0,1,0.05)] Zrot=plot3d(rot3d(F3D).dot_product(k) ,(x,-3*pi/2,3*pi/2),(y,-3*pi/2,3*pi/2),adaptive=True, color=cmsel) html('Le champ $F$ avec 3 composantes :') F3D html('La rotationnel du champ $F$ (vu comme ayant 3 composantes) est') rot3d(F3D)
Le champ FF avec 3 composantes :
[sin(y)\displaystyle \sin\left(y\right), cos(x)\displaystyle \cos\left(x\right), 0\displaystyle 0]
La rotationnel du champ FF (vu comme ayant 3 composantes) est
(0,0,cos(y)sin(x))\displaystyle \left(0,\,0,\,-\cos\left(y\right) - \sin\left(x\right)\right)
Champ=plot_vector_field(F,(x,-3*pi/2,3*pi/2),(y,-3*pi/2,3*pi/2),color='blue', ticks=[pi/2,pi/2], tick_formatter=[pi,pi], title = "Champ F") show(Champ,figsize=7,aspect_ratio=1)

On voit bien qu'il y a, à certains endroits une tendance à faire un tourbillon. Le rotationnel est non nul en ces points.

  • Au point (π/2,0)(\pi/2,0) il vaut 2-2, ce qui reflète qu'au tour de ce point le sens du tourbillon est celui des aiguilles d'une montre.
  • Au contraire, en (π/2,π)(-\pi/2,\pi), la composante du rotationnel est 22. En ce point, le tourbillon tourne en sens horaire.
  • Que se passe-t-il sur les droites y=x±π/2y=x\pm \pi/2.
  • Remarquez que les points les plus hauts de la surface correspondent aux points ou le tourbillon est plus intense dans la figure représentant le champ.
  • À l'opposé, les points les plus bas correspondent à un tourbillon "intense" dans le sens horaire.
html('La surface ayant pour équation z = ') rot3d(F3D).dot_product(k) show(Zrot,aspect_ratio=1)
La surface ayant pour équation z =
cos(y)sin(x)\displaystyle -\cos\left(y\right) - \sin\left(x\right)
3D rendering not yet implemented
rot3d(F3D).dot_product(k)
cos(y)sin(x)\displaystyle -\cos\left(y\right) - \sin\left(x\right)

Remarquez la valeur du rotationnel (plus la couleur verte est foncée, plus la valeur (de la composante zz) du rotationnel est élevée)). Comparez avec la propension à faire des tourbillons.

Champ=plot_vector_field(F,(x,-3*pi/2,3*pi/2),(y,-3*pi/2,3*pi/2),color='blue', ticks=[pi/2,pi/2], tick_formatter=[pi,pi], title = "Champ F") Zrot2d = contour_plot(rot3d(F3D).dot_product(k) ,(x,-3*pi/2,3*pi/2),(y,-3*pi/2,3*pi/2), cmap= "Greens", fill = True, colorbar = True, labels = False, contours = 15) show(Champ,figsize=6,aspect_ratio=1) show(Zrot2d,figsize=6,aspect_ratio=1)