{"cells":[{"cell_type":"markdown","source":["\"Licencia
Python en ciencias e ingeniería: tutoriales basados en ejemplos por Sergio Gutiérrez Rodrigo y Adrián Navas Montilla se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional."],"metadata":{"id":"ZyYxarWXICGB"}},{"cell_type":"markdown","source":["---\n","Programa de Recursos en Abierto en la UZ (2022)\n","\n","**Python en ciencias e ingeniería: tutoriales basados en ejemplos**\n","---\n","Universidad de Zaragoza\n","---\n","*PRAUZ-739*\n"],"metadata":{"id":"cU67irCkAoSz"}},{"cell_type":"markdown","metadata":{"id":"N6JfZSJ8QwIZ"},"source":["##
Introducción: cálculo vectorial utilizando Jupyter Notebook
\n","\n","\n","-----------------------------------------\n"]},{"cell_type":"markdown","metadata":{"id":"aSiy-1OfbMrP"},"source":["Esto es un cuaderno interactivo donde podemos añadir celdas de texto (como esta), o celdas de código (como la celda inferior). Las celdas de texto permiten escribir texto con *distintos* **formatos** y ecuaciones como esta:\n","$$c=a·b$$\n","Para editar una celda de texto basta con hacer doble click en ella. Las celdas de código permiten ejecutar código en lenguaje Python, por ejemplo, podemos asignar valores a las variables $a$ y $b$ de la fórmula anterior y calcular $c$, como si de una calculadora de tratara:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":24,"status":"ok","timestamp":1664136793546,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"Pq0rCsdx87t1","outputId":"dbafccee-4479-42ba-e807-bc5122baab1b"},"outputs":[{"output_type":"stream","name":"stdout","text":["El resultado de a*b es: 6.0\n"]}],"source":["a= 2.0\n","b= 3.0\n","c=a*b\n","\n","print(\"El resultado de a*b es:\",c) #la función print() permite mostrar \n"," #por pantalla texto y variables numéricas o simbólicas"]},{"cell_type":"markdown","metadata":{"id":"NOWzXk4i9GSx"},"source":["Lo primero que debemos hacer es cargar las librerías necesarias de Python. Como vamos a trabajar con cálculo simbólico y numérico cargaremos las librerías ```sympy``` y ```numpy```. Además, para hacer representaciones gráficas cargaremos la librería ```matplotlib```. En la siguiente celda de código se cargan estas librerías:"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"GfNcnO-_8dyB"},"outputs":[],"source":["from sympy import * # Librería para trabajo simbólico\n","import numpy as np # Librería para cálculo numérico\n","import math # Librería para utilizar símbolos matemáticos \n"," # como el número pi, que se escribe como math.pi\n","import matplotlib.pyplot as plt # Librería para poder dibujar gráficas\n","from IPython.display import display"]},{"cell_type":"markdown","metadata":{"id":"0mlYjcnOH9eD"},"source":["### Aprendiendo a trabajar con vectores"]},{"cell_type":"markdown","metadata":{"id":"ZcT6ERtqAANY"},"source":["Para definir un vector utilizaremos el comando ```Matrix()```. Vamos a definir dos vectores $\\vec{\\mathbf{u}}=(1,2,0)$ y $\\vec{\\mathbf{v}}=(3,3,1)$ de 3 componentes:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":147},"executionInfo":{"elapsed":745,"status":"ok","timestamp":1664136797350,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"7k113VZQ-4II","outputId":"9273f17d-745b-484d-bd4d-521a2d13c428"},"outputs":[{"output_type":"stream","name":"stdout","text":["El vector u es:\n"]},{"output_type":"display_data","data":{"text/plain":["Matrix([[1, 2, 0]])"],"text/latex":"$\\displaystyle \\left[\\begin{matrix}1 & 2 & 0\\end{matrix}\\right]$"},"metadata":{}},{"output_type":"stream","name":"stdout","text":["Sus componentes son: 1 2 0\n","\n","El vector v es:\n"]},{"output_type":"display_data","data":{"text/plain":["Matrix([[3, 3, 1]])"],"text/latex":"$\\displaystyle \\left[\\begin{matrix}3 & 3 & 1\\end{matrix}\\right]$"},"metadata":{}},{"output_type":"stream","name":"stdout","text":["Sus componentes son: 3 3 1\n"]}],"source":["u=Matrix([[1,2,0]])\n","v=Matrix([[3,3,1]])\n","\n","print(\"El vector u es:\")\n","display(u)\n","print(\"Sus componentes son:\",u[0],u[1],u[2])\n","\n","print(\"\\nEl vector v es:\")\n","display(v)\n","print(\"Sus componentes son:\",v[0],v[1],v[2])"]},{"cell_type":"markdown","metadata":{"id":"S11CikFTBJ9u"},"source":["Podemos realizar facilmente el **producto escalar** entre ellos:\n","\n","$$w=\\vec{\\mathbf{u}}\\cdot\\vec{\\mathbf{v}}=(u_1,u_2,u_3)·\\left(\\begin{array}{c}\n","v_1\\\\\n","v_2\\\\\n","v_3\n","\\end{array}\n","\\right)=u_1v_1+u_2v_2+u_3v_3=1·3+2·3+0·3=9$$\n","\n","de la siguiente manera:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":309,"status":"ok","timestamp":1664136802454,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"GSvXze0lBOhr","outputId":"afc77e36-41d1-4272-eccd-eb3582ebdc81"},"outputs":[{"output_type":"stream","name":"stdout","text":["El producto escalar es:\n","9\n"]}],"source":["w=u.dot(v) #significa u multiplicado escalarmente por v\n","print(\"El producto escalar es:\")\n","print(w)"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":12,"status":"ok","timestamp":1664136804414,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"eb1MGWDQ8XMo","outputId":"4355dc01-10a5-43c5-aec6-403f0c2998cd"},"outputs":[{"output_type":"stream","name":"stdout","text":["(1, 3) (3, 1)\n","El producto escalar es:\n","[[9]]\n"]}],"source":["import numpy as np\n","u2=np.array(u)\n","v2=np.array(v)\n","v2=np.reshape(v2,(3,1))\n","print(u2.shape,v2.shape)\n","w2=u2@v2\n","print(\"El producto escalar es:\")\n","print(w2)"]},{"cell_type":"markdown","metadata":{"id":"DhHgH6DzK1sO"},"source":["Observando que el producto vectorial da como resultado un **escalar**, ya que:\n","\n","$$w=\\vec{\\mathbf{u}}\\cdot\\vec{\\mathbf{v}}=\n","|\\vec{\\mathbf{u}}| |\\vec{\\mathbf{v}}| \\cos \\theta$$\n","\n","donde $\\theta$ es el ángulo entre los vectores.\n"]},{"cell_type":"markdown","metadata":{"id":"kgFlQ8WoD41g"},"source":["También podemos calcular el **producto vectorial** \n","\n","$$\\vec{\\mathbf{w}}=\\vec{\\mathbf{u}}\\times\\vec{\\mathbf{v}}=\\left(\n","\\begin{array}{c}\n","u_2v_3-v_2u_3\\\\\n","v_1u_3-u_1v_3\\\\\n","u_1v_2-v_1u_2\n","\\end{array}\n","\\right)=\\left(\n","\\begin{array}{c}\n","2·1-3·0\\\\\n","3·0-1·1\\\\\n","1·3-3·2\n","\\end{array}\n","\\right)\n","$$\n","\n"," de la siguiente manera:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":56},"executionInfo":{"elapsed":15,"status":"ok","timestamp":1664136807944,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"sNgCIWX4BK0M","outputId":"03ac00ce-a6c5-4276-87d6-c51b7e3dcecd"},"outputs":[{"output_type":"stream","name":"stdout","text":["El producto vectorial es:\n"]},{"output_type":"display_data","data":{"text/plain":["Matrix([[2, -1, -3]])"],"text/latex":"$\\displaystyle \\left[\\begin{matrix}2 & -1 & -3\\end{matrix}\\right]$"},"metadata":{}}],"source":["w=u.cross(v) #significa u multiplicado vectorialmente por v\n","print(\"El producto vectorial es:\")\n","display(w)"]},{"cell_type":"markdown","metadata":{"id":"fLBPfIzYHkDv"},"source":["Observando que el producto vectorial da como resultado un **vector**. Recordad que la dirección de $\\vec{\\mathbf{w}}$ será la del vector ortogonal a los vectores $\\vec{\\mathbf{u}}$ y $\\vec{\\mathbf{v}}$ según la regla de la mano derecha:\n","\n"," \n"]},{"cell_type":"markdown","metadata":{"id":"JCBnz5YbHtT5"},"source":["### Introducción al cálculo diferencial con funciones de varias variables: gradiente"]},{"cell_type":"markdown","metadata":{"id":"VEl6BE5sVV-W"},"source":["En este apartado vamos a aprender a definir funciones, calcular sus derivadas, etc. Consideremos la siguiente función correspondiente a un campo escalar de potencial electrostático en 2 dimensiones:\n","\n","$$ ϕ(x,y) = x^2 + y^2 + 10 $$\n"]},{"cell_type":"markdown","metadata":{"id":"Qzy_kkCCQwIa"},"source":["Las variables $x$ e $y$ de las que depende la función debemos declararlas como variables simbólicas, ya que todavía no les hemos asignado un valor numérico\n"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"RD95nI8bOUBN"},"outputs":[],"source":["x,y=symbols('x y') #Declaramos x e y como variable simbólica: \n"," #nos permite \"arrastrarla\" como un símbolo hasta que decidamos darle valor."]},{"cell_type":"markdown","metadata":{"id":"8AvbXS2GOUXV"},"source":["Para definir la función $\\phi(x,y)$ haremos lo siguiente:"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"pMFLnRC7QwIb"},"outputs":[],"source":["def phi(x,y): \n"," return x**2+y**2+10"]},{"cell_type":"markdown","metadata":{"id":"jyk2UBpkamnI"},"source":["Y para evaluarla en un punto (p. ej en $x=1.7$ y $y=1.5$), podemos hacerlo de dos maneras distintas:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":294,"status":"ok","timestamp":1664136815303,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"m5wwc2ycapRH","outputId":"14632466-bc7d-4a23-afb5-ba5e221114b5"},"outputs":[{"output_type":"stream","name":"stdout","text":["15.14\n","15.1400000000000\n"]}],"source":["#Opcion 1\n","print(phi(1.7,1.5))\n","#Opcion 2\n","print(phi(x,y).subs([(x,1.7),(y,1.5)]))"]},{"cell_type":"markdown","metadata":{"id":"J92b_iVqWR6p"},"source":["Antes de continuar, vamos a hacer una representación gráfica de esta función en el dominio espacial $[0,2]\\times[0,2]$"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":314},"executionInfo":{"elapsed":684,"status":"ok","timestamp":1664136817236,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"tQXWxcZxWSyS","outputId":"91c44d30-4860-4917-9008-82d36b6f3a62"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":10},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}],"source":["L=2 #longitud del dominio\n","N = 100 #espaciado entre puntos\n","xp = np.linspace(0, L, N) #puntos en x\n","yp = np.linspace(0, L, N) #puntos en y\n","X, Y = np.meshgrid(xp, yp) #matriz de puntos\n","Z = phi(X,Y) #valores de phi(x,y) en los puntos\n"," \n","fig, ax = plt.subplots() #genera el objeto \"figura\"\n","CS = ax.contourf(X, Y, Z) #hace la representación gráfica\n","\n","#Esto es para configurar ejes, barra de color, etiquetas, etc...\n","ax.clabel(CS, inline=True, fontsize=10, colors='black')\n","ax.set_title('Potencial $\\phi(x,y)$')\n","ax.set_xlabel(\"x\") \n","ax.set_ylabel(\"y\") \n","fig.colorbar(CS)"]},{"cell_type":"markdown","metadata":{"id":"OKM8PFIkhWFO"},"source":["También podemos hacer gráficas en una dimensión (más sencillas). Por ejemplo, podemos representar $\\phi(x,y)$ a lo largo del eje $x$ (es decir, haciendo $y=0$):"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":296},"executionInfo":{"elapsed":323,"status":"ok","timestamp":1664136824295,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"v23I34l2hkG2","outputId":"b1363667-2a87-43b3-f7b3-a2843371c861"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(0, 0.5, '$\\\\phi(x,0)$')"]},"metadata":{},"execution_count":11},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}],"source":["L=2 #longitud del dominio\n","N = 100 #espaciado entre puntos\n","xp = np.linspace(0, L, N) #puntos en x\n","pot = phi(xp,0.0) \n","\n","fig, ax = plt.subplots() #genera el objeto \"figura\"\n","ax.plot(xp,pot) #pinta la gráfica\n","ax.set_xlabel(\"x\") \n","ax.set_ylabel(\"$\\phi(x,0)$\") \n","\n"]},{"cell_type":"markdown","metadata":{"id":"19Nm3O4TQk1d"},"source":["### Gradiente"]},{"cell_type":"markdown","metadata":{"id":"p4Y8KgY-OeGF"},"source":["Ahora vamos a aprender a calcular una derivada parcial de una función. En este caso calcularemos las derivadas parciales de $\\phi(x,y)$ respecto de $x$ e $y$:\n","\n","$$\\frac{\\partial \\phi(x,y)}{\\partial x} \\hbox{ y } \\frac{\\partial \\phi(x,y)}{\\partial y}$$\n","\n","para ello, utilizamos el método ```diff()``` :"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":290,"status":"ok","timestamp":1664136827934,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"eHSHHUCLOefF","outputId":"51f9a18c-7d06-4cc3-90c5-a919d7adac43"},"outputs":[{"output_type":"stream","name":"stdout","text":["La derivada de $\\phi$ respecto de x es= 2*x\n","La derivada de $\\phi$ respecto de y es = 2*y\n"]}],"source":["dphidx = phi(x,y).diff(x) #calcula la derivada parcial respecto a x\n","dphidy = phi(x,y).diff(y) #calcula la derivada parcial respecto a y\n","\n","print('La derivada de $\\phi$ respecto de x es=',dphidx)\n","print(\"La derivada de $\\phi$ respecto de y es =\",dphidy)"]},{"cell_type":"markdown","metadata":{"id":"_SgQId7QQwIc"},"source":["Dado que $\\phi(x,y)$ es un campo escalar en dos dimensiones, es muy útil el uso del **gradiente** para calcular variaciones en el plano $x,y$ y direcciones de máxima variación. El gradiente de $\\phi(x,y)$ es un vector en cuyas componentes tenemos las derivadas de $\\phi$ respecto de las distintas coordenadas espaciales:\n","\n","$$\\nabla \\phi(x,y)=\\left(\\begin{array}{c}\n","\\frac{\\partial \\phi(x,y)}{\\partial x}\\\\\n","\\frac{\\partial \\phi(x,y)}{\\partial y}\n","\\end{array}\n","\\right)$$\n","\n","donde $\\nabla$ es el operador nabla. Vamos a construir el gradiente de $\\phi$:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":56},"executionInfo":{"elapsed":695,"status":"ok","timestamp":1664136830555,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"S4iTl56uOVAQ","outputId":"dbe40ab4-9b7f-4b6c-ca28-1c4d2543f0d7"},"outputs":[{"output_type":"stream","name":"stdout","text":["El vector gradiente de $\\phi(x,y)$ es:\n"]},{"output_type":"display_data","data":{"text/plain":["Matrix([[2*x, 2*y]])"],"text/latex":"$\\displaystyle \\left[\\begin{matrix}2 x & 2 y\\end{matrix}\\right]$"},"metadata":{}}],"source":["gradphi=Matrix([[dphidx,dphidy]]) #dphidx y dphidy las hemos calculado en la \n"," #celda de código anterior\n","\n","print(\"El vector gradiente de $\\phi(x,y)$ es:\")\n","display(gradphi)"]},{"cell_type":"markdown","metadata":{"id":"b9n9-vLLVrq9"},"source":["Ahora vamos a representar el gradiente (que es un campo vectorial) sobre la representación gráfica del potencial:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":314},"executionInfo":{"elapsed":8412,"status":"ok","timestamp":1664136841397,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"FA3gJpSrVr_2","outputId":"5dc1965e-f0a4-4aed-dc76-d9db1b882887"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":14},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}],"source":["L=2 #longitud del dominio\n","N = 100 #espaciado entre puntos\n","nq=10\n","\n","xp = np.linspace(0, L, N) #puntos en x\n","yp = np.linspace(0, L, N) #puntos en y\n","X, Y = np.meshgrid(xp, yp) #matriz de puntos\n","Z = phi(X,Y) #valores de T(x,y) en los puntos\n","\n","Gx=np.zeros((len(yp),len(xp)))\n","Gy=np.zeros((len(yp),len(xp)))\n","for i in range(0,len(xp)): \n"," for j in range(0,len(yp)): \n"," Gx[j][i] = dphidx.subs([(x,xp[i]),(y,yp[j])]) \n"," Gy[j][i] = dphidy.subs([(x,xp[i]),(y,yp[j])]) \n","\n","fig, ax = plt.subplots() #genera el objeto \"figura\"\n","CS = ax.contourf(X, Y, Z) #hace la representación gráfica\n","QV = ax.quiver(X[::nq,::nq], Y[::nq,::nq], Gx[::nq,::nq], Gy[::nq,::nq])\n","\n","#Esto es para configurar ejes, barra de color, etiquetas, etc...\n","ax.clabel(CS, inline=True, fontsize=10, colors='black')\n","ax.set_title('Potencial $\\phi(x,y)$')\n","ax.set_xlabel(\"x\") \n","ax.set_ylabel(\"y\") \n","fig.colorbar(CS)"]},{"cell_type":"markdown","metadata":{"id":"RCXSygHutKDj"},"source":["Como vemos en la figura anterior, el gradiente muestra la dirección de máxima variación de $\\phi(x,y)$.\n","\n","**Derivada direccional**. Si queremos calcular la variación de $\\phi(x,y)$ en una dirección $\\hat{\\mathbf{n}}$ cualquiera, lo haremos mediante la derivada direccional, que es el producto escalar:\n","\n","$$D_{\\hat{\\mathbf{n}}}\\phi(x,y)=\\hat{\\mathbf{n}}\\cdot\\nabla \\phi(x,y)$$\n","\n","Vamos a calcular la derivada direccional de $\\phi(x,y)$ en el punto $(1,0)$ en las direcciones $\\hat{\\mathbf{n}}_1=(1,0)$, $\\hat{\\mathbf{n}}_2=(0,1)$ y $\\hat{\\mathbf{n}}_3=(1/\\sqrt{2},1/\\sqrt{2})$"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":212},"executionInfo":{"elapsed":565,"status":"ok","timestamp":1661619419505,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"tc6tA-x-tJPD","outputId":"4674d045-cf01-4a83-c8bb-0252103a51b7"},"outputs":[{"name":"stdout","output_type":"stream","text":["El gradiente en (1,0) es\n"]},{"data":{"text/latex":["$\\displaystyle \\left[\\begin{matrix}2.0 & 0\\end{matrix}\\right]$"],"text/plain":["Matrix([[2.0, 0]])"]},"metadata":{},"output_type":"display_data"},{"name":"stdout","output_type":"stream","text":["\n","La derivada direccional en direccion n1 es:\n","2.00000000000000\n","\n","La derivada direccional en direccion n2 es:\n","0\n","\n","La derivada direccional en direccion n3 es:\n","1.41421356237309\n"]}],"source":["#definimos coordenadas del punto\n","xp=1.0\n","yp=0.0\n","\n","#evaluamos el gradiente en el punto (xp,yp) dado\n","gradphipunto=gradphi.subs([(x,xp),(y,yp)]) \n","print(\"El gradiente en (1,0) es\")\n","display(gradphipunto)\n","\n","#definimos el vector n=(1,0)\n","n1=Matrix([[1,0]])\n","n2=Matrix([[0,1]])\n","n3=Matrix([[1/np.sqrt(2),1/np.sqrt(2)]])\n","\n","#calculamos la derivada direccional\n","dTn1=n1.dot(gradphipunto) \n","dTn2=n2.dot(gradphipunto) \n","dTn3=n3.dot(gradphipunto) \n","print(\"\\nLa derivada direccional en direccion n1 es:\")\n","print(dTn1)\n","print(\"\\nLa derivada direccional en direccion n2 es:\")\n","print(dTn2)\n","print(\"\\nLa derivada direccional en direccion n3 es:\")\n","print(dTn3)\n"]},{"cell_type":"markdown","metadata":{"id":"pu0oxbEfkFvn"},"source":["### Divergencia y rotacional de un campo vectorial"]},{"cell_type":"markdown","metadata":{"id":"bWQh_mhPBQtf"},"source":["La divergencia de un campo $\\vec F$ se calcula como el producto escalar del operador Nabla por el campo, que da lugar a un valor escalar:\n"," $$ \\nabla \\cdot \\vec{\\mathbf{v}}= \\frac{\\partial F_x}{\\partial x}+\\frac{\\partial F_y}{\\partial y}+\\frac{\\partial F_z}{\\partial z}$$\n","\n","y el rotacional como el producto vectorial del operador Nabla por el campo:\n"," $$\n","\\nabla \\times \\vec{\\mathbf{\\vec F}}=\\begin{bmatrix}{\\frac {\\partial F_z}{\\partial y}}-{\\frac {\\partial F_y}{\\partial z}}\\\\{\\frac {\\partial F_x}{\\partial z}}-{\\frac {\\partial F_z}{\\partial x}}\\\\{\\frac {\\partial F_y}{\\partial x}}-{\\frac {\\partial F_x}{\\partial y}}\\end{bmatrix}\n"," $$\n","\n"," Vamos a trabajar con el siguiente campo vectorial:\n","\n"," $$ \\vec{\\mathbf{F}}= (2y^2,0,0)$$\n","\n","y calcular la divergencia y el rotacional:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":82},"executionInfo":{"elapsed":699,"status":"ok","timestamp":1661619428152,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"D4_uc_iZBQG_","outputId":"2d8d91a4-753d-4c43-8a59-222c34277efe"},"outputs":[{"name":"stdout","output_type":"stream","text":["La divergencia del flujo es 0\n","El rotacional del flujo es:\n"]},{"data":{"text/latex":["$\\displaystyle \\left[\\begin{matrix}0 & 0 & - \\frac{1}{\\sqrt{y}}\\end{matrix}\\right]$"],"text/plain":["Matrix([[0, 0, -1/sqrt(y)]])"]},"metadata":{},"output_type":"display_data"}],"source":["x,y,z,t=symbols('x y z t')\n","F=Matrix([[2*sqrt(y),0,0]])\n","\n","Fx=F[0]\n","Fy=F[1]\n","Fz=F[2]\n","\n","dFxdx = Fx.diff(x)\n","dFydy = Fy.diff(y)\n","dFzdz = Fz.diff(z)\n","\n","divF = dFxdx + dFydy+ dFzdz\n","\n","print(\"La divergencia del flujo es\",divF)\n","\n","dFxdy = Fx.diff(y)\n","dFxdz = Fx.diff(z)\n","\n","dFydx = Fy.diff(x)\n","dFydz = Fy.diff(z)\n","\n","dFzdx = Fz.diff(x)\n","dFzdy = Fz.diff(y)\n","\n","rot_x = dFzdy - dFydz\n","rot_y = dFxdz - dFzdx\n","rot_z = dFydx - dFxdy\n","\n","rotF=Matrix([[rot_x,rot_y,rot_z]])\n","\n","print(\"El rotacional del flujo es:\")\n","display(simplify(rotF))"]},{"cell_type":"markdown","metadata":{"id":"ws69PgRAEu5G"},"source":["Podemos ver que la divergencia cero, pero el campo tiene rotacional distinto de cero. "]},{"cell_type":"markdown","metadata":{"id":"86IItH6ILP1D"},"source":["La representación vectorial del $\\nabla \\times \\vec{\\mathbf{\\vec F}}$ se puede hacer de la siguiente forma:"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":316},"executionInfo":{"elapsed":2261,"status":"ok","timestamp":1661619433207,"user":{"displayName":"SERGIO GUTIERREZ RODRIGO","userId":"07959720391705098820"},"user_tz":-120},"id":"Z9mGtCWaE96N","outputId":"0e81b1d2-12eb-475f-b124-5fe2bcccd3a3"},"outputs":[{"data":{"text/plain":["Text(0, 0.5, 'y')"]},"execution_count":22,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}],"source":["L=2 #longitud del dominio\n","N = 50 #espaciado entre puntos\n","nq=5\n","\n","xp = np.linspace(0, L, N) #puntos en x\n","yp = np.linspace(0, L, N) #puntos en y\n","X, Y = np.meshgrid(xp, yp) #matriz de puntos\n","\n","vx=np.zeros((len(yp),len(xp)))\n","vy=np.zeros((len(yp),len(xp)))\n","for i in range(0,len(xp)): \n"," for j in range(0,len(yp)): \n"," vx[j][i] = F[0].subs([(x,xp[i]),(y,yp[j])]) \n"," vy[j][i] = F[1].subs([(x,xp[i]),(y,yp[j])]) \n","\n","fig, ax = plt.subplots() #genera el objeto \"figura\"\n","QV2= ax.quiver(X[::nq,::nq], Y[::nq,::nq], vx[::nq,::nq], vy[::nq,::nq],color=\"r\")\n","\n","#Esto es para configurar ejes, barra de color, etiquetas, etc...\n","ax.set_title(r'$\\nabla\\times\\vec{\\mathbf{\\vec F}}$')\n","ax.set_xlabel(\"x\") \n","ax.set_ylabel(\"y\") "]}],"metadata":{"colab":{"provenance":[],"toc_visible":true},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.6"}},"nbformat":4,"nbformat_minor":0}