Teoremas de Stokes y de Gauss. Funciones armónicas

Francisco Javier Pérez González
Departamento de Análisis Matemático
Universidad de Granada

Inicialización

Off[ParametricPlot3D::ppcom]
Off[ParametricPlot::ppcom]
Off[General::spell]
Off[General::spell1]

<<Graphics`Arrow`

<<Graphics`Colors`

norma[x_] := N[(Sqrt[x . x])]   
normaliza[x_]  := If[Simplify[x . x] == 0, x,  x/norma[x]];   
vector2D[x_: {0, 0}, y_] := 
      Arrow[x, x + y] 
normal3D[x_]  :=  
      normaliza[
        Which[x[[1]] == 0, {1, 0, 
            0}, (x[[2]] ≠ 
                0) ∨ (x[[3]] ≠ 0), {0, 
            x[[3]], -x[[2]]}, (x[[2]] == 0 ∧ 
              x[[3]] == 0), {0, 1, 0}]]

\(\(\(\(arrow3D[x_, y_, color_:  RGBColor[0. , 0. , 0. ], 
          grosor_:  0.007] := 
			{{color, Thickness[grosor], 
            Line[{x, y}]}, 
\ \ \ \ \ {SurfaceColor[
              color], \ \(Polygon[
                  Append[#, 
                    y]] &\)\  /@ \ 
						Partition[\(\((y\ \  - \ 
                        0.18*\((y - x)\) + \ #)\) &\) /@ \((\((0.3*\ 0.18*
                          norma[y - x]*\ 
                          Table[{Cos[2\ k\ Pi/8. ], \ Sin[2\ k\ Pi/8. ]}, {k, 
                              0, 8}])\) . {normal3D[y - x], 
                        normaliza[Cross[normal3D[y - x], y - x]]})\), 2, 
                1]}};\)

    vector3D[x_List: {0, 0, 0}, y_List, color_:  RGBColor[0. , 0. , 0. ], 
        grosor_:  0.007] := arrow3D[x, x + y, color, grosor]\)\(\ \)\( (*\ 
      traslación\ del\ vector\ y\ al\ punto\ x\ *) \)\)\)

tgtunit[func_, 
          t_] = func'[t]/(Sqrt[func'[t] . func'[t]]);
normalunit[func_, t_] := 
      Module[{s}, normaliza[D[tgtunit[func, s], s]] /. s -> t]

gramschmidt = 
          Fold[Append[#1, (#(1/(Sqrt[#1 . #1])) &)[
                    Fold[#1 - #1 . #2 #2  &, #2, #1]]] &, {}, #1] &;

\(semiesferasuperior := 
      Module[{fig1, fig2, normales, tangentes, normalesinteriores, 
          f, γ, n}, 
        f[s_, t_] = 
          4 {Cos[t]*Sin[s], Sin[t]*Sin[s], Cos[s]}; 
fig1 = 
          ParametricPlot3D[
            4 {Cos[t]*Sin[s], Sin[t]*Sin[s], Cos[s]}, {t, 0, 2  π}, {s, 
              0, π/2}, AspectRatio -> Automatic, Axes -> False, 
            Boxed -> False, 
            ViewPoint -> {1.536, \ \(-2.836\), \ \(-1.025\)}, 
            DisplayFunction -> Identity]; 
fig2 = 
          ParametricPlot3D[{3.9  Cos[t], 3.9  Sin[t], 
              0, {Yellow, Thickness[0.007]}}, {t, 0, 2  π}, 
            Boxed -> False, Ticks -> None, Axes -> False, 
            DisplayFunction -> Identity]; 
n[s_, t_] = 
          Simplify[
            Cross[D[f[s, t], s], D[f[s, t], t]]\/\@\(Cross[D[f[s, t], s], D[f[s, t], t]] . Cross[D[f[s, t], s], D[f[s, t], t]]\), 
            Sin[s] > 0]; 
normales = 
          Graphics3D[
            Table[vector3D[f[s, t], n[s, t], Green], {t, 0. , 2  π, 
                  N[π]/6}, {s, 0. , π/2, N[π/2]/3}] // 
              Chop]; 
γ[t_] = {4  Cos[t], 4  Sin[t], 0}; 

        tangentes = 
          Graphics3D[
            Table[vector3D[γ[t], tgtunit[γ, t], Blue], {t, 0. , 
                  2  π, N[π]/6}] // Chop]; 

        normalesinteriores = 
          Graphics3D[
            Table[vector3D[γ[t], 
                  Cross[n[π/2. , t], tgtunit[γ, t]], Red], {t, 
                  0. , 2  π, N[π]/6}] // 
              Chop]; 
Show[{fig1, fig2, normales, 
            tangentes, normalesinteriores}, 
          DisplayFunction -> $DisplayFunction]; 
 (*\ 
          Table[Det[{tgtunit[γ, t], 
                  Cross[n[π/2. , t], tgtunit[γ, t]], 
                  n[π/2. , t]}], {t, 0. , 2  π, N[π]/6}] // 
            Chop\ *) ]\)

\(semiesferainferior := 
      Module[{fig1, fig2, normales, tangentes, normalesinteriores, 
          f, γ, n}, 
        f[s_, t_] = 
          4 {Cos[t]*Sin[s], Sin[t]*Sin[s], Cos[s]}; 
fig1 = 
          ParametricPlot3D[
            4 {Cos[t]*Sin[s], Sin[t]*Sin[s], Cos[s]}, {t, 0, 
              2  π}, {s, π/2, π}, AspectRatio -> Automatic, 
            Axes -> False, Boxed -> False, 
            DisplayFunction -> Identity]; 
fig2 = 
          ParametricPlot3D[{3.9  Cos[t], 3.9  Sin[t], 
              0, {Yellow, Thickness[0.007]}}, {t, 0, 2  π}, 
            Boxed -> False, Ticks -> None, Axes -> False, 
            DisplayFunction -> Identity]; 
n[s_, t_] = 
          Simplify[
            Cross[D[f[s, t], s], 
                D[f[s, t], 
                  t]]/\((√\((Cross[D[f[s, t], s], D[f[s, t], t]] . 
                      Cross[D[f[s, t], s], D[f[s, t], t]])\))\), 
            Sin[s] > 0]; 
normales = 
          Graphics3D[
            Table[vector3D[f[s, t], n[s, t], Green], {t, 0. , 2  π, 
                  N[π]/6}, {s, N[π/2], N[π], N[π/2]/4}] // 
              Chop]; 
γ[t_] = {4  Cos[t], 4  Sin[t], 0}; 

        tangentes = 
          Graphics3D[
            Table[vector3D[γ[t], \(-tgtunit[γ, t]\), Blue], {t, 
                  0. , 2  π, N[π]/6}] // Chop]; 

        normalesinteriores = 
          Graphics3D[
            Table[vector3D[γ[
                    t], \(-Cross[n[π/2. , t], tgtunit[γ, t]]\), 
                  Red], {t, 0. , 2  π, N[π]/6}] // 
              Chop]; 
Show[{fig1, fig2, normales, 
            tangentes, normalesinteriores}, 
          DisplayFunction -> $DisplayFunction]; 
 (*\ 
          Table[Det[{\(-tgtunit[γ, t]\), 
                  Cross[n[π/2. , t], \(-tgtunit[γ, t]\)], 
                  n[π/2. , t]}], {t, 0. , 2  π, N[π]/6}] // 
            Chop\ *) ]\)

\(\(cilindro := 
        Module[{fig1, fig2, fig3, normales, tangentes1, normalinterior1, 
            tangentes2, normalinterior2, f, γ1, γ2, n}, 
          f[s_, t_] = {t, Cos[s], Sin[s]}; 
fig1 = 
            ParametricPlot3D[{t, Cos[s], Sin[s]}, {s, 0, 2  π}, {t, 1, 
                4}, AspectRatio -> Automatic, Axes -> False, 
              Boxed -> False, 
              DisplayFunction -> Identity]; 
fig2 = 
            ParametricPlot3D[{1, Cos[t], 
                Sin[t], {Yellow, Thickness[0.007]}}, {t, 0, 2  π}, 
              Boxed -> False, Ticks -> None, Axes -> False, 
              DisplayFunction -> Identity]; 
fig3 = 
            ParametricPlot3D[{4, Cos[t], 
                Sin[t], {Yellow, Thickness[0.007]}}, {t, 0, 2  π}, 
              Boxed -> False, Ticks -> None, Axes -> False, 
              DisplayFunction -> Identity]; 
n[t_, 
              s_] = Simplify[
              Cross[D[f[s, t], s], 
                  D[f[s, t], 
                    t]]/√\((Cross[D[f[s, t], s], D[f[s, t], t]] . 
                      Cross[D[f[s, t], s], 
                        D[f[s, t], t]])\)]; 
normales = 
            Graphics3D[
              Table[vector3D[f[π, t], n[t, π], Green], {t, 1. , 4. , 
                    1.5}] // Chop]; 
γ1[t_] = {1, Cos[t], Sin[t]}; 

          tangentes1 = 
            Graphics3D[
              vector3D[γ1[π], tgtunit[γ1, π], Blue]]; 

          normalinterior1 = 
            Graphics3D[
              vector3D[γ1[π], \(-Cross[n[π, 1. ], 
                    tgtunit[γ1, π]]\), 
                Red]]; 
γ2[t_] = {4, Cos[t], 
              Sin[t]}; 

          tangentes2 = 
            Graphics3D[
              vector3D[γ2[π], \(-tgtunit[γ2, π]\), 
                Blue]]; 

          normalinterior2 = 
            Graphics3D[
              vector3D[γ2[π], 
                Cross[n[4. , π], \(-tgtunit[γ2, π]\)], 
                Red]]; 
Show[{fig1, fig2, fig3, normales, 
              tangentes1, normalinterior1, tangentes2, normalinterior2}, 
            DisplayFunction -> $DisplayFunction]];\)\)

\(\(casquete := 
        Module[{fig1, fig2, normal, normal2, tangente, normalinterior, 
            f, γ}, 
          f[θ_, ϕ_] = {Cos[ϕ] Sin[θ], 
              Sin[ϕ] Sin[θ], 
              1 + Cos[θ]}; 
fig1 = 
            ParametricPlot3D[{Cos[ϕ] Sin[θ], 
                Sin[ϕ] Sin[θ], 1 + Cos[θ]}, {ϕ, 0, 
                2  π}, {θ, 0, ArcCos[3. /5]}, Boxed -> False, 
              Axes -> False, AspectRatio -> 1, 
              DisplayFunction -> Identity]; 
fig2 = 
            ParametricPlot3D[{Cos[ϕ] 4/5, Sin[ϕ] 4/5, 
                8/5, {Yellow, Thickness[0.007]}}, {ϕ, 0, 2  π}, 
              Boxed -> False, Axes -> False, AspectRatio -> 1, 
              DisplayFunction -> 
                Identity]; 
γ[ϕ_] = {Cos[ϕ] 4/5, Sin[ϕ] 4/5, 8/5}; 
n[s_, t_] = 
            Simplify[
              Cross[D[f[s, t], s], 
                  D[f[s, t], 
                    t]]/√\((Cross[D[f[s, t], s], D[f[s, t], t]] . 
                      Cross[D[f[s, t], s], 
                        D[f[s, t], t]])\)]; 
normal = 
            Graphics3D[
              vector3D[f[ArcCos[3. /5], 3  π/2], 
                n[ArcCos[3. /5], 3  π/2], 
                Green]]; 
normal2 = 
            Graphics3D[vector3D[{0, 0, 2},  .5 {0, 0, 1}, Green]]; 

          tangente = 
            Graphics3D[
              vector3D[γ[3  π/2],  .5 
                   tgtunit[γ, 3  π/2], Blue]]; 

          normalinterior = 
            Graphics3D[
              vector3D[γ[3  π/2],  .5 
                   Cross[n[ArcCos[3. /5], 3  π/2], 
                    tgtunit[γ, 3  π/2]], 
                Red]]; 
Show[{fig1, fig2, normal, normal2, 
              tangente, normalinterior}, 
            DisplayFunction -> $DisplayFunction, 
            PlotRange -> All]];\)\)

\(\(cono := 
        Module[{fig1, fig2, normal, normal2, tangente, normalinterior, 
            f, γ}, 
          f[ρ_, ϕ_] = {ρ*Cos[ϕ], ρ*Sin[ϕ], 
              2  ρ}; 
fig1 = 
            ParametricPlot3D[{ρ*Cos[ϕ], ρ*Sin[ϕ], 
                2  ρ}, {ϕ, 0, 2  π}, {ρ, 0, 4/5}, 
              Boxed -> False, Axes -> False, AspectRatio -> 1, 
              DisplayFunction -> Identity]; 
fig2 = 
            ParametricPlot3D[{Cos[ϕ] 4/5, Sin[ϕ] 4/5, 
                8/5, {Yellow, Thickness[0.007]}}, {ϕ, 0, 2  π}, 
              Boxed -> False, Axes -> False, AspectRatio -> 1, 
              DisplayFunction -> 
                Identity]; 
γ[ϕ_] = {Cos[ϕ] 4/5, Sin[ϕ] 4/5, 8/5}; 
n[s_, t_] = 
            Simplify[
              Cross[D[f[s, t], s], 
                  D[f[s, t], 
                    t]]/√\((Cross[D[f[s, t], s], D[f[s, t], t]] . 
                      Cross[D[f[s, t], s], 
                        D[f[s, t], t]])\)]; 
normal = 
            Graphics3D[
              vector3D[f[4/5, 3  π/2], \(- .5\) n[4/5, 3  π/2], 
                Green]]; 
normal2 = 
            Graphics3D[
              vector3D[
                f[3/5. , \(-π\)/3. ], \(- .5\) n[3/5. , \(-π\)/3. ], 
                Green]]; 

          tangente = 
            Graphics3D[
              vector3D[γ[3  π/2], \(- .5\) 
                  tgtunit[γ, 3  π/2], Blue]]; 

          normalinterior = 
            Graphics3D[
              vector3D[γ[3  π/2],  .5 
                   Cross[n[ArcCos[3. /5], 3  π/2], 
                    tgtunit[γ, 3  π/2]], 
                Red]]; 
Show[{fig1, fig2, normal, normal2, 
              tangente, normalinterior}, 
            DisplayFunction -> $DisplayFunction, 
            PlotRange -> All]];\)\)

helado := Show[casquete, cono]

molinillo:=Module[{fig1, fig2, fig3, texto},fig1 = 
              Graphics[{Thickness[ .007], Circle[{0, 0}, 1], 
                  Line[{{-1, 0}, {1, 0}}], PointSize[ .07], 
                  Point[{0, 0}], PointSize[ .03], Red, Point[{1, 0}], 
                  Point[{-1, 0}]}];
fig2 = 
              Graphics[{vector2D[{1, 0}, {1.2, 1.2}], 
                  vector2D[{-1, 0}, { .8,  .6}]}];
texto=Graphics[{\(Text[\*""\!\(p\_1\)"", {1.2, 0}]\),\(Text[\*""\!\(p\_2\)"", {\(-1.2\), 0}]\),Text["(Subscript[(v), 1])",{1, 1.35}],Text["(Subscript[(v), 2])",{-1, 0.73}],\(Text[\*""V(\!\(p\_1\))"", {2.1,  .75}]\),\(Text[\*""V(\!\(p\_2\))"", {\(- .2\), 
                        0.35}]\)}];
fig3 = 
              Graphics[{vector2D[{1, 0}, {0, 1.2}], 
                  vector2D[{-1, 0}, {0,  .6}]}];
Show[{fig1, fig2, fig3, texto}, 
              Ticks -> None, Axes -> False, 
              AspectRatio -> Automatic, PlotRange -> All, 
              TextStyle -> {FontFamily -> "Times", 
                  FontSize -> "12", FontWeight -> "Bold"}]]

<<Graphics`Animation`

<<Calculus`VectorAnalysis`

On[General::spell]

Teorema de Stokes

El teorema de Stokes es una generalización del teorema de Green para superficies en el espacio: el teorema de Green establece una igualdad entre integrales dobles e integrales de línea y el teorema de Stokes establece una igualdad entre integrales de superficie e integrales de línea. Veremos que en el caso particular de que la superficie sea una superficie plana situada en el plano XY con normal unitaria igual a k el teorema de Stokes se convierte en el teorema de Green.

Sea Suna superficie que suponemos orientada por un campo continuo de vectores que a cada punto (x, y, z) ∈ S hace corresponder un vector unitario normal a S que notaremos n(x, y, z). Suponemos que la superficie S es una superficie abierta y representamos por ∂S su "borde". Observa que ∂S puede ser una curva cerrada o puede estar formado por varias curvas cerradas disjuntas (por ejemplo, la superficie S puede ser un trozo de cilindro circular recto sin tapaderas en cuyo caso su borde son dos circunferencias).

La orientación en S definida por el campo de vectores normales n(x, y, z) induce una orientación en ∂S que se llama orientación inducida. En términos familiares, la orientación inducida en ∂S es aquella en la que al recorrer caminando ∂S en el sentido que indica el vector tangente en cada punto de ∂S y con la cabeza apuntando en el sentido que indica el vector normal n, la superficie S queda a nuestra izquierda.

Una definición matemática más precisa de lo que se entiende por "orientación inducida" es la siguiente. Sea P ∈ ∂S un punto en el borde de la superficie S. La "curva" ∂S tiene en P dos vectores normales unitarios que son tangentes a la superficie S en P; estos vectores son opuestos entre sí. Sea N uno de dichos vectores. Representemos por H el plano tangente a S en P. Sea B(P, ϵ) una bola centrada en P de radio ϵ > 0 suficientemente pequeño. Definamos G = B(P, ϵ) ⋂  S y sea D = (Subscript[Π, H])(G) la proyección ortogonal de G sobre H. Observa que (Subscript[Π, H]) deja invariante a N y a P porque ambos están en H. Además, como (Subscript[Π, H]) conserva la ortogonalidad, el vector N es normal en el punto P a la curva \(TraditionalForm\`\((∂S)\)\_H = \(Π\_H\)(∂S ⋂ B(P, ϵ))\). Observa que D es un dominio plano y que (Subscript[((∂S)), H]) es parte de ∂D. Pues bien, si el vector N es la normal interior a ∂D en P (en el sentido que definimos al estudiar el teorema de Green) se dice que N es el vector unitario normal a ∂S en P que apunta hacia dentro de S.  La orientación inducida en  ∂S por la orientación dada de la superficie S es aquella en la que, notando por N(x, y, z) el vector unitario normal a  ∂S que apunta hacia dentro de S y por T(x, y, z) el vector tangente unitario a ∂S en el punto (x, y, z) ∈ ∂S, se verifica que la base ortonormal {T(x, y, z),N(x, y, z),n(x, y, z)} tiene determinante positivo (de hecho igual a 1) para todo (x, y, z) ∈ ∂S. Observa que, cualquiera sea el vector tangente unitario T(x, y, z) se tiene que  N(x, y, z)=n(x, y, z)×T(x, y, z) o  N(x, y, z)=-n(x, y, z)×T(x, y, z).

Cuando S es una superficie suave y orientable a trozos se conviene en que la orientación de cada parte suave y orientable de S se haga de forma que en cada curva γ que sea frontera común de dos partes suaves orientables las respectivas orientaciones inducidas en γ sean opuestas. Las siguientes gráficas te ayudarán a entender estas ideas.

semiesferasuperior;

semiesferainferior;

cilindro;

helado;

El teorema de Stokes afirma que el flujo del rotacional de un campo a través de una superficie suave y orientable a trozos es igual a la circulación del campo en el borde de la misma.

Teorema de Stokes. Sea S una superficie suave y orientable a trozos con una orientación definida por el campo de vectores normales unitarios n(x, y, z) y representemos por \(TraditionalForm\`∂\(S\^+\)\) el borde de S con la orientación inducida. Sea F un campo vectorial de clase (C^1)definido en un abierto que contenga a S. Entonces se verifica que

(∫_(\(∂\(S\^+\)\)))F.dr=∫(∫_S)rot F . ndS

Un caso frecuente es cuando la superficie S viene dada en la forma S = γ(A) donde \(TraditionalForm\`A ⊂ ℝ\^\(\(2\)\(\ \)\)\)y para  (s, t) ∈ A es

γ(s, t)=(x(s, t), y(s, t), z(s, t))=x(s, t)i + y(s, t)j+z(s, t)k

y la orientación de S viene dada por

n(x, y, z)=((∂ (γ/∂) s (s, 
                        t)×∂ (γ/∂) t (s, 
                        t))/(||∂ (γ/∂) s (s, 
                          t)×∂ (γ/∂) t (s, 
                          t)||))            dondeγ(s, t) = (x, y, z) ∈ S

En el espacio de los parámetros consideramos la orientación positiva s - t es decir, el eje de abscisas representa la variable s y el de ordenadas la variable t. En esta situación se verifica que la orientación positiva de la frontera de A (en el sentido que vimos al estudiar el teorema de Green) se corresponde con la orientación inducida en ∂S. Esto quiere decir que si s = s(u),  t = t(u) donde  a ≤ u ≤ b son las ecuaciones paramétricas de la frontera de A con la orientación positiva, que notaremos \(TraditionalForm\`∂\(A\^+\)\), entonces Γ(u) = γ(s(u), t(u)) es una representación paramétrica de \(TraditionalForm\`∂\(S\^+\)\). Podemos comprobar en este caso el teorema de Stokes. Por definición de integral de superficie, tenemos que:

∫(∫_S)rot F .  ndS=∫(∫_A)rot F(γ(s, t)) . (∂ (γ/∂) 
                                s (s, t)×∂ (γ/∂) 
                                t (s, t))d(s, t)

Calculemos h(s, t)=rot F(γ(s, t)).(∂ (γ/∂) s (s, 
                          t)×∂ (γ/∂) t (s, 
                          t)).

F[x_, y_, z_] = {P[x, y, z], Q[x, y, z], 
          R[x, y, z]};
γ[s_, t_] = {x[s, t], y[s, t], 
          z[s, t]};
h[s_, 
        t_] = (Curl[F[x, y, z], Cartesian[x, y, z]] /. {x -> x[s, t], 
              y -> y[s, t], z -> z[s, t]}) . 
        Cross[D[γ[s, t], s], D[γ[s, t], t]]

Por otra parte

(∫_(\(∂\(S\^+\)\)))F. dr=(∫_a^b)F(Γ(u)) . Γ'(u)du

Calculemos g(u)=F(Γ(u)) . Γ'(u).

Γ[u_] = γ[s[u], 
          t[u]];
g[u_] = 
      F[x[s[u], t[u]], y[s[u], t[u]], z[s[u], t[u]]] . Γ'[
          u]

Reordenamos la expresión anterior.

Collect[g[u], {s'[u], t'[u]}]

Definamos la función

G[s_, t_]={P[x[s, t], y[s, t], z[s, t]] Derivative[1, 0][x][s, t]+Q[x[s, t], y[s, t], z[s, t]] Derivative[1, 0][y][s, t]+R[x[s, t], y[s, t], z[s, t]] Derivative[1, 0][z][s, t],P[x[s, t], y[s, t], z[s, t]] Derivative[0, 1][x][s, t]+Q[x[s, t], y[s, t], z[s, t]] Derivative[0, 1][y][s, t]+R[x[s, t], y[s, t], z[s, t]] Derivative[0, 1][z][s, t]};

Observa que G(s, t)=((Subscript[G, 1])(s, t), (Subscript[G, 2])(s, t))  es un campo vectorial de dos variables.

Simplify[
      g[u] == G[s[u], t[u]] . {s'[u], t'[u]}]

En consecuencia tenemos que

(∫_(\(∂\(S\^+\)\)))F.dr=(∫_a^b)F(Γ(u)).Γ'(u)du=(∫_a^b)g(u)du=(∫_a^b)G(s (u), t (u)).(s' (u), t' (u))du=\(∫\_\(∂\(A\^+\)\)\)G. dr

Apliquemos ahora el teorema de Green para calcular \(∫\_\(∂\(A\^+\)\)\)G .  dr. Tenemos que

(∫_(\(∂\(A\^+\)\)))G. dr=∫(∫_A)(((∂(Subscript[G, 2]))/(∂s))(s, t)-((∂(Subscript[G, 1]))/(∂t))(s, t))d(s, t)

Calculemos ∂((Subscript[G, 2])/∂) s(s, t)-∂((Subscript[G, 1])/∂) t(s, t).

Simplify[
      D[G[s, t][[2]], s] - D[G[s, t][[1]], t]]

Simplify[h[s, t] == %]

Hemos probado así que

∫(∫_S)rot F .  ndS=∫(∫_A)h(s, t)d(s, t)=(∫_(\(∂\(S\^+\)\)))F. dr

lo que demuestra el teorema de Stokes en este caso particular.

El teorema de Green es un caso particular del teorema de Stokes. Supongamos que nuestra superficie es un dominio plano D contenido en el plano XY y que la orientamos por la normal al plano XY en la dirección del eje Z positivo. Es claro que en esta situación la normal unitaria es k=(0, 0, 1) y que el borde de D con la orientación inducida es precisamente el borde de D orientado positivamente (en el sentido que vimos al estudiar el teorema de Green). Sea F(x, y)=(P(x, y), Q(x, y)) un campo vectorial definido en D. Aplicando el teorema de Stokes al campo vectorial (Subscript[F, 3])(x, y, z)=(P(x, y), Q(x, y), 0) obtenemos

(∫_(\(∂\(D\^+\)\)))(Subscript[F, 3 ]). dr=∫(∫_D)rot (Subscript[F, 3 ]). kdS

Es claro que \(∫\_\(∂\(D\^+\)\)\)(Subscript[F, 3]). dr=\(∫\_\(∂\(D\^+\)\)\(P(x, 
                  y)\) dx + \(Q(x, y)\) dy\). Por otra parte tenemos que

Curl[{P[x, y], Q[x, y], 0}, Cartesian[x, y, z]] . {0, 0, 1}

es decir,rot (Subscript[F, 3])(x, y, z) . k=((∂Q)/(∂ x))(x, y)-((∂P)/(∂ y))(x, y). Concluimos que

\(∫\_\(∂\(D\^+\)\)\)P(x, y)dx+Q(x, y)dy=∫(∫_D)(((∂Q)/(∂ x))(x, y)-((∂P)/(∂ y))(x, y))dS

Teorema de la divergencia

Ya conocemos una versión del teorema de la divergencia para campos vectoriales de dos variables. En la generalización de dicho teorema para campos vectoriales de tres variables se consideran dominios regulares en (ℝ^3). Recuerda que un dominio es un conjunto abierto y conexo. La frontera de un dominio acotado es una superficie cerrada. Sea D un dominio acotado en (ℝ^3), diremos que D  es un dominio regular cuando su frontera, que representaremos por ∂D, esté formada por trozos de superficies que tienen plano tangente en todo punto. No excluimos la posibilidad de que en "las uniones" de dichas superficies haya aristas en cuyos puntos no esté definido un plano tangente. El interior de una esfera o de un ortoedro son ejemplos de dominios regulares el segundo de ellos con aristas. 
Las superficies cerradas que son frontera de un dominio regular se orientan mediante la normal exterior, concepto éste que, aunque tiene un significado intuitivo para las superficies cerradas más usuales, es fácil de precisar matemáticamente. En cada punto de ∂D (excepto quizás en las aristas si las hay, pero estos conjuntos de puntos son tan pequeños que no influyen para nada en la integral) están definidas dos normales unitarias que son opuestas una de otra. Sea x ∈ ∂D y sea N un vector normal a ∂Sen x. Se dice que N es normal exterior a ∂S en x si para δ > 0 suficientemente pequeño y para 0 < t < δ se verifica que:

x-t N∈D,  x + t N ∉ D

condiciones que expresan que si a partir del punto x nos deplazamos un poquito en la dirección de N salimos de D y si nos deplazamos en la dirección opuesta a N entramos en D. Se verifica que ∂D es una superficie orientable y suave a trozos y la aplicación x-> n(x) que a cada punto x ∈ ∂D(con la salvedad indicada) hace corresponder la normal exterior a ∂D en dicho punto define una orientación que se llamará la orientación positiva de ∂D.

Teorema de la divergencia. Sea D un dominio regular en (ℝ^3), F un campo vectorial de clase (C^1) definido en un abierto que contiene a D ⋃ ∂D y consideremos la superficie ∂D orientada positivamente. Entonces se verifica que

∫(∫_(∂D))F. n dS = ∫∫(∫_D)div F(x, y, z)d(x, y, z)

Es decir, el flujo del campo F a través de la frontera ∂Ddel dominio D es igual a la integral de la divergencia del campo en D. Este teorema relaciona una integral de superficie con una integral de volumen. El teorema de la divergencia tiene dos autores Gauss y Ostrogradsky los textos atribuyen su autoría a uno u otro según las simpatías del autor de turno aunque lo más justo, como hacen muchos textos, sería llamarle teorema de Gauss-Ostrogradsky.

Aplicando el teorema de la divergencia al dominio B(x, ϵ) formado por una bola de centro x y radio ϵ se deduce fácilmente que

(lim_(ϵ -> 0))(1/(vol(B(x, ϵ))))∫(∫_(∂B(x, ϵ)))F. n dS=div F(x, y, z)

lo que permite interpretar la divergencia como el límite del flujo por unidad de volumen. Claramente, cuando div F(x, y, z)>0 entonces para todo ϵ > 0 suficientemente pequeño se tiene que (∫_(∂B(x, ϵ)))F. n dS>0 de modo que el flujo neto a través de ∂B(x, ϵ) es en sentido hacia afuera. Análogamente, cuando  div F(x, y, z)<0 el flujo neto a través de ∂B(x, ϵ) es en sentido hacia dentro.

Aplicaciones de los teorema de Stokes y de la divergencia

Este apartado está copiado casi literalmente de los apuntes de Análisis del profesor de la Universidad de Valencia Dr. Carlos Ivorra. Puedes descargar dichos apuntes y otros muchos, todos ellos excelentes, de su página Web http://www.uv.es/~ivorra. 
El rotacional en hidrodinámica
Empezaremos viendo una interpretación de la circulación de un campo en el contexto de la hidrodinámica. Supongamos que V es el campo de velocidades de un fluido. Esto significa que si liberamos una partícula de masa despreciable en un punto p el fluido la arrastrará con velocidad V(p) (no excluimos que V pueda depender del tiempo además de hacerlo de la posición). Supongamos ahora que en el fluido situamos una bolita sujeta por una varilla rígida a un eje, respecto al cual puede girar a lo largo de una circunferencia de radio r. Es claro que si la bolita se encuentra en el punto p el fluido la hará moverse con velocidad igual a la proyección de V (p) sobre la recta tangente a la circunferencia en p, pues la componente normal de la velocidad será cancelada por las fuerzas que mantienen rígida a la varilla que sujeta la bola. Imaginemos ahora que el eje sujeta a la varilla por el centro y que ésta tiene una bolita en cada brazo como se muestra en la siguiente figura.

molinillo;

Si las bolitas se encuentran en los puntos (Subscript[p, 1]) y (Subscript[p, 2]), entonces su velocidad (que en módulo ha de ser la misma para ambas a causa de la rigidez de la varilla) estará determinada por los vectores V ((Subscript[p, 1])) y  V ((Subscript[p, 2])). Al igual que en el caso anterior en realidad dependerá sólo de las proyecciones (Subscript[v, 1])=V ((Subscript[p, 1])) . T((Subscript[p, 1]))T((Subscript[p, 1]))  y  (Subscript[v, 2])=V ((Subscript[p, 2])) . T((Subscript[p, 2])) T((Subscript[p, 2])) (donde hemos notado por T(p)el vector tangente unitario a la circunferencia en el punto p). Por ejemplo, en el caso indicado en la figura, donde  V ((Subscript[p, 1])) . T((Subscript[p, 1]))=2 y V ((Subscript[p, 2])) . T((Subscript[p, 2]))=1, la velocidad resultante será el promedio de ambas: la varilla girará en sentido contrario a las agujas del reloj con velocidad (2  -  1)/2  =  1/2. La justificación de esto es la siguiente. Se trata de un problema de conservación de la cantidad de movimiento. De hecho es equivalente al siguiente: dos cuerpos de la misma masa se aproximan frontalmente de modo que sus velocidades son (Subscript[v, 1]) y (Subscript[v, 2]). Si tras el choque se mueven conjuntamente, ¿a qué velocidad lo hacen? La respuesta es que la cantidad de movimiento del sistema es m (Subscript[(v ), 1]) +  m (Subscript[v, 2]) al principio y 2  m v al final. Igualando resulta que v  =  ((Subscript[v, 1])  +  (Subscript[v, 2]))/2. El fluido comunica una cantidad de movimiento a las bolitas y la varilla se limita a unificar las velocidades sin alterar la cantidad de movimiento.
Supongamos ahora que en vez de una varilla con dos bolitas tenemos un molinillo con n aspas. Entonces el valor numérico de la velocidad resultante será

(1/n)V((Subscript[p, 1])) . T((Subscript[p, 1]))+(1/n)V((Subscript[p, 2])) . T((Subscript[p, 2]))+...+(1/n)V((Subscript[p, n])) . T((Subscript[p, n]))

Que podemos escribir en la forma

(1/(2  π r))(((2  π r)/n)V((Subscript[p, 1])) . T((Subscript[p, 1]))+((2  π r)/n)V((Subscript[p, 2])) . T((Subscript[p, 2]))+...+((2  π r)/n)V((Subscript[p, n])) . T((Subscript[p, n])))

donde r es el radio de la circunferencia. Esto equivale a considerar la circunferencia dividida en n partes iguales de longitud Δ s = 2  π r/n, multiplicar la longitud de cada parte por el valor de V.T en uno de sus puntos, sumar y luego dividir el resultado entre la longitud completa de la circunferencia. Finalmente, si en lugar de un molinillo ponemos un disco S de radio r, el valor numérico de la velocidad que le imprimirá el fluido vendrá dado por

v=(1/(2  π r))(∫_C)V . Tds=(1/(2  π r))(∫_C)V. dr

La velocidad v corresponde a una velocidad angular (Subscript[ω,  r]) =  v/r. Así pues, representando por C  la circunferencia del disco S orientada positivamente, tenemos que

(Subscript[ω,  r])=(1/(2  π (r^2)))(∫_C)V. dr

Sea ahora n un vector unitario normal al disco. En virtud del teorema de Stokes se verifica que

(∫_C)V. dr=∫(∫_S)rotV. ndS

Si el centro del disco es el punto p y el radio r es suficientemente pequeño se verifica que

∫(∫_S)rotV. ndS≃π (r^2)rot V(p) . n

y por tanto

(Subscript[ω,  r])=(1/(2  π (r^2)))(∫_C)V. dr=(1/(2  π (r^2)))∫(∫_S)rotV. ndS≃(1/2)rot V(p) . n

En el límite se tiene la igualdad

(lim_( r ->  0)) (Subscript[ω,  r])=(1/2)rot V(p) . n

Así pues, la velocidad angular que adquirirá la rueda es (aproximadamente) la mitad de la proyección del rotacional sobre el eje de giro. Claramente el rotacional indica la dirección en que hemos de situar el eje para que la velocidad de rotación sea máxima.

La ecuación de continuidad
Sea V(x, y, z, t) el campo de velocidades de un fluido y sea ρ(x, y, z, t)su densidad (en general ambos dependen de la posición (x, y, z) y del tiempo t). Sea p = (x, y, z) un punto cualquiera y Suna esfera de centro p. La cantidad de fluido contenida en S en un instante dado es la integral de ρ sobre la bola B de frontera S, luego la variación de esta masa (debida a la variación de la densidad del fluido respecto al tiempo) es

\(\(d\/\(d\ t\)\) \(∫\(∫\(∫\_B\( ρ(x, y, z, 
                      t)\) d\((x, y, z)\)\)\)\)\)=\(∫\(∫\(∫\_B\(∂\/∂t\) \(ρ(x, y, z, t)\) d\((x, y, z)\)\)\)\)

En la lección anterior vimos que el flujo del campo ρV a través de S se interpreta como la masa de fluido que sale de S por unidad de tiempo. Sea r el radio de B y

(Subscript[ψ, r])(p, t)=\(∫\(∫\(∫\_B\(∂\/∂t\) \(ρ(x, y, z, t)\) d\((x, y, z)\)\)\)\)+∫(∫_S)ρ(x, y, z, t)V(x, y, z, t) . n(x, y, z)dS=
\(∫\(∫\(∫\_B\(∂\/∂t\) \(ρ(x, y, z, t)\) d\((x, y, z)\)\)\)\)+∫∫(∫_B)div(ρ(x, y, z, t)V(x, y, z, t))d(x, y, z)=
∫∫(∫_B)((∂/∂)t ρ(x, y, 
                            z, t)+div(ρ(x, y, z, t)V(x, y, z, t)))d(x, y, z)

donde en la segunda igualdad hemos usado el teorema de la divergencia (se entiende que el operador divergencia "div" indica derivación respecto a las variables espaciales x, y, z). Así, (Subscript[ψ, r])(p, t)es el incremento de la masa de fluido en B por unidad de tiempo menos la cantidad de masa que entra en B a través de S por unidad de tiempo. Por consiguiente (Subscript[ψ, r])(p, t)/vol(B) es la cantidad de masa neta que se crea en B por unidad de tiempo y de volumen (el aumento o la disminución de masa en B que no entra ni sale por su frontera). Un razonamiento ya varias veces repetido permite probar fácilmente que

ψ(p, t)=(lim_(r -> 0))(((Subscript[ψ, r])(p, t))/(vol(B)))=(∂/∂)t ρ(x, y, z, 
                    t)+div(ρ(x, y, z, t)V(x, y, z, t))

donde ψ(p) representa la cantidad de fluido que se crea alrededor de p por unidad de tiempo y de volumen. La ecuación

ψ(p, t)=div(ρ(p, t) V(p, t))+ ∂(ρ/∂) t (p, t)

se denomina ecuación de continuidad de la hidrodinámica. 
Los puntos donde ψ > 0se llaman fuentes (son puntos donde aparece fluido) y los puntos donde ψ < 0 se llaman sumideros (en los cuales desaparece fluido). Si no hay fuentes ni sumideros, es decir, cuando la masa neta se conserva, se tiene que ψ es idénticamente nula y la ecuación de continuidad adopta la forma más usual

div(ρ(p, t) V(p, t))+ ∂(ρ/∂) t (p, t)=0

Si la densidad ρ es constante el fluido se llama incompresible  y entonces la ecuación fundamental se reduce a que ρ div V en un punto p es igual a la cantidad de fluido que se crea alrededor de p por unidad de masa y de volumen. Si además no hay fuentes ni sumideros, la ecuación de continuidad se reduce a div V=0.

La ley de Gauss y la ecuación de Poisson en electrostática
Recuerda que el campo eléctrico creado por una carga puntual Q situada en un punto a∈(ℝ^3)viene dado por

E (x)=(1/(4  π ϵ))((  Q)/(||x-a((||)^3)))(x- a)                  (x∈(ℝ^3),x≠a)

donde ϵ es la permisividad del medio. Recuerda que E(x) es la fuerza que experimentaría una carga positiva de 1 culombio que estuviera situada en el punto x. Es fácil comprobar por cálculo directo que div E(x)=0 para todo x∈(ℝ^3), x≠a. En consecuencia, el teorema de la divergencia nos dice que el flujo eléctrico neto a través de cualquier superficie cerrada que no rodee al punto a es nulo. Observa que si la superficie cerrada contiene al punto a entonces no podemos aplicar el teorema de la divergencia porque el campo no está definido en ningún abierto que contenga a dicha superficie y a su interior. Estudiemos lo que ocurre en este caso. Sea G un dominio regular que contiene al punto a y tomemos una bola B centrada en a y de radio r > 0 de manera que esté contenida en G. Consideremos el dominio \(TraditionalForm\`D = G\B\) que se obtiene quitándole a G la bola B. Es claro que el dominio D no contiene a y que \(TraditionalForm\`∂D = ∂B ⋃ \(\(∂\)\(G\)\(\ \)\)\). La orientación positiva en ∂G es la misma respecto a G y respecto a D y viene dada por la normal exterior a G, mientras que la orientación positiva en  ∂B como parte de la frontera de \(TraditionalForm\`D = G\B\) es la dada por el vector normal que apunta hacia dentro de B, es decir, la opuesta a su orientación positiva como frontera de B. En consecuencia tenemos que

0=∫∫(∫_D)div E(x)dx=∫(∫_(∂D))E(x) . n(x)dS=∫(∫_(∂G))E(x) . n(x)dS -∫(∫_(∂B))E(x) . n(x)dS

de donde

∫(∫_(∂G))E(x) . n(x)dS =∫(∫_(∂B))E(x) . n(x)dS

Pero la última integral es inmediata porque para x ∈ ∂B se tiene que

E(x) . n(x)=(1/(4  π ϵ))(( Q)/(r^3))(x-a) . n(x)=(1/(4  π ϵ))\(\(\(\ \)\(Q\)\)\/r\^3\)(x-a) . (((x-a))/r)=\(\(1\/\(4  π\ ϵ\)\) \(\(\ \)\(Q\)\)\/r\^2\)

luego

∫(∫_(∂G))E(x) . n(x)dS =(1/(4  π ϵ))∫(∫_(∂B))\(\(\(\(\ \)\(Q\)\)\/r\^2\) dS\)=(1/(4  π ϵ)) (( Q)/(r^2)) 
              4  π (r^2) = (( Q)/ϵ)

Este resultado se generaliza inmediatamente para el campo eléctrico producido por un número finito, n,  de cargas puntuales (Subscript[q, j]) situadas en los puntos (Subscript[a, j])∈(ℝ^3). Dicho campo viene dado por la suma vectorial de los campos creados por cada carga

E (x)=(1/(4  π ϵ))(Overscript[((∑_(j = 1))), n])((  (Subscript[q, j]))/(||x-(Subscript[a, j])((||)^3)))(x- (Subscript[a, j]))                  (x∈(ℝ^3),x≠(Subscript[a, j]))

Se tiene que div E(x)=0 para todo x∈(ℝ^3), x≠(Subscript[a, j]). En consecuencia, el teorema de la divergencia nos dice que el flujo neto de E a través de cualquier superficie cerrada que no encierre a ninguno de los puntos (Subscript[a, j]) es nulo. Mientras que si la superficie S encierra algunos de dichos puntos y es Q la suma de las cargas que encierra se tiene que

∫(∫_S)E(x) . n(x)dS =(Q/ϵ)

Consideremos ahora que tenemos una distribución continua de cargas en un dominio regular Ω del espacio. Es decir, tenemos una función continua\(TraditionalForm\`\(\(\ \)\(ρ : Ω -> ℝ\)\)\) llamada densidad de carga que se anula fuera de Ω tal que la carga neta contenida en un conjunto E ⊂ Ω viene dada por (∫_E)ρ(x)dx. En este caso, la suma que corresponde a una distribución finita de cargas se convierte en una integral y el campo viene dado por

E(x)=(1/(4  π ϵ))(∫_Ω)((ρ(y))/(||x-y\( || \^3\)))(x-y)dy                     (x∈(ℝ^3))

donde se entiende que la integral de una función vectorial es el vector formado por la integral de cada una de sus componentes. Fíjate en que si x∈Ω el integrando no está definido en x pero se demuestra que la integral tiene sentido. En este caso la ley de Gauss adopta la forma siguiente: si D es un dominio regular con frontera S = ∂Dse verifica que

∫(∫_S)E(x) . n(x)dS =(1/ϵ)∫∫(∫_D)ρ(x)dx

Usando ahora el teorema de la divergencia tenemos

∫∫(∫_D)divE(x) dx=(1/ϵ)∫∫(∫_D)ρ(x)dx

o lo que es igual

∫∫(∫_D)(divE(x)-((ρ(x))/ϵ))dx=0

Como esta igualdad tiene que ser válida para todo dominio regular D, concluimos que

divE(x)=((ρ(x))/ϵ)

Es sabido que el campo eléctrico es conservativo. En el caso que nos ocupa se verifica que la función

V(x)=(1/(4  π ϵ))(∫_Ω)((ρ(y))/(||x-y||))dy                     (x∈(ℝ^3))

es una función potencial para E, es decir, se verifica la igualdad

E(x, y, z)=-∇V(x, y, 
                z) = -(∂(V/∂) x (x, y, 
                  z), ∂(V/∂) y (x, y, 
                  z), ∂(V/∂) z (x, y, 
                  z))

En consecuencia

div(∇V) (x, y, z)=-((ρ(x, y, z))/ϵ)

que es la ecuación de Poisson. Un sencillo cálculo permite comprobar que para cualquier campo escalar f  de clase (C^2)se verifica que

div (∇ f) (x, y, 
              z) = (∂^2) (f/∂)(x^2) (x, y, 
                z) + (∂^2) (f/∂)(y^2) (x, y, 
                z) + (∂^2) (f/∂)(z^2) (x, y, z)

La expresión

Δ f(x, y, z)=(∂^2) (f/∂)(x^2) (x, y, 
                    z) + (∂^2) (f/∂)(y^2) (x, y, 
                    z) + (∂^2) (f/∂)(z^2) (x, y, 
                    z)

se llama laplaciana del campo escalar f. El operador Δ :  
          f -> Δ f se llama operador de Laplace. La ecuación de Poisson para el potencial eléctrico suele escribirse en la forma condensada Δ V = -ρ/ϵ.

Funciones armónicas

Sea f  un campo escalar de clase (C^2) definido en un abierto Ω⊂(ℝ^3). Se dice que f es una función armónica en Ω si para todo (x, y, z) ∈ Ω se verifica que

(∂^2) (f/∂)(x^2) (x, y, 
                  z) + (∂^2) (f/∂)(y^2) (x, y, 
                  z) + (∂^2) (f/∂)(z^2) (x, y, 
                  z)=0

Dicho en otras palabras, las funciones armónicas en Ω son las soluciones de la ecuación de Laplace  Δ f(x, y, z) = 0 en Ω.

Es fácil comprobar que la función f definida para todo (x, y, z) ≠  (0, 0, 0) por

f(x, y, z) = (1/(||(x, y, z)||)) = 
        (1/(Sqrt[(x^2) + (y^2) + (z^2)]))

es armónica en \(TraditionalForm\`ℝ\^3\{\((0, 0, 0)\)}\).

El teorema de la divergencia para un campo conservativo F(x, y, z)=-∇f(x, y, z) adopta la forma

∫(∫_(∂D))F(x, y, z). n dS =-∫(∫_(∂D))∇ f(x, y, z) . n dS =\(-\(∫\(∫\_\(∂D\)\(∂\ f\/∂n\) \((x, y, z)\) dS\)\)\)=∫∫(∫_D)div F(x, y, z)d(x, y, z)=\(\(-\(∫\(∫\(∫\_D 
                          div ∇\(f(x, y, z)\) \(d(x, y, 
                            z)\)\)\)\)\) = \(-\(∫\(∫\(∫\_D Δ\ \(f(x, y, 
                            z)\) d\((x, y, 
                              z)\)\)\)\)\)\)

esto es

\(TraditionalForm\`∫\(∫\_\(∂D\)\(∂\ f\/∂n\) \((x, y, 
              z)\) dS\) = ∫\(∫\(∫\_D Δ\ \(f(x, y, 
                z)\) d\((x, y, z)\)\)\)\)

donde hemos tenido en cuenta que el producto escalar del gradiente de un campo escalar por un vector unitario es igual a la derivada de dicho campo escalar en la dirección dada por dicho vector, por ello ∇f(x, y, z) . n =∂ (f/∂)n (x, y, z) es la derivada de f en el punto (x, y, z) en la dirección de la normal exterior a la superficie ∂Den dicho punto. En particular, deducimos que para toda función  f armónica en un abierto que contenga al dominio regular D y a su frontera se verifica que

\(TraditionalForm\`∫\(∫\_\(∂D\)\(∂\ f\/∂n\) \((x, y, z)\) dS\) = 0\)

Ejercicios