︠3c39f3d8-e058-4254-a670-8ce5a07ba5efi︠
%md
# MAT-298 Calcul vectoriel
## Le rotationnel d'un champ de vecteurs
Définition : Étant donné un champ de vecteurs $\mathbf{F}=P\mathbf{i}+Q\mathbf{j}+R\mathbf{k}$, son rotationnel est le champ de vecteurs $${\rm rot}\mathbf{F} = \nabla \times\mathbf{F} = \left(\frac{\partial R }{\partial y} - \frac{\partial Q }{\partial z } \right)\mathbf{i} + \left(\frac{\partial P }{\partial z} - \frac{\partial R}{\partial x} \right) \mathbf{j}+ \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right)\mathbf{k}$$
La signification physique du champ rotationnel est la mesure que $\mathbf{F}$ aurait à faire tourner des particules, s'il était un champ de vitesses : si $\mathbf{u}$ est un vecteur donné, le produit scalaire ${\rm rot}\mathbf{F}\cdot\mathbf{u}$ au point $(x_0,y_0,z_0)$ est la mesure de la tendence à faire des tourbillons autour de l'axe de rotation passant par $(x_0,y_0,z_0)$ de direction $\mathbf{u}$. En 3D il est (un peu) compliqué de visualiser les choses, il convient de commencer par des champs $\mathbf{F}=P\mathbf{i}+Q\mathbf{j}$, c'est à dire en faisant $R=0$, et $P=P(x,y), Q=Q(x,y)$. Ainsi, seule la coposante $\mathbf{k}$ du rotationnel est non nulle.
SAGE ne possède pas de commande intégrée pour calculer le rotationnel d'un champ, mais ce n'est pas dur d'en faire une (il faut tenir compte du fait que certaines personnes commencent à compter à 0).
︡d972d8da-d37f-40dc-9e12-5edcca651ed5︡{"done":true,"md":"# MAT-298 Calcul vectoriel\n## Le rotationnel d'un champ de vecteurs\nDéfinition : Étant donné un champ de vecteurs $\\mathbf{F}=P\\mathbf{i}+Q\\mathbf{j}+R\\mathbf{k}$, son rotationnel est le champ de vecteurs $${\\rm rot}\\mathbf{F} = \\nabla \\times\\mathbf{F} = \\left(\\frac{\\partial R }{\\partial y} - \\frac{\\partial Q }{\\partial z } \\right)\\mathbf{i} + \\left(\\frac{\\partial P }{\\partial z} - \\frac{\\partial R}{\\partial x} \\right) \\mathbf{j}+ \\left(\\frac{\\partial Q}{\\partial x} - \\frac{\\partial P}{\\partial y} \\right)\\mathbf{k}$$\n\nLa signification physique du champ rotationnel est la mesure que $\\mathbf{F}$ aurait à faire tourner des particules, s'il était un champ de vitesses : si $\\mathbf{u}$ est un vecteur donné, le produit scalaire ${\\rm rot}\\mathbf{F}\\cdot\\mathbf{u}$ au point $(x_0,y_0,z_0)$ est la mesure de la tendence à faire des tourbillons autour de l'axe de rotation passant par $(x_0,y_0,z_0)$ de direction $\\mathbf{u}$. En 3D il est (un peu) compliqué de visualiser les choses, il convient de commencer par des champs $\\mathbf{F}=P\\mathbf{i}+Q\\mathbf{j}$, c'est à dire en faisant $R=0$, et $P=P(x,y), Q=Q(x,y)$. Ainsi, seule la coposante $\\mathbf{k}$ du rotationnel est non nulle.\n\n\nSAGE ne possède pas de commande intégrée pour calculer le rotationnel d'un champ, mais ce n'est pas dur d'en faire une (il faut tenir compte du fait que certaines personnes commencent à compter à 0)."}
︠807be751-c1d0-4f4e-aa8d-ff4b103c63ads︠
%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)])
︡b95fcab2-1ad0-4c80-86e6-f9425e9b3a59︡{"html":"
($\\displaystyle x$, $\\displaystyle y$, $\\displaystyle z$)
"}︡{"done":true}︡
︠e32c61c5-1ebb-414e-b5b3-1e68655d5d19si︠
F=[sin(y),cos(x)]
F3D=[F[0],F[1],0]
k=vector([0,0,1])
cmsel = [colormaps['Blues'](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('La champ $F$ considéré comme ayant 3 composantes :')
F3D
html('La rotationnel du champ $F$ (vu comme ayant 3 composantes) est')
rot3d(F3D)
︡c60c86b0-40e6-4a1e-8885-328e9e4147e9︡{"html":"La champ $F$ considéré comme ayant 3 composantes :"}︡{"html":"[$\\displaystyle \\sin\\left(y\\right)$, $\\displaystyle \\cos\\left(x\\right)$, $\\displaystyle 0$]
"}︡{"html":"La rotationnel du champ $F$ (vu comme ayant 3 composantes) est"}︡{"html":"$\\displaystyle \\left(0,\\,0,\\,-\\cos\\left(y\\right) - \\sin\\left(x\\right)\\right)$
"}︡{"done":true}︡
︠f959c996-9a27-4131-8c8e-f771bbb4ba03s︠
︡97971dfc-26c8-4abf-953a-cdaa6b3e4829︡{"done":true}︡
︠7bd9f52e-ea1f-4969-8257-a0ea52a9ddaas︠
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=6,aspect_ratio=1)
︡193d9f66-967f-403f-b989-402aec03f292︡{"file":{"filename":"/home/user/.sage/temp/project-b317db30-e79c-4087-a881-6ba4c99c270b/242/tmp_h6dXoU.svg","show":true,"text":null,"uuid":"1bf50418-2ca1-4d8e-81cf-5777b45f4566"},"once":false}︡{"done":true}︡
︠b0c67273-dc88-4cc8-b4a0-f19ae6958c78︠
︡ec47d767-63b8-485e-991d-4bb4957119e2︡
︠a174501a-0ca6-403e-9a60-39070c4810c2i︠
%md
On voit bien qu'il y a, à certains endroits une tendance à faire un tourbillon. Le rotationnel est non nul en ces points.
- Au point $(\pi/2,0)$ il vaut $-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 $(-\pi/2,\pi)$, la composante du rotationnel est $2$. En ce point, le tourbillon tourne en sens horaire.
- Que se passe-t-il sur les droites $y=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.
︡ebf2c37d-8202-4ccb-91d8-316031a4ec6d︡{"done":true,"md":"On voit bien qu'il y a, à certains endroits une tendance à faire un tourbillon. Le rotationnel est non nul en ces points.\n\n- Au point $(\\pi/2,0)$ il vaut $-2$, ce qui reflète qu'au tour de ce point le sens du tourbillon est celui des aiguilles d'une montre.\n- Au contraire, en $(-\\pi/2,\\pi)$, la composante du rotationnel est $2$. En ce point, le tourbillon tourne en sens horaire.\n- Que se passe-t-il sur les droites $y=x\\pm \\pi/2$.\n- 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.\n- À l'opposé, les points les plus bas correspondent à un tourbillon \"intense\" dans le sens horaire."}
︠3a89c675-6c02-4a2b-bea4-c632ac512a1cs︠
html('La surface ayant pour équation z = ')
rot3d(F3D).dot_product(k)
show(Zrot,aspect_ratio=1)
︡7e3defb3-b3ce-45e6-9d90-42007b8b970a︡{"html":"La surface ayant pour équation z = "}︡{"html":"$\\displaystyle -\\cos\\left(y\\right) - \\sin\\left(x\\right)$
"}︡{"file":{"filename":"73a8415e-58a6-4edf-96a8-94832e339c05.sage3d","uuid":"73a8415e-58a6-4edf-96a8-94832e339c05"}}︡{"done":true}︡
︠774a18a9-a157-46be-a87b-48c3785d5048︠
︠5a30d59a-2035-4107-ab7b-c0840045f6f1︠