Operador Nabla. Campos conservativos
Contents
Operador Nabla. Campos conservativos#
import time
print(' Última ejecución ', time.asctime() )
Última ejecución Tue Apr 11 18:07:14 2023
Objectivos#
Introducción del operador nabla, del gradiente, rotacional y divergencia de un campo.
Interpretación del rotacional y la divergencia.
Relaciones entre ellos.
# general imports
%matplotlib inline
%reload_ext autoreload
%autoreload 2
# numpy and matplotlib
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
matplotlib.style.use('ggplot')
import graph_utils as gf
figsize = 6, 3.8
cmap = 'hot'
Operador nabla.#
Definimos el operador nabla:
que puede actuar sobre campos escalares, \(f(x, y, z)\), dando lugar al gradiente, \(\nabla f(x, y, z)\):
Y sobre el gradiente, dando lugar al laplaciano, \(\nabla^2\):
o sobre campos vectoriales, \({\bf F}(x, y, z) = \left(F_x, F_y, F_z \right)\), que da lugar a la divergencia:
y al rotacional:
Ejercicio: Calcula el rotacional y la divergencia de los siguientes campos vectoriales: \({\bf F}(x, y) = (\pm x, \pm y)\) y \({\bf F}(x, y) = (\pm y, \pm x)\).
Ejercicio: Considera ahora el camp \({\bf F}(x, y) = (x-y, x+y) /2\).
Cuestión: Si colocas un patito de plástico en el interior de la espira cuadrada y consideras que se trata de la superficie de un líquido ¿gira? ¿sale?
Cuestión: Si el campo correspondiense a las velocidades de las moléculas de un gas, el gas ¿se expandería o comprimiría?
xrange = (-2., 2., 10)
Ex = lambda x, y: -y/2 + x/2 # -y/2 #+ x/2
Ey = lambda x, y: x/2 + y/2
gf.quiver2d(Ex, Ey, xrange, xrange);
x0, y0, xside, yside = -1, -1., 2., 2.
gf.square( (x0, y0), xside, yside, color = 'r');
gf.arrow ( x0 + 0.4 * xside, y0 , 0.2 * xside, 0.0 , head = 0.1, color = 'r');
gf.arrow ( x0 + xside , y0 + 0.4 * yside, 0.0 , 0.2* yside, head = 0.1, color = 'r');
gf.arrow ( x0 + 0.6 * xside, y0 + 1.0 * yside, -0.2 * xside, 0.0 , head = 0.1, color = 'r');
gf.arrow ( x0 , y0 + 0.6 * yside, 0.0 , -0.2* yside, head = 0.1, color = 'r');
plt.gca().set_aspect('equal', 'box')
gf.quiver2d(Ex, Ey, xrange, xrange);
x0, y0, xside, yside = -1, -1., 2., 2.
gf.square( (x0, y0), xside, yside, color = 'r');
gf.arrow ( x0 + 0.5 * xside, y0 , 0.0 * xside, -0.2 * yside, head = 0.05, color = 'r');
gf.arrow ( x0 + xside , y0 + 0.5 * yside, 0.2 * xside, 0.0 * yside, head = 0.05, color = 'r');
gf.arrow ( x0 + 0.5 * xside, y0 + 1.0 * yside, 0.0 * xside, 0.2 * yside, head = 0.05, color = 'r');
gf.arrow ( x0 , y0 + 0.5 * yside, -0.2 * xside, -0.0 * yside, head = 0.05, color = 'r');
plt.gca().set_aspect('equal', 'box')
Teorema: Sea \(f(x, y, z)\) un campo escalar con derivadas segundas continuas, se cumple: \(\nabla \times \nabla f = 0\). El rotacional de un gradiente es nulo.
como las derivadas segundas son continuas, las derivadas segundas cruzadas son iguales, y por lo tanto:
Ejemplo: sea \(f(x, y) = x^2 + y^2\). Su gradiente es \(\nabla f (x, y) = (2x, 2y)\), cuyo rotacional es nulo.
xrange = (-2., 2., 40)
fc = lambda x, y: x**2 + y**2
Ex = lambda x, y: 2*x
Ey = lambda x, y: 2*y
gf.contour (fc, xrange, xrange);
gf.quiver2d(Ex, Ey, xrange, xrange);
plt.gca().set_aspect('equal', 'box')
Ejercicio: Demostrar que si las funciones componentes del campo vectorial, \({\bf F}(x, y, z) = (F_x, F_y, F_z)\) tienen derivadas segundas continuas, se cumple: \(\nabla \cdot (\nabla \times {\bf F}) = 0\), la divergencia del rotacional es nula.
Teorema: Sean \(f,g\) campos escalares, \({\bf F},{\bf G}\) campos vectoriales, con derivadas segundas continuas, y \(c\) una constante, se cumple:
\(\nabla (f+g) = \nabla f + \nabla g\)
\(\nabla (cf) = c \, \nabla f \)
\(\nabla (fg) = (\nabla f) g + f (\nabla g)\)
\(\nabla (f/g) = (\nabla f)g - f(\nabla g)/g^2\)
\(\nabla ({\bf F}+{\bf G}) = \nabla {\bf F} + \nabla {\bf G}\)
\(\nabla \times ({\bf F}+{\bf G}) = \nabla \times {\bf F} + \nabla \times {\bf G}\)
\(\nabla (f {\bf F}) = f (\nabla {\bf F}) + (\nabla f) {\bf F}\)
\(\nabla ({\bf F} \times {\bf G}) = {\bf G} \, (\nabla \times {\bf F}) - {\bf F} \, (\nabla \times {\bf G})\)
\(\nabla ( \nabla \times {\bf F}) = 0\)
\(\nabla \times (f {\bf F}) = f \nabla \times {\bf F} + \nabla f \times {\bf F} \)
\(\nabla \times \nabla f = 0\)
\(\nabla^2 (fg) = f \nabla^2 g + g \nabla^2 f - 2 (\nabla f) (\nabla g) \)
\(\nabla (\nabla f \times \nabla g) = 0\)
\(\nabla (f \nabla g - g \nabla f) = f \nabla^2 g - g \nabla^2 f\)
Campos conservativos#
Decimos que un campo vectorial, \({\bf F}\), es conservativo si para todas las trayectorias que unen dos puntos del dominio, \(A, \, B\), la integral de campo a lo largo de cada una de ellas vale lo mismo.
Sean dos trayectorias, \({\bf c}_1, \, {\bf c}_2\), que unen \(A \to B\), si el campo \({\bf F}\) es conservativo se cumple:
O lo que es lo mismo para cualquier trayectoria cerrada, \({\bf c}\), que parta de \(A\), llegue a \(B\), y regrese a \(A\), la integral es nula:
Teorema: Sea un campo \({\bf F}(x, y)\) es conservativo si y solo sí:
Por el teorema de Green, la integral del campo a lo largo de una curva cerrada cumple:
Si se cumple,
entonces el campo es conservativo.
Si en alguna bola no se cumple
entonces la integral a lo largo de la frontera de la bola \(\oint_{{\bf c}} {\bf F}\, \mathrm{d}{\bf s} \neq 0\), y el campo no es conservativo.
Ejercicio: Verfica que el campo \({\bf F}(x, y) = (2xy + y^3, x^2 + 3xy^2 + y^2)\) es conservativo.
¡Es conservativo!
xrange = (-2., 2., 11)
Ey = lambda x, y: 2*x*y + y*y*y
Ex = lambda x, y: x*x + 3*x*y*y + y*y
gf.quiver2d(Ex, Ey, xrange, xrange);
plt.gca().set_aspect('equal', 'box')
Pero todavía es más fuerte:
Teorema: El campo \({\bf F}(x, y) = (F_x, F_y)\) es conservativo sí y solo sí, existe un campo escalar \(U(x, y)\) tal que \({\bf F} = \nabla U\).
Si \({\bf F} = \nabla U\), entonces se cumple:
Si \({\bf F}\) es conservativo, entonces podemos encontrar \(U(x, y)\). Tomemos como referencia un punto \((x_0, y_0)\)
donde \(g(y)\) es una función de \(y\). Se cumple: \( F_x = \frac{\partial U}{\partial x}\)
\(F_y\) debe ser:
Luego:
y verificamos que \(g(y)\) solo depende de \(y\):
Ejercicio: Calcula el campo escalar, \(U(x, y)\), cuyo campo conservativo es \({\bf F}(x, y) = (2xy + y^3, x^2 + 3xy^2 + y^2)\).
tomemos \((x_0, y_0)\) el origen.
donde
luego:
donde \(C\) es una constante. Así:
xrange = (-2., 2., 40)
fc = lambda x, y: y*x*x + x*y*y*y + y*y
gf.graph(fc, xrange, xrange);
Observa como el siguiente campo vectorial no puede ser conservativo. Sigue de un vector a otro como si fuera un gradiente (subiendo en un supuesto campo escalar del que provendía) … y verás que no es posible.
xrange = (-2., 2., 11)
Ey = lambda x, y: x
Ex = lambda x, y: -y
gf.quiver2d(Ex, Ey, xrange, xrange);
Esto es, un campo convervativo proviene, o puede expresarse, como el gradiente de un campo escalar. Si un campo no tiene rotacional es convervativo. Y si es conservativo no tiene rotacional.
Observa el dibujo de Escher ¡debe ser una ilusión óptica! porque las escaleras siguen el gradiente de su altura, y por lo tanto al circular a lo largo como la pista cerrada que forman no puede tener rotacional.
Teorema: Sea \(U(x, y)\) un campo escalar con derivadas segundas continuas, entonces la integral de su gradiente, \(\nabla U\), a lo largo de una trayectoria, \({\bf c}\), que une dos puntos, \(A, \, B\) es la diferencia de \(U\) en \(B\) y \(A\).
Sea \({\bf c}(t)\) línea parametrizada en \(t \in [a, b]\), donde \({\bf c}(a) = A, \, {\bf c}(b) = B\).
Por la regla de la cadena:
Ejemplo: La altura es un campo conservativo. Da igual que camino siguas para llegar a la cumbre de una montaña, puedes seguir caminos más fáciles o más arduos, la diferencia de altura respecto de dónde empezaste siempre será la misma.
¡Aún hay más!#
Muchas de estas cosas te sonarán por Física General.
El potencial eléctrico, \(V\), da lugar a un campo eléctrico, \({\bf E} = - \nabla V\), que proviene del gradiente y cuyo rotacional es nulo, es por lo tanto un campo conservativo. La integral del campo entro dos puntos es simplemente la diferencia de potencial entre ellos.
En Física la fuerza sobre un móvil viene del gradiente de una energía potencial, \({\bf F} = - \nabla U\). De está relación se conserva la energía. Consideremos un móvil, de masa \(m\), que sigue su trayectoria libre \({\bf c}(t)\) en función del tiempo \(t\). Su energía total es la energía cinética más la potencial:
Si derivamos respecto at \(t\), y aplicando la regla de la cadena:
Si se cumple
que es la primera ley de Newton.