Solucion Numerica a La Ecuacion de Laplace

11
  UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE CIENCIAS TEMA: Solución Numérica de la Ecuación de La ecuación de Laplace

Transcript of Solucion Numerica a La Ecuacion de Laplace

UNIVERSIDAD NACIONAL DE INGENIERIAFACULTAD DE CIENCIAS

TEMA: Solucin Numrica de la Ecuacin de La ecuacin de Laplace

Solucin Numrica de la Ecuacin de LaplaceResumenResolveremos la ecuacin de Laplace, para el caso particular de una regin cuadrada, reducindola por diferencias finitas a una forma algebraica, para de esta forma, con el algoritmo adecuado y haciendo uso de la computadora, podamos resolver el problema de forma aproximada. Modificando el programa que resuelve dicha ecuacin ser posible resolver la ecuacin de Poisson o calcular la capacitancia de un sistema de conductores cuadrados.

IntroduccinEn ciencias e ingeniera cuando queremos describir cuantitativamente un fenmeno fsico lo primero que hacemos es plantear un conjunto de ecuaciones diferenciales que describen el fenmeno y las condiciones de contorno e iniciales. El segundo paso es resolver ese sistema para un cierto conjunto de datos. Es aqu donde aparecen los problemas, ya que solo es posible resolverlas exactamente (analticamente) si las ecuaciones son muy simples y estn definidas en un dominio de geometra simple. Por tal motivo lo que se hace es replantear el problema de una forma totalmente algebraica, esto se hace posible discretizando el problema continuo definido por las ecuaciones diferenciales. La forma ms simple de discretizacion, es el proceso de diferencias finitas, que nos lleva a una aproximacin del problema real. En la actualidad la cantidad de mtodos usados, para resolver ecuaciones diferenciales ah aumentado considerablemente debido al auge de las computadoras, desde el mtodo de diferencias finitas, Euler, Runge Kutta, Relajacin sucesiva hasta lo mas ultimo que son la aplicacin de las redes neuronales y uso de algoritmos genticos.

Fundamento terico y Clculos

Diferenciacin numricaLa diferenciacin numrica, o aproximacin por diferencias, se usa para evaluar las derivadas de una funcin por medio de sus valores dados en los puntos de una retcula. Las diferencias finitas son muy importantes para la resolucin de ecuaciones diferenciales. Para una derivada de orden p, el mnimo numero de datos necesario para obtener una aproximacin por diferencias es p+1.Por ejemplo, una aproximacin por diferencias para la primera derivada de una funcin necesita al menos dos puntos.

Si tenemos una funcin analtica y m+1 datos discretos

( xk , yk )

con

xi

xi

1

xi podremos

hallar una derivada de orden m. El caso mas simple es aquel en que nombre de paso Usando la siguiente notacin.

xi

h , donde h recibe el

fi

f ( xi )n

fi

f ( xi n )

f ( xi

n. x)

x

h : Paso

Los valores de f en todos los puntos distintos de El desarrollo de Taylor de

xi se desarrollan en una serie de Taylor.es:

fifi

1

alrededor de

xi

fi

1

hfi1

h2 fi 2

h3 (3) fi 6

h4 (4) fi ... 24

(1)

El desarrollo de Taylor de

fi

alrededor de

xi

es:

fi

1

fi hfi

h2 fi 2

h3 (3) fi 6

h4 (4) fi ... 24

(2)

De (1)+ (2), tenemos:

fiDespejando f :

1

fi

1

2 fi

h2 fi

h4 (4) fi ... 12

fi (2)

fi

1

2 fi h2

fi

1

O( h 2 )

(3) y el error para h muy

La ecuacin (3), se llama aproximacin por diferencias centrales de f pequeo se representa como:2

O( h )

h2 (4) fi 12

(4)

Ecuacin de LaplaceEs un caso particular de la ecuacin de Poisson, en que la carga elctrica que produce el campo elctrico (y por lo tanto potencial) esta distribuida en la superficie frontera o fuera de la regin, por lo que la ecuacin de Poisson quedara como:2

V

0

(5)

Que expresada en coordenadas cartesianas es:2 2

V ( x, y , z )

V x2

2

V y2

2

V z2

0(6)

Aproximaciones por diferencias finitas para las geometras rectangularesConsideremos, el problema bidimensional con dominio definido en la figura siguiente:

Enumeramos los puntos de la retcula por i en la direccin x y j en la direccin y. Obtenemos la ecuacin en diferencias para un punto (i, j) de la retcula situada dentro de la frontera. Haciendo uso de la ecuacin (3), aproximamos los dos trminos de la ecuacin de Laplace:2

Vi x2Vj2

Vi

1, j

2Vi , j Vi ( x)2

1, j

(7)

2

Vi , j

1

2Vi , j Vi , j ( y)2

1

y

(8)

Sustituyendo estas ecuaciones en la ecuacin (6), tenemos:

Vi , j

1

2Vi , j Vi , j ( y)2

1

Vi

1, j

2Vi , j Vi ( x)2

1, j

0i , j

(9)

La ecuacin (9), puede aplicarse a todos los puntos de la retcula (vea el grafico de la derecha) excepto a los de la frontera.

La ecuaciones en diferencias para puntos de la rejilla que se encuentran en la frontera requieren un tratamiento diferente ya que el numero de puntos vecinos es menor que cuatro y deben tomarse en cuenta las condiciones en la frontera. Considerando la frontera inferior (vea el grafico de la derecha), con 1 i imax y j 1 , el primer trmino de la ecuacin diferencial lo podemos aproximar mediante la ecuacin (7) pero el segundo lo aproximamos por diferencias hacia adelante con un paso

y : 2

2

V y2

V yi ,1

i ,1

1 2

V y

i ,1

y 2

Aproximamos el primer trmino de la ecuacin anterior por diferencias centrales:

V yPor lo que tenemos:

Vi ,2 Vi ,1i ,1 1 2

y

2

V y2

Vi ,2 Vi ,1 yi ,1

V y y 2

i ,1

(10)

La ecuacin de Laplace en este caso seria:

Vi ,2 Vi ,1 y y 2

V y

i ,1

Vi

1,1

2Vi ,1 Vi ( x)2

1,1

0i ,1

(11)

De forma anloga a como se obtuvo la ecuacin (11), para un punto i 1 y1

j

jmax en la frontera izquierda, usamos la ecuacin (8) para

aproximar el segundo trmino de (6), pero, para aproximar el primer trmino usamos diferencias hacia adelante con un paso

x , obteniendo: 2

V2, j V1, j x x 2

V x

1, j

V1, j

1

2V1, j V1, j ( y)2

1

01, j

(12)

Para un punto de la esquina en i

j 1 , tendramos:

V1,2 V1,1 y y 2

V y

1,1

V2,1 V1,1 x x 2

V x

1,1

01,1

(13)

Solo necesitaramos las condiciones de frontera para reducir estas ecuaciones. Si elegimos valores razonablemente pequeos

x y y para los espaciamientos de la rejilla y

consideramos un punto que adems no est cerca de la carga fuente. Podemos comparar el potencial computado en un punto, con el promedio del potencial de sus cuatro vecinos ms cercanos y se observara que el error cometido es despreciable, y a medida que hacemos

xy

y ms pequeos es irrelevante si x

y o no, pues el potencia en (i, j) que se calcula de la

ecuacin (9), no va a depender de esta condicin. Usando esta igualdad en la ecuacin (9):

Vi

1, j

2Vi , j Vi

1, j

Vi , j

1

2Vi , j Vi , j

1

0i , j

tenemos:

V ( x, y)

1 V (x 4

x, y) V ( x

x, y) V ( x, y

y) V ( x, y

y)(14)

Ac, observamos que, analticamente el potencial de un punto (x, y), se puede hallar conociendo el potencial de sus cuatro vecinos prximos. Estas, aproximacin de las que se habla, se verifican con el programa verificador5(quinta version), que computa el potencial de los vecinos, el potencial del punto en anlisis y el potencial deducido de la ecuacin (9) en donde se considera los espaciamientos, cuyo cdigo es el siguiente:

program verificador5implicit none integer::i,j real::L,dx,dy,V0,V1,x1,y1 real::V2,V3,V4,Vaprox,Vexact integer::z,w character::quiere real,dimension(:),allocatable::P,Q !verifica la forma discreta de la ecuacion de laplace !para una carga puntual en una region cuadrada !consideremos cinco puntos de la reticula write(*,*) "tamao del lado de la rejilla = ";read(*,*) L write(*,*) "espaciamiento de la rejilla en la direccion x = ";read(*,*) dx write(*,*) "espaciamiento de la rejilla en la direccion y = ";read(*,*) dy z=L/dx;w=L/dy allocate(P(z+1),Q(w+1)) !Creacion de la rejilla P(1)=0;Q(1)=0 do i=2,z+1 P(i)=i*dx

end do do j=2,w+1 Q(j)=j*dx end do write(*,*) "intervalos en X: ",z write(*,*) "intervalos en Y:",w write(*,*) "indices de un punto interior a la " write(*,*) "rejilla que pueden tomarse:" write(*,*) "i = 2",z write(*,*) "j = 2",w do write(*,*) "en que punto se encontrara la carga?" write(*,*) "x =";read(*,*) x1 write(*,*) "y =";read(*,*) y1 write(*,*) "elija los indices del punto interior de la rejilla" write(*,*) "donde quiere calcular el potencial:" write(*,*) "i = ";read(*,*) i write(*,*) "j = ";read(*,*) j if ((1/=i).and.(i/=z+1))then if ((1/=j).and.(j/=z+1))then write(*,*)" V0 Vaprox Vexact"

call potencial(P(i),Q(j),x1,y1,V0) call potencial(P(i+1),Q(j),x1,y1,V1) call potencial(P(i),Q(j-1),x1,y1,V2) call potencial(P(i-1),Q(j),x1,y1,V3) call potencial(P(i),Q(j+1),x1,y1,V4) Vaprox=0.25*(V1+V2+V3+V4)

Vexact=0.5*((V2+V4)*(dx)**2+(V1+V3)*(dy)**2)/((dx)**2+(dy)**2) !a q se debe q el potencial exacto, difiere bastante del Vaprox y V0 write(*,*) V0,Vaprox,Vexact end if end if write(*,*) "desea continuar?" write(*,*) "si, aprete: S" write(*,*) "no, aprete: N" read(*,*) quiere if ((quiere=='N').or.(quiere=='n')) exit end do contains subroutine potencial(p,q,x,y,v) !calcula el potencial en un punto (x,y) real::p,q,x,y,v v=1.0/sqrt((x-p)**2+(y-q)**2) end subroutine end

Clculos ISi, introducimos en nuestro programa, espaciamientos muy pequeos tales como dx=9.000000E-04 dy= 0.315000 los intervalos en X serian 5555 y los intervalos en Y 15. Si fijamos un punto interior a la rejilla donde queremos hallar el potencial con ndices i = 555, j = 7 el programa muestra los siguientes valores:

C(a)3.00000 3.00000 6.00000 6.00000 12.0000 21.0000

D(b)1.00000 12.0000 8.00000 14.0000 15.0000 10.0000

V00.321055 8.092786E-02 0.100305 6.574035E-02 5.214385E-02 4.307736E-02 Tabla1

Vaprox0.321055 8.092785E-02 0.100305 6.574035E-02 5.214385E-02 4.307736E-02

Vexact0.321055 8.092786E-02 0.100305 6.574034E-02 5.214385E-02 4.307736E-02

Si, introducimos en nuestro programa, espaciamientos muy pequeos tales como dx= 0.900000 dy= 0.100000 los intervalos en X serian 5 y los intervalos en Y 49. Si fijamos un punto interior a la rejilla donde queremos hallar el potencial con ndices i = 3, j = 7 el programa muestra los siguientes valores:

C(a)3.00000 3.00000 6.00000 9.00000 12.0000 15.0000

D(b)1.00000 41.0000 10.0000 20.0000 5.00000 34.0000

V0

Vaprox

Vexact0.193824 2.883641E-02 0.203837 6.648864E-02 0.106051 3.301606E-02

0.188378 0.189838 2.881737E-02 2.882222E-02 0.201701 0.203276 6.631684E-02 6.637596E-02 0.106491 0.106742 3.299450E-02 3.300177E-02 Tabla 2

Conclusin IObservamos de la tabla 1, que prcticamente no hay diferencias, entre V0,Vaprox y Vexact pues tomamos valores muy pequeos para los espaciamientos. Lo anterior no sucede en la tabla 2, pues ac, si se observa ciertas diferencias de orden de centsimas entre estas 3 formas de calcular el potencial. Por lo que podemos decir que; si deseamos resultados precisos, los espaciamientos los hagamos pequeos, o cojamos el punto donde se aloja la carga, muy lejana al punto donde se mide el potencial, asi crearamos el mismo efecto. hay que tener en cuenta, que estos potenciales se diferencian entre si, y se diferencian del verdadero valor del potencial debido a que hemos cometido errores; de truncamiento, al aproximar la serie de Taylor mediante unos cuantos trminos y de redondeo, ocasionado por la maquina en la que estamos trabajando, adems nuestro programa, no usa nmeros en doble precisin. Los datos obtenidos en las tablas se realizaron creando dos vectores C y D de medidas que pueden ser arbitrarias, y modificando ligeramente el programa original, para que los datos obtenido, vayan a un fichero. Este programa nos va a servir para el siguiente paso, que es calcular el potencia dentro de una regin rectangular, osea resolver la ecuacin de Laplace

Mtodos UsadosEl mtodo de solucin numrica usado para resolver la ecuacin de Laplace (ecuacin diferencial parcial elptica) es el Mtodo de Diferencias Finitas, y se obtiene a partir de una retcula rectangular y tienen la gran ventaja de que se dispone de numerosos mtodos de solucin entre ellos el que nosotros usaremos que es el

Mtodo de Relajacin de Jacobi, pero con la

desventaja de que es difcil adaptarla a una geometra curva. Ahora que demostramos la ecuacin (14), que es una forma de la ecuacin de Laplace en diferencias finitas, y que es consistente con la ley de Coulomb, esta ecuacin ser nuestra base para encontrar el potencial de sistemas en que no es fcil calcularlo directamente.

Analizaremos problemas donde se da el potencial de una superficie cerrada. Para simplificar las cosas, consideramos geometras bidimensionales. El algoritmo del Mtodo de Relajacin de Jacobi, es el siguiente: 1. Ya que la regin de anlisis es limitada por una curva con valores de potencial especificados. Dividimos la regin de estudio en una rejilla rectangular de puntos. 2. Asignamos a un punto de la frontera, el potencial del lmite ms cercano al punto. 3. Asignamos a todos los puntos interiores un potencial arbitrario (valor de potencial razonable). 4. Calculamos valores nuevos para el potencial en cada punto interior. Estos nuevos valores los obtenemos hallando el promedio de los potenciales de los cuatro vecinos ms cercanos. 5. Repetimos el paso anterior, usando el nuevo valor de V obtenido de la iteracin anterior, esto lo hacemos hasta que calculamos el potencial en cada punto interior con la precisin deseada.

BibliografaEn internet: Mtodos computacionales en ingeniera http://faint.uncoma.edu.ar/materias/mtodos_computacionales_I Physics Computational http://einstein.drexel.edu/courses/CompPhys/Physics-306/index.html Electromagnetic Fields 1995-1999 http://newton.ex.ac.uk/teaching/CDHW/EM Facultad de Ciencias Informticas,http://www.infor.uva.es/ belar/

Fortran 90 for the Fortran 77 Programmer

Numerical Recipes

Soichiro nakamura