Read Tesis de Maestria text version

´ Centro de Investigacion y de Estudios Avanzados ´ del Instituto Politecnico Nacional Unidad Zacatenco ´ Departamento de Ingenier´ Electrica ia ´ ´ Seccion Computacion

Interfaces para un sistema de c´mputo o que resuelve la ecuaci´n de o Ornstein - Zernike

Tesis que presenta

Luz Virginia Morales Mor´n o

para obtener el grado de

Maestr´a en Ciencias i

en la especialidad de

Ingenier´a El´ctrica i e

con opci´n de o

Computaci´n o

Director de la tesis

Guillermo Benito Morales Luna

M´xico, D.F. e Junio 2004

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

ii

Ing. Luz Virginia Morales Mor´n o

´ Indice general

Resumen Abstract Agradecimientos Dedicatoria 1. Introducci´n o 2. La ecuaci´n de Ornstein-Zernike o 2.1. Desarrollos alternativos actuales . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Descripci´n de la ecuaci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . o o 2.3. Dise~o computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . n 3. Tratamiento matem´tico y num´rico a e 3.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Coordenadas esf´ricas prolatas . . . . . . . . . . . . . . . . . . . . . . . e 3.2.1. Cambio de variable . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2. Transformaci´n de mallados . . . . . . . . . . . . . . . . . . . . . o 3.3. Procedimiento de integraci´n num´rica . . . . . . . . . . . . . . . . . . . o e 3.3.1. Presentaci´n del problema . . . . . . . . . . . . . . . . . . . . . . o 3.4. M´todo de Newton-Raphson y convergencia global para el problema de e Ornstein-Zernike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Principales par´metros involucrados en la resoluci´n de la ecuaci´n de a o o Ornstein-Zernike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1. Proceso de especificaci´n de mallas planares . . . . . . . . . . . . o 3.6. C´lculo de funciones n´cleo . . . . . . . . . . . . . . . . . . . . . . . . . a u 3.6.1. C´lculo de ra´ a ices de operadores en t´rminos de las funciones que e calculan los n´cleos de la ecuaci´n de Ornstein-Zernike . . . . . . u o 3.7. C´lculo de las funciones que involucran a los procedimientos n´cleo en a u t´rminos de la ecuaci´n de Ornstein-Zernike . . . . . . . . . . . . . . . . e o 3.8. Despliege de soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

VII

IX

XI

XIII

1 5 5 8 9 13 13 16 16 20 20 20

. . . . . .

. 22 . 24 . 24 . 32 . 35 . 39 . 42

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o 4. Alternativa de dise~ o para el sistema de c´mputo que resuelve la ecuaci´n n o o OZ 47 4.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2. Dise~o del sistema de acceso al servidor Web . . . . . . . . . . . . . . . . . 47 n 4.3. Base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4. Dise~o del sistema en lenguaje C . . . . . . . . . . . . . . . . . . . . . . . 48 n 4.5. Esquema general del sistema que resuelve la ecuaci´n de Ornstein-Zernike . 50 o 5. Dise~ o e implementaci´n del sistema n o 53 5.1. Implementaci´n del procesamiento num´rico . . . . . . . . . . . . . . . . . 53 o e 5.2. Entradas y salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6. Conclusiones y trabajo futuro 73 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 A. Manual de usuario del sistema 75 A.1. Usuario autorizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.2. Usuario sin privilegios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 B. Manual de administrador del sistema B.1. Requerimientos de software . . . . . B.2. Carpetas que deben ser creadas . . . B.3. Manipulaci´n de la base de datos . . o B.4. Interfaz del usuario administrador . . Bibliograf´ ia 91 91 91 92 92 102

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

iv

Ing. Luz Virginia Morales Mor´n o

´ Indice de figuras

2.1. Volumen constante del calor espec´ ifico Cv para SCOZA comparado con resultados exactos. Se nota que el calor especifico para SCOZA no diverge hasta el m´ximo, muestran un semblanza de modelos de tama~o finito . . a n 2.2. Residuales entre el SCOZA y resultados exactos. Para resultados ´ptimos o de tama~o finito, las derivaciones son mas peque~as que × de resuln n tados exactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Modelo de esfera dura de Yakuwa . . . . . . . . . . . . . . . . . . . . . . 2.4. La polarizaci´n M SA del par´metro lambda para un ion bipolar mezclado o a como una funci´n de concentraci´n molar . . . . . . . . . . . . . . . . . . o o

.

6

. . .

7 7 8 14 18 18 18 18 21 21 30 31 31 31 39 42 42 43 43 44 44 44 44

3.1. Complejo formado por dos part´ iculas y . Donde esta localizada en el centro de masa de y entonces m = m + m . . . . . . . . . . . . 3.2. Gr´ficas de la funci´n M . . . . . . . . . . . . . . . . . . . . . . . . . . . . a o 3.3. Gr´ficas de la primera componente de . . . . . . . . . . . . . . . . . . . a 3.4. Gr´ficas de la segunda componente de . . . . . . . . . . . . . . . . . . . a 3.5. Gr´ficas de la tercera componente de . . . . . . . . . . . . . . . . . . . . a 3.6. Algunos efectos de la transformaci´n . . . . . . . . . . . . . . . . . . . . o 3.7. Algunos otros efectos de la transformaci´n . . . . . . . . . . . . . . . . . o 3.8. Malla determinada por P × (Q1 Q2 ) . . . . . . . . . . . . . . . . . . . . 3.9. Malla (P × (Q1 Q2 )) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10. Malla (P × Q1 ) R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11. Malla ((P × Q1 ) R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12. Gr´fica determinada por abc y wei, arreglos generados en 4arg . . . . . . . a 3.13. Gr´fica determinada por 1 = 2 y 1 = 0.5, nucleo1 positivo y negativo . a 3.14. Gr´fica determinada por 1 = 1 y 1 = 1, nucleo1 positivo y negativo . . . a 3.15. Gr´fica determinada por 1 = 21.1 y 1 = 0.1, nucleo1 positivo y negativo a 3.16. Gr´fica determinada por 1 = 15 y 1 = 0.1, nucleo2 positivo y negativo . a 3.17. Gr´fica determinada por 1 = 1.1 y 1 = 0.5, nucleo2 positivo y negativo . a 3.18. Gr´fica determinada por 1 = 1.1 y 1 = 0.1, nucleo3 positivo y negativo . a 3.19. Gr´fica determinada por 1 = 3 y 1 = 0.1, nucleo3 positivo y negativo . . a 3.20. Gr´fica determinada por 1 = 15 y 1 = 0.1, nucleo3 positivo y negativo . a

4.1. Esquema general del sistema que resuelve la ecuaci´n OZ . . . . . . . . . . 52 o 5.1. Elemento finito triangular de 7 nodos. . . . . . . . . . . . . . . . . . . . . . 57 v

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o A.1. Pantalla de acceso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2. Opciones de trabajo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3. Entrada de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4. Entrada de datos y coordenadas. . . . . . . . . . . . . . . . . . . . . . . . A.5. Generaci´n de los datos de iniciales del procedimiento de Newton-Raphson. o A.6. Ejecuci´n del sistema que resuelve la ecuaci´n. . . . . . . . . . . . . . . . . o o A.7. Mandar a ejecutar el proceso sin un nombre definido. . . . . . . . . . . . . A.8. Proceso concluido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.9. Pantalla Consultar proceso. . . . . . . . . . . . . . . . . . . . . . . . . . . A.10.Pantalla Borrar procesos. . . . . . . . . . . . . . . . . . . . . . . . . . . . A.11.Pantalla Consultar procesos por pares. . . . . . . . . . . . . . . . . . . . A.12.Pantalla Borrar procesos. . . . . . . . . . . . . . . . . . . . . . . . . . . . A.13.Datos de entrada a pruebas. . . . . . . . . . . . . . . . . . . . . . . . . A.14.Datos de entrada y coordenadas a pruebas. . . . . . . . . . . . . . . . A.15.Mandar a hacer pruebas del proceso sin un nombre definido. . . . . . . . . A.16.Tipos de pruebas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.17.Ejecuci´n de las pruebas. . . . . . . . . . . . . . . . . . . . . . . . . . . . o A.18.Datos de entrada a pruebas de usuario no autorizado. . . . . . . . . . . . A.19.Datos de entrada y coordenadas a pruebas. . . . . . . . . . . . . . . . A.20.Sin nombre de proceso de prueba. . . . . . . . . . . . . . . . . . . . . . A.21.Consultar proceso de prueba. . . . . . . . . . . . . . . . . . . . . . . . . B.1. Estudio computacional de la ecuaci´n de Ornstein-Zernike. o B.2. Opciones de administraci´n del usuario Adminitrador. . . . . . . . o B.3. Opci´n Alta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.4. Opci´n Alta con problema. . . . . . . . . . . . . . . . . . . . . . . o B.5. Opci´n Baja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.6. Opci´n Baja con problema. . . . . . . . . . . . . . . . . . . . . . . o B.7. Opci´n Modificar. . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.8. Opci´n Modificar con problema de llenado. . . . . . . . . . . . . . o B.9. Opci´n Modificar con problema de usuario inexistente. . . . . . . . o B.10.Opci´n Consultar. . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.11.Consultar procesos por pares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 76 77 79 80 81 81 82 82 83 84 85 85 86 86 87 87 88 89 89 90 92 93 94 94 95 96 96 97 97 98 99

vi

Ing. Luz Virginia Morales Mor´n o

Resumen

El presente estudio tiene el prop´sito de crear interfaces para un sistema que resuelve o 1 la ecuaci´n de Ornstein - Zernike , en aras de calcular eficientemente las soluciones de o esta ecuaci´n para l´ o iquidos no-homog´neos. Se ha de proveer al usuario de un ambiente e amigable de trabajo. La importancia de esta tesis estriba en el aspecto t´cnico y se refiere a la eficiente e administraci´n del tiempo y de los recursos humanos. La importancia t´cnica estriba en o e el potencial explicativo que se obtiene para los usuarios del sistema que resuelve la ecuaci´n o OZ ya que permite graficar los pasos intermedios del proceso de soluci´n, especificar en o cual regi´n del plano cartesiano se va a desarrollar la ejecuci´n y, finalmente, establecer o o los par´metros f´ a isicos que intervienen en el procedimiento. Esto implica que cualquier usuario con conocimientos b´sicos de la F´ a isica del problema podr´ verificar el desarrollo a del procedimiento de la ecuaci´n OZ; por ende, los resultados obtenidos al utilizar el o sistema ser´n m´s precisos dado que provee una f´cil manipulaci´n de los datos de entrada. a a a o Tambi´n representa una importante aportaci´n en lo que respecta a la administrae o ci´n del tiempo y los recursos humanos porque de aqu´ en adelante es posible mandar a o i ejecutar el sistema desde cualquier estaci´n de trabajo, evitando al usuario la exigencia de o desplazarse al servidor o de restringir el uso de su computadora unicamente a la ejecuci´n ´ o del sistema. Finalmente, dotamos al sistema de una interfaz gr´fica que permita a un usuario modia ficar los valores sin que sea necesario modificar el programa ni recompilarlo. Este desarrollo est´ hecho en PHP, que permite mostrar el sistema en cualquier navegador WEB, haciena do que sea posible ejecutarlo desde diferentes sistemas operativos. Para lograr esto fue necesario analizar un sistema que resuelve la ecuaci´n, el cual esta hecho en el lenguaje o de programaci´n FORTRAN, redise~ar las rutinas necesarias para la manipulaci´n de o n o los resultados y crear rutinas que permitieran una ´ptima manipulaci´n de los datos de o o entrada en el lenguaje de programaci´n C. o T´rminos m´s usados: L´ e a iquidos no-homog´neos, Ec. OZ, Ra´ de operadores, M´todo e ices e de Newton-Raphson.

1

De aqu´ en adelante OZ i

vii

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

viii

Ing. Luz Virginia Morales Mor´n o

Abstract

The present study aims to establish sound interfaces to a computational system to solve the Ornstein - Zernike equation 2 , which is used to calculate efficiently the solutions of the OZE for non-homogenous liquids. Our work will provide to any user a friendly work environment. The importance of this thesis is rather technical and is related to the efficient administration of both time and human resources. Also the users of the system may have at hand detailed explanations at any computing moment and will be able to display graphs of any intermediate step. It is possible to specify any region in the Cartesian plane in which the transformed equations will be treated. Finally, it is possible to introduce the physical parameters determining the whole procedure. This is with the purpose that any user with basic knowledge of the Physics of the problem will be able to check the OZ equation solving procedure. We estimate our work as an important contribution regarding the system explotation since it is possible to command the system execution from any workstation, avoiding the requirement to move to a server terminal or occupy exclusively a computer to the system execution. Finally, we endowed the system with a graphical interface allowing the user to modify the input parameters without any recompilation. Some of our programs have been done in PHP, hence the system can be displayed at any web browser, independently of the operating system used. Some redesign tasks were accomplised for the original Fortran system and several procedures were re-programmed in the programming language C. Frequently used terms: Non-homogeneous liquids, Ec. OZ, Newton - Raphson's Method, Roots of operators.

2

OZE from now on

ix

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

x

Ing. Luz Virginia Morales Mor´n o

Agradecimientos

Agradezco a el CONACYT por el apoyo econ´mico brindado durante la realizaci´n de o o este proyecto. Agradezco al CINVESTAV, esta intituci´n de enorme calidad, que me brind´ todo el o o apoyo durante mi estancia. Quiero agradecerle a mi asesor de tesis, el Dr. Guillemo Benito Morales Luna, sus conocimientos invaluables que me brindo para llevar a cabo esta investigaci´n, y sobretoo do su gran paciencia para esperar a que este trabajo pudiera llegar a su fin. Agradezco a los miembros del jurado, el Dr. Jos´ Oscar Olmedo Aguirre y al Dr. Luis e Gerardo de la Fraga, por las valiosas contribuciones que hicieron al trabajo final y por el tiempo que dedicaron para revisarlo, a´n a pesar de tantas actividades que los ocupan. u Agradezco a aquellas grandes personas que hacen posible el conocimiento en las aulas de la secci´n, los exelentes profesores del programa de maestr´ A mis compa~eros de la o ia. n generaci´n, por todos los buenos y malos momentos que viv´ con ellos. A todos los que o i alguna vez han compartido sus conocimientos para enriquecernos todos. Agradezco a Sofia Reza, por toda su comprensi´n, nobleza y dedicaci´n que en todo o o momento mostr´ hacia mis compa~eros y a m´ o n i. Agradezco a Jorge Enrique Morf´ Galv´n por todas sus ense~anzas, sugerencias y in a n apoyo a los largo de nuestra valiosa amistad. Agradezco a Luis Cruz Romo por todo su apoyo cuando m´s abatida me sent´ ina ia, yectandome animo para continuar lo que hab´ empezado. ia Agradezco a mi abuela por su cari~o, paciencia, comprensi´n y apoyo desde siempre, n o inculcandome que todo lo que sue~e es posible realizarlo. n Agradezco a mis hermanas quienes me han inundado en la alegr´ de compartir todos ia nuestros sentimientos y proyectos viendo los grandes logros y tropiezos de una forma amena. A mis padres quienes me han heredado el tesoro m´s valioso que puede dasele a una a xi

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o hija, amor. Quienes sin escatimar esfuerzo alguno han sacrificado gran parte de su vida, que me han formado y educado. A quienes la ilusi´n de su existencia ha sido verme o comvertida en persona de provecho. A quienes nunca podr´ pagar con las riquezas mas e grandes de mundo . A ellos los seres universalmente m´s queridos sinceramente Gracias. a

xii

Ing. Luz Virginia Morales Mor´n o

Dedicatoria

Dedico esta tesis a mi madre por ense~arme a ser la persona que soy y a qui´n le admiro n e su fortaleza de car´cter a pesar de todos los problemas a los que se ha enfrentado en su a vida, siempre saliendo alerosa. Dedico est´ tesis a mi padre por permitirme llevar a cabo todos mis sue~os e impusarme a n para lograrlos.

xiii

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

xiv

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 1 Introducci´n o

La naturaleza de las teor´ del estado l´ ias iquido basadas en ecuaciones integrales, son un grupo de teor´ que utilizan relaciones exactas ´ aproximadas de la Mec´nica Estad´ ias o a istica, para obtener propiedades estructurales y termodin´micas de fluidos. En estas teor´ se a ias encuentran algunas ventajas como son buscar resolver una ecuaci´n para g(r), as´ el utilizar o i estas teor´ requiere menos tiempo de c´lculo que realizar una simulaci´n, tambi´n no ias a o e presentan problemas de tama~o finito y son m´s precisas que teor´ m´s simples(campo n a ias a medio), pero en realidad son solo teor´ aproximadas, su bondad depende del sistema ias estudiado, tienen falta de consistencia termodin´mica y una zona de no-soluci´n. a o Este es el motivo por el cual Ornstein y Zernike la propusieron la ecuaci´n analizada en o la presente tesis, en 1914,buscando la soluci´n a la necesidad de encontrar una funci´n de o o correlaci´n que tuviera el mismo alcance que el potencial de interacci´n y (por esta raz´n) o o o no divergiera en el punto cr´ itico. Esta es exacta e implica la definici´n de la funci´n de o o correlaci´n directa, la ecuaci´n de Ornstein-Zernike se conoce como una teor´ de funciones o o ia de correlaci´n de muchos cuerpos. o La funci´n de correlaci´n total se encuentra representada por h(r) = g(r) - 1, as´ o o i, h(r) es igual a la correlaci´n directa m´s la correlaci´n indirecta, lo que es la ecuaci´n de o a o o Ornstein-Zernike expresada a continuaci´n o h(r) = c(r) + c(|r - r |)h(r )dr (1.1)

Donde c(r) representa la correlaci´n directa debida unicamente a las fuerzas de interacci´n o o ejercidas entre dos part´ iculas y la integral representa las fuerzas ejercidas a trav´s de las e correlaciones directas con part´ iculas intermedias. Al tener una incognita como resultado de una variable en la operaci´n sale y entra la funci´n de distribuci´n la salida representa o o o la difuci´n de luz. o La ecuaci´n OZ relaciona a g(r) y c(r), por lo que necesitamos una relaci´n adicional o o entre ambas funciones a lo que se le llama cerradura de la ecuaci´n OZ. o El objetivo de este estudio es la construcci´n de una alternativa de resoluci´n a la o o 1 ecuaci´n de Ornstein-Zernike para fluidos no-homog´neos. En nuestro trabajo, hemos o e partido del sistema desarrollado en el Programa de Ingenier´ Molecular del Instituto ia Mexicano del Petr´leo. Actualmente la ejecuci´n de dicho sistema resulta dif´ para el o o icil

1

De aqu´ en adelante ecuaci´n OZ i o

1

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o usuario final en el sentido de que no le facilita el control de las variables involucradas dada la ausencia de interfaces gr´ficas as´ como por una cierta inconsistencia en la estructura a i del almacenamiento de datos al grado de que ´l puede verse en una situaci´n de p´rdida e o e parcial o total de los datos supuestamente almacenados. Otro elemento que dificulta el uso del sistema en su forma original es su necesaria recompilaci´n cuando se introduzcen o nuevos datos. Por ejemplo, un usuario define en el sistema unas matrices de tama~o n determinado, si otro usuario quiere utilizar el sistema con matrices de diferente tama~o, n entonces tendr´ que entrar al c´digo del programa y recompilarlo. a o La alternativa propuesta aqu´ soluciona esta situaci´n para el usuario final provey´ndole i o e en primer t´rmino de una interfaz gr´fica, la cual adem´s muestra las graficas generadas e a a a lo largo de la ejecuci´n, en segundo t´rmino de una base de datos que almacena la o e informaci´n total de ejecuciones anteriores evitando que el sistema se ejecute varias veces o con los mismos datos y, en tercer t´rmino, de dinamismo en la definici´n de las matrices e o de manera que se evite la recompilaci´n del sistema cada vez que se le utiliza. o Para realizar esta alternativa programamos una interfaz gr´fica en PHP; construimos a una base de datos en MySQL, reprogramamos algunas rutinas de el lenguaje FORTRAN en el lenguaje C y creamos rutinas para que los datos solicitados entre C y FORTRAN sean equivalentes. Para esto ha sido necesario trabajar con un lenguaje de scripts de muy alto nivel[1] para servidores Web como lo es PHP[2]; utilizando aplicaciones visuales, a saber navegadores WEB, siempre bajo la suposici´n de que la posibilidad de visualizar la informaci´n en o o forma de im´genes estructuradas brinda una mejor v´ de acceso al conocimiento y a la a ia comprensi´n del mismo. o De esta forma, el segundo cap´ itulo es introductorio, en tanto ofrece un panorama global sobre las distintas formas en que se ha abordado la ecuaci´n OZ, as´ como una breve o i revisi´n de la misma destacando el porqu´ de su relevancia; finalmente, revisamos breveo e mente los m´todos por los cuales se llega a su resoluci´n. Por igual proveemos la definici´n e o o de otros t´rminos b´sicos necesarios para la comprensi´n total del trabajo. e a o El tercer cap´ itulo contiene la revisi´n del tratamiento matem´tico y num´rico que ino a e volucra la soluci´n de la ecuaci´n OZ. Para esto es importante revisar en primer t´rmino el o o e planteamiento del problema en forma matem´tica, presentando las caracter´ a isticas espec´ ificas de las coordenadas esf´ricas prolatas y el paso del plano referido mediante coordenadas e cartesianas al plano en coordenadas esf´ricas prolatas. Bien que la ecuaci´n OZ modela un e o fen´meno en tres dimensiones, se tiene que ´ste posee una simetr´ cil´ o e ia indrica, por lo cual basta describirlo en dos dimensiones puesto que una tercera, a saber, el ´ngulo respecto a a un plano de referencia, puede ser omitida debido a la simetr´ Revisamos aqu´ c´mo se ia. i o 2 realiza la integraci´n num´rica. Presentamos el m´todo de Newton-Rapshon y el c´lculo o e e a de soluciones de la ecuaci´n OZ. Incluimos breves presentaciones del proceso de especifio caci´n de mallas planares, del proceso de intercambio entre representaciones (analizando o un peque~o ejemplo de este intercambio) y la forma en que realizamos los c´lculos de las n a funciones n´cleo. Finalmente, explicamos en cu´les partes del sistema se utiliza el MNR u a y analizamos algunos despliegues gr´ficos. a En el cuarto cap´ itulo, especificamos la alternativa de dise~o del sistema de c´mputo, n o objetivo prioritario de la presente tesis. Incluimos como parte del contenido la interfaz

2

De aqu´ en adelante MNR i

2

Ing. Luz Virginia Morales Mor´n o

´ CAP´ ITULO 1. INTRODUCCION gr´fica (vista del usuario), la base de datos implementada y la transcripci´n al lenguaje a o de programaci´n C del sistema que resuelve la ecuaci´n OZ en FORTRAN. o o En el quinto cap´ itulo explicamos la ingenier´ del software, analizando la manera en ia la que programamos los m´todos num´ricos, las entradas que se reciben y las salidas e e generadas por el sistema. En el sexto cap´ itulo, hacemos hincapi´ en las conclusiones obtenidas y el trabajo que e podr´ realizarse a futuro para optimizar el sistema. ia El ap´ndice A incluye un manual de uso elaborado para el administrador del sistema. e El ap´ndice B ofrece un tercer manual, dirigido a usuarios finales, para que ´stos puedan e e controlar la manipulaci´n de la informaci´n sin tener como condici´n previa una formaci´n o o o o te´rica de ´ o indole matem´tica, f´ a isica o computacional sobre el problema. Equivaldr´ al ia manual con el que cuenta cualquier usuario para cualquier aplicaci´n, al margen de su o conocimiento sobre el c´mo tales aplicaciones fueron programadas. o Al final de la tesis se podr´ encontrar un disco compacto que contiene la tesis en a su totalidad, con un agregado fundamental, a saber, cuatro ap´ndices: 1) una versi´n e o ejecutable del programa original hecho en FORTRAN que resuelve el sistema; 2) los c´digos de los programas redise~ados en lenguaje C; 3) los c´digos de los programas o n o hechos en PHP; 4) la estructura de la base de datos; y 5) el documento de la presente tesis. La presentaci´n de esta informaci´n obedece a las siguientes razones fundamentales: o o si bien es cierto que la informaci´n contenida solamente en el disco compacto es una parte o fundamental del trabajo de tesis, y a´n m´s, es uno de sus principales productos, no se ha u a impreso incluy´ndole ya sea como ap´ndice o como parte del contenido de alg´n cap´ e e u itulo pues, en principio, su contenido es amplio. Adem´s se trata de un material que no es a relevante para la lectura y la comprensi´n de la presente tesis y, por ultimo, porque es o ´ esencial para el an´lisis y la ejecuci´n del sistema de facto, condici´n esta ultima que por a o o ´ s´ misma obliga su inclusi´n. i o

3

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

4

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 2 La ecuaci´n de Ornstein-Zernike o

Un elemento fundamental en el an´lisis de fluidos es la noci´n de densidad considerada a o como la raz´n de part´ o iculas entre unidades de volumen. El tratamiento matem´tico de a una funci´n de densidad est´ basado en la idea de energ´ libre de fluidos no-homog´neos, o a ia e caracterizados ´stos en t´rminos de la densidad. El formalismo que utilizamos fue desae e rrollado principalmente para fluidos no-homog´neos durante la d´cada de los a~os 60 del e e n siglo XX y ha sido consecutivamente aplicado a fluidos homog´neos. Aqu´ la funci´n de e i o correlaci´n total h : r h(r) y la funci´n de correlaci´n directa c : r c(r), puestas o o o ambas en t´rminos de un vector de posici´n r, est´n relacionadas por medio de la ecuaci´n e o a o integral de Ornstein-Zernike. Para resolver la ecuaci´n OZ debe darse una relaci´n entre c o o y h a la que se le llama cerradura de la ecuaci´n OZ. Dependiendo de la cerradura, difereno tes teor´ de ecuaciones integrales pueden ser desarrolladas. Las m´s conocidas de ´stas ias a e son Percus-Yevick (PY), cadena entrejida (hypernetted chain) (HNC) y la aproximaci´n o esf´rica media (mean spherical) (MSA). e

2.1.

Desarrollos alternativos actuales

La literatura reciente indica que existen diversas implementaciones de m´todos para e resolver la ecuaci´n OZ, probadas eficientes de manera experimental. Tales trabajos se o han elaborado en diversos centros del mundo, entre otros, el Departamento de F´ isica de la imica de la Universidad de Universidad de Salamanca, Espa~a [3]; el Departamento de Qu´ n la Columbia Brit´nica, Canad´ [4], en el Departamento de F´ a a isica del Cinvestav [5] y en el Programa de Ingenier´ Molecular del Instituto Mexicano del Petr´leo [6], en M´xico. Es ia o e posible observar que cada implementaci´n elige su propia cerradura y consecuentemente o su propio m´todo de resoluci´n. e o Actualmente diversas instituciones utilizan el m´todo de Newton-Raphson para loe calizar soluciones a la ecuaci´n OZ, tratando de acelerar la convergencia a partir de o ciertos puntos dados. Rese~aremos en lo que sigue algunos enfoques de entre los que n consideramos m´s importantes: a En [7] los autores presentan el M´todo SCOZA: Self-consistent Ornstein-Zernike ape proach for monolayer films. Ah´ se refieren a un m´todo de aproximaci´n para obtener i e o factores de estructura de modelos hamiltonianos en tres o m´s dimensiones, as´ como sus a i caracter´ isticas termodin´micas, y a otros m´todos que proporcionan resultados muy exa e 5

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 2.1: Volumen constante del calor espec´ ifico Cv para SCOZA comparado con resultados exactos. Se nota que el calor especifico para SCOZA no diverge hasta el m´ximo, a muestran un semblanza de modelos de tama~o finito n actos en ret´ iculas bidimensionales, lo que ha hecho propicio el tratamiento de problemas de pel´ iculas delgadas. El potencial entre part´ iculas en el modelo SCOZA es de la forma si ri = rj + - si i, j son vecinos cercanos v(ri - rj ) = 0 en otro caso La energ´ interna por spin est´ relacionada con la energ´ interna por part´ ia a ia icula mediante: 1 1 U = u + q - q 2 8 (2.1)

En vez de tener una pendiente infinita en la temperatura cr´ itica exacta, la pendiente de SCOZA alcanza su m´ximo en una temperatura dentro de una fracci´n de un 1 % del a o valor exacto (v´ase las figuras 2.1, 2.2). SCOZA es un sistema muy completo que trata e casos especiales de la ecuaci´n de Ornstein-Zernike. o El tratamiento que realizamos en el presente trabajo es m´s general y no involucra a suposiciones ad-hoc. Sin embargo, esto lo hace m´s complejo y menos particularizado que a el caso bidimensional presentado en [7]. Ahora bien, en [8] se presenta el modelo de Yukawa para coloides de carga bidimensional estabilizada (Hard-core Yukawa model for two-dimensional charge stabilized colloids) que utiliza las cerraduras HNC y PY para aproximar el diagrama de fase. Se calcula el factor est´tico de la estructura y la funci´n de distribuci´n variando los par´metros a o o a representativos. La funci´n de correlaci´n est´tica se utiliza para estimar el diagrama de o o a fase l´ iquido-s´lido, tambi´n para una gama amplia de par´metros. Ah´ se ilustra el uso de o e a i las condiciones HNC y PY que son utilizadas tambi´n en nuestro tratamiento (v´ase la e e 6 Ing. Luz Virginia Morales Mor´n o

´ CAP´ ITULO 2. LA ECUACION DE ORNSTEIN-ZERNIKE

Figura 2.2: Residuales entre el SCOZA y resultados exactos. Para resultados ´ptimos de o tama~o finito, las derivaciones son mas peque~as que × de resultados exactos n n

Figura 2.3: Modelo de esfera dura de Yakuwa

2.1. DESARROLLOS ALTERNATIVOS ACTUALES

7

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 2.4: La polarizaci´n M SA del par´metro lambda para un ion bipolar mezclado o a como una funci´n de concentraci´n molar o o figura 2.3). Se presenta as´ mismo un problema de coloides esencial en la teor´ de l´ i ia iquidos no-homog´neos, consistente en que la interacci´n entre diversos pares de part´ e o iculas al nivel microsc´pico que llega a determinar el comportamiento del l´ o iquido en un nivel macro. El modelo presentado muestra la importancia de la modelaci´n num´rica en este o e tipo de problemas relativos a l´ iquidos. Finalmente, en [9] se utiliza la MSA para escalar mezclas de iones duros con dipolos. Ah´ i, los autores obtienen expresiones simples de las propiedades termodin´micas por medio a de la MSA. Utiliz´ndola se muestra qu´ funciones termodin´micas se pueden formular a e a en t´rminos de un conjunto reducido de matrices de cambio de escala en los ejes de e coordenadas. Se presenta un problema de iones duros y bipolares y la forma en la que deben ser medidas sus caracter´ isticas, para obtener un modelo ideal del comportamiento de las part´ iculas a un nivel molecular. Se utilizan modelos equivalentes para los cambios en las cargas el´ctricas de las part´ e iculas En suma, el modelo presentado muestra la importancia de la modelaci´n num´rica en o e diversos tipos de problemas en s´lidos y l´ o iquidos.

2.2.

Descripci´n de la ecuaci´n o o

La ecuaci´n OZ es una ecuaci´n integral que se resuelve con t´cnicas de elemento finito, o o e mediante una t´cnica iterativa utilizando el MNR, para localizar ra´ e ices de operadores en espacios de grandes dimensiones. La ecuaci´n describe funciones de correlaci´n entre o o pares de part´ iculas, y su planteamiento involucra tan solo dos inc´gnitas, por lo que es o necesario introducir suposiciones suplementarias para resolverla, las cuales, como ya hemos visto, pueden ser las condiciones HNC y MSA las cuales se consideran componentes de la ecuaci´n OZ. Para poder combinarlos se requiere un tercer tratamiento llamado Extensi´n o o 8 Ing. Luz Virginia Morales Mor´n o

´ CAP´ ITULO 2. LA ECUACION DE ORNSTEIN-ZERNIKE a Tres Puntos en el cual se considera una tercera part´ icula, esto ultimo obedece a que las ´ ecuaciones HNC y MSA no tienen variables en com´n. u Siempre que la ecuaci´n OZ re´na las caracteristicas antes mencionadas se obtendr´ una o u a ecuaci´n integral cuya funci´n inc´gnita ser´ una transformaci´n definida del plano real al o o o a o conjunto de n´meros reales. Para determinar una soluci´n es necesario en primer t´rmino u o e resolver un problema de localizaci´n de un punto fijo, planteado en un espacio de funciones, o si se considera la ecuaci´n integral, o un espacio de sucesiones, si se transforma la ecuaci´n o o original en una ecuaci´n discretizada mediante t´cnicas de elemento finito. o e La ecuaci´n integral puede verse como un punto fijo de un operador , digamos o h = (h), que act´a sobre el espacio de funciones cont´ u inuas e integrables del plano en los reales. Cuando se discretiza por medio de elemento finito, se le formula como una ecuaci´n h = D (h) donde ahora D es un operador en un espacio de sucesiones reales o definidas sobre una malla en el plano. En ambos casos la funci´n punto fijo se denomo ina: funci´n soluci´n. En el caso del espacio de sucesiones, el MNR aparece como una o o alternativa efectiva [10]. Al realizar el procedimiento MNR, distinguimos varias etapas relevantes: Establecimiento del funcional (c´lculo de sus par´metros) a a Evaluaci´n del funcional o Iteraci´n de MNR o Estimaci´n de la aproximaci´n o o Despliegue de resultados Actualmente, si se considera una malla de orden m × n, donde m · n es el n´mero de u puntos en el plano para aproximar a la funci´n soluci´n y k es el n´mero de part´ o o u iculas consideradas, entonces la iteraci´n de MNR tendr´ una complejidad del orden O((knm)2 ), o a tanto en tiempo como en espacio. Hasta hoy este procedimiento ha exigido amplios tiempos de ejecuci´n, por ello difeo rentes disciplinas, entre ellas la F´ isica, la Matem´tica y la Qu´ a imica han buscado formas de optimizarlos.

2.3.

Dise~ o computacional n

La propuesta actual parte de que el sistema que efectivamente resuelve la ecuaci´n OZ o adolece de una debilidad en sus interfaces con los usuarios en tanto que cada usuario final carece de un control visual sobre las entradas a suministrarle. El sistema en su versi´n original, requiere la especificaci´n de, entre otros par´metros, o o a de la malla sobre la que efectuar´ c´lculos de elemento finito. Esta se especifica mediante a a un conjunto de tercetas num´ricas cuyos valores determinan la malla de acuerdo con un e procedimiento muy poco convencional. El uso de esta representaci´n dificulta la como prensi´n y es, acaso, muy sui-generis de la F´ o isica del problema. As´ todo usuario que i, desconozca ciertas precisiones y complejidades de esa F´ isica se enfrenta a la necesidad ~ 2.3. DISENO COMPUTACIONAL 9

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o de utilizar variables que no puede controlar lo que propicia condiciones de overflow y underflow, lo cual, a su vez imposibilitar´ la resoluci´n del problema planteado. ia o El dise~o aqu´ propuesto responde a esta dificultad enriqueciendo el sistema con una n i interface, m´s amigable. Se ha modificado la entrada originalmente propuesta para esa pecificar ahora, en cada eje de coordenadas, los valores extremos, el n´mero de puntos en u ellos, e inclusive intervalos de distintas densidades, es decir, de cada raz´n de los n´meros o u de puntos entre las longitudes de esos intervalos. La introducci´n de estas ultimas dos o ´ variables permite al usuario ejercer un mayor control sobre la extensi´n y la densidad de o la malla sin preocuparse de la F´ isica del problema, y da una mayor intuici´n respecto a o los par´metros iniciales, con lo cual se evitan condiciones de overflow o underflow. Otro a aspecto nuevo con el que se dot´ al sistema es la posibilidad de mostrar como gr´ficas o a en GNUPLOT[11] el comportamiento de la soluci´n y de los estados previos en diversas o iteraciones del MNR. Por otro lado, el sistema como fue dise~ado originalmente arroja los n resultados en forma tabular, lo cual es poco amigable para la mayor´ de los usuarios. El ia presente dise~o, adem´s, favorece la presentaci´n gr´fica de resultados en un navegador n a o a WEB. Con todas estas caracter´ isticas en la interfaz, el sistema se hace m´s comprensible a y controlable para el usuario. A continuaci´n mostramos dos figuras en las que mostramos diferencias entre la proo puesta actual y la original, en cuanto a los datos que solicita el programa. Como se puede apreciar la propuesta actual solicita m´s valores que la original esto con el prop´sito de a o generar una malla de diferentes densidades, y no utilizar como entrada las tercetas, que poco aportan al entendimiento natural de lo que se esta llevando a cabo en esta parte del programa. En la propuesta actual se puede apreciar que muchos de los datos se solicitan son similares a los de la propuesta anterior, esto debido a que son necesarios para el procesamiento correcto del sistema, en su parte medular.

PROPUESTA ACTUAL PROPUESTA ORIGINAL

1 Especificaci´n de la temperatura con la 1 Especificaci´n de la temperatura con la o o que se trabaja; que se trabaja; 2 Especificaci´n de la contante diel´ctrica 2 Especificaci´n de la constante diel´ctrica o e o e del l´ iquido a evaluar; del liquido a evaluar; 3 Especificaci´n del di´metro de las es- 3 Especificaci´n del di´metro de las eso a o a feras, una en el eje positivo y otra feras, una en el eje positivo y otra en el negativo; en el negativo; 4 Especificaci´n de la distancia entre los 4 Especificaci´n de la distancia entre los o o centros de las esferas; centros de las esferas; 5 Especificaci´n de la distancia del centro 5 Especificaci´n de la distancia del centro o o de la esfera al eje que las separa; de la esfera al eje que las separa; 6 Especificaci´n de las cargas que se uti- 6 Especificaci´n de las cargas que se utio o lizan; lizan;

10

Ing. Luz Virginia Morales Mor´n o

´ CAP´ ITULO 2. LA ECUACION DE ORNSTEIN-ZERNIKE

PROPUESTA ACTUAL 7 Especificaci´n del n´mero de ocasiones o u necesarias para que el sistema se ejecute en aras de lograr una mayor aproximaci´n del resultado esperado o de acuerdo a experimentos realizados con anterioridad; 8 Especificaci´n de tres valores que indio can que densidad tendr´ el plano de a trabajo; 9 Especificaci´n del tama~o del plano en o n el que se va a trabajar, tomando tres valores, el de la variable denominada eta, que puede tener la extenci´n o que se requiera y, el valor de las variables xsi1 y xsi2, que se encuentran en el eje de las eje de abscisas, bajo la condici´n previamente establecida o respecto a que la suma de estas ulti´ mas dos variables no debe ser mayor que 1; 10 Especificaci´n de un conjunto de cooro denadas l´ imite (relacionados con la determinaci´n de las variables eta, o xsi1+xsi2<1), as´ como de los ´ i indices en los que se encuentra cada coordenada. PROPUESTA ORIGINAL 7 Especificaci´n del n´mero de ocasiones o u necesarias para que el sistema se ejecute en aras de lograr una mayor aproximaci´n del resultado esperado o de acuerdo a experimentos realizados con anterioridad; 8 Conjunto de tercetas que llevan impl´ icito el tama~o de la malla y su densidad. n

Como veremos m´s adelante, la ecuaci´n OZ al ser discretizada tiene la forma a o

k

j,1 = exp Mj (1 , 1 ) +

m=1

m

2 I0

m,2 C2 (1 , 1 ) - 1.

A la izquierda de la ecuaci´n se encuentra la inc´gnita y a la derecha el operador, en o o t´rminos de la inc´gnita, cuyo punto fijo da la soluci´n del problema. Al localizarla, e o o la sucesi´n se grafica como una funci´n en el plano en los reales. El MNR parte de o o una incognita 0 inicial y va construyendo una nueva en cada iteraci´n hasta converger o en la soluci´n buscada. Pues bien, nuestro sistema facilita el despliegue gr´fico de esas o a sucesiones previas, incluida la final. Ahora, por razones t´cnicas, se introduce un cambio e de coordenadas de manera que el dominio original de la soluci´n, de contorno circular, o se transforma en uno de malla que es rectangular en una regi´n de ella y con los ejes o verticales inclinados a la derecha en una segunda regi´n. El sistema permite gr´ficar las o a sucesiones de la variable tanto en el dominio original como en el dominio tansformado mediante el cambio de coordenadas. ~ 2.3. DISENO COMPUTACIONAL 11

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Al resolver la ecuaci´n OZ se han de realizar procesos de aproximaci´n num´rica, por o o e ejemplo en el c´lculo de las funciones n´cleos, y de resoluci´n de sistemas lineales de ecuaa u o ciones. En cada iteraci´n es necesario almacenar una gran cantidad de valores calculados. o Todos los datos que son generados al ejecutar el sistema, as´ como aquellos que fueron i introducidos por el usuario son almacenados en una base de datos. Este almacenamiento tiene el prop´sito de que si posteriormente alg´n usuario desear´ consultar la informaci´n o u a o introducida y generada por el programa, ´ste disponible la informaci´n. e o

12

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 3 Tratamiento matem´tico y num´rico a e

3.1. Planteamiento del problema

k

La ecuaci´n OZ que se evalua es de la forma o gj (rj ) = exp cj (rj ) +

m=1

m hm (r3 - r )cmj (r3 - rj ) dr3

(3.1)

donde h es una funci´n, llamada de correlaci´n directa, y es, de hecho, la funci´n inc´gnita o o o o en la ecuaci´n OZ (3.1), g = h + 1 , y o las funciones c son tambi´n funciones de correlaci´n indirecta; son par´metros en la e o a ecuaci´n OZ. o En la teor´a de los tres cuerpos se tiene que el ´ i indice se refiere a un complejo formado por dos part´ iculas, que llamamos y , separadas una distancia (v´ase la figura 3.1). e Planteamos la ecuaci´n (3.1) utilizando las as´ llamadas coordenadas esf´ricas prolatas o i e (las que trataremos con m´s detalle en la secci´n siguiente). a o Sea B1 = [1, +[×[-1, 1]×] - , ] la regi´n en el espacio R3 que es el producto o cartesiano de tres intervalos: en el primero, [1, +[, toma valores una variable, , que hace el papel de radio, en el segundo [-1, 1] una variable, , y en el tercero, ] - , ], una variable , que hace el papel de ´ngulo, digamos de longitud, es decir, de giro respecto al a 3 eje z. Sea : B1 R la funci´n de cambio de coordenadas: o : (, , ) [M (, ) cos(), M (, ) sen(), · ] donde 2 M : (, ) ( 2 - 1) (1 - 2 ) En valor absoluto, el jacobiano de esa transformaci´n es |J(, , )| = 8 ( 2 - 2 ). o La integral Int(r , rj ) que aparece a la derecha de la ecuaci´n (3.1) puede expresarse o equivalentemente como: 3 Int(r , rj ) = 8

k 2 2 µm (3 - 3 ) d3 d3 d3 B1 m=1

3

(3.2)

13

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

1 i ri

r

6 r PP PP PP PP ? P rjPPPP PP PP r q

j

Figura 3.1: Complejo formado por dos part´ iculas y . Donde esta localizada en el centro de masa de y entonces m = m + m donde µm = m hm ((3 , 3 , 3 ) - r )cmj ((3 , 3 , 3 ) - rj ) Bajo condiciones de simetr´ ia esf´rica, suponemos que cada funci´n e o (3 , 3 , 3 ) hm ((3 , 3 , 3 ) - r ) es constante respecto a su tercer argumento, 3 . Introducimos el sistema de coordenadas cartesiano con origen en el vector de posici´n r o - y con eje z a lo largo de la direcci´n . Escribamos h1;m (3 , 3 ) = hm ((3 , 3 , 3 )-r ). o Tambi´n supondremos que las funciones [3 , 3 , 3 ] cmj ((3 , 3 , 3 ) - rj ) coinciden e para las diferentes m's y que su valor com´n se descompone como la suma de tres funciones u dependientes unicamente de la magnitud del argumento: ´ cmj (r) = cj;1 ( r ) + cj;2 ( r ) + cj;3 ( r ) Para dos puntos r1 , r3 R3 representados en coordenadas esf´ricas prolatas como e r1 = (1 , 1 , 1 ) , r3 = (3 , 3 , 3 ) (3.4) (3.3)

la distancia euclidiana entre ellos, es decir, la magnitud de su diferencia(r13 ), se expresa como: r13 = d1;13 + d2;13 (3.5) 2 donde d1;13 = = d2;13 = = 14

2 2 2 2 -2 + 1 + 3 + 1 - 21 3 1 3 + 3 + (1 1 - 3 3 )2 -2 [cos(1 ) cos(3 ) - sen(1 ) sen(3 )] -2 cos(1 + 3 )

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

2 2 2 2 siendo = (1 - 1 )(-1 + 1 ) + (1 - 3 )(-1 + 3 ).

Sustituyendo la ecuaci´n (3.3) en la ecuaci´n (3.2) obtenemos o o

Int(r , rj ) =

D 3

d3 d3

-

3 8

3 2 2 Hk (3 , 3 )cj; ( r3j ) (3 - 3 )d3 =1

=

=1 D

Hk (3 , 3 )K (j , j ; 3 , 3 )d3 d3

(3.6)

donde D = [1, +[×[-1, 1]

k

Hk (3 , 3 ) =

m=1 3

m h1;m (3 , 3 ) 2 ( 2 - 3 ) 8 3

K (j , j ; 3 , 3 ) =

cj; ( r3j )d3

-

(3.7)

Habiendo hecho estas suposiciones, de la definici´n de h al inicio de esta secci´n, y de o o la ecuaci´n (3.1) resulta la ecuaci´n o o

3

hj (j , j ) = exp +

=1 D

Hk (3 , 3 )K (j , j ; 3 , 3 )d3 d3 - 1

(3.8)

donde = cj [(j , j )] (3.9) la cual ha de resolverse para h (aqu´ la pareja (j , j ) denota a la posici´n gen´rica de la i, o e part´ icula j, con j k). Puesto que existe un x0 > 1 tal que ((3 , 3 ) D : 3 > x0 m k : hm (3 , 3 ) = 0) , basta considerar el dominio D0 = {(, ) D| x0 }. Sea T = (T )I1 una triangulaci´n de D0 y sea (( , ))I0 la colecci´n de sus nodos. Por o o ejemplo, si I0 es el ret´ iculo formado por nT ·n1 puntos, obtenidos como una imagen isomorfa del producto cartesiano de una partici´n (0 )nT de [1, x0 ] y de una partici´n (0 )n1 o o de [-1, 1], entonces cada cuadr´ngulo es isomorfo a un producto [0 , 0,+1 ] × [0i , 0,i+1 ] y a da origen a dos tri´ngulos, por lo que I1 ha de tener 2nT · n1 elementos. Sea = ( )I0 a una familia de funciones b´sicas, tales que: a 1. 1 , 2 I0 : 1 (2 , 2 ) = 1 2 . 2. I0 I : (, )

1 I

T j (, ) = 0

En otras palabras, cada funci´n b´sica se anula fuera de un n´mero muy limitado de o a u tri´ngulos: fuera de aquellos cuyos ´ a indices est´n en I . Usualmente, cada I tendr´ del e a orden de 102 elementos. 3.1. PLANTEAMIENTO DEL PROBLEMA 15

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Para cada m k, escribimos hm (, ) = en puntos de la forma (2 , 2 ), se tiene

1 I0

m1 1 (, ). Al evaluar esta expresi´n o (3.10)

m k, 2 I0 : m2 = hm (2 , 2 ). As´ tenemos, por un lado i m k : hm =

2 I0

hm (2 , 2 )2

(3.11)

y por otro, al sustituir (3.11) en (3.8) obtenemos j k, (, ) D0 :

k 3

hj (, ) = exp Mj (, ) +

m=1 =1 k 3 D

m hm (3 , 3 ) - 1 m

m=1 =1 k D 2 I0

= exp Mj (, ) +

hm (2 , 2 )2 (3 , 3 ) - 1 (3.12)

= exp Mj (, ) +

m=1

m

2 I0

hm (2 , 2 )C2 (, ) - 1

donde j k, (, ) D0 : Mj (, ) = cj ((j , j )) y 2 I0 , (, ) D0 :

3

(3.13)

C2 (, ) =

=1 D

2 (3 , 3 )K (, ; 3 , 3 )d3 d3

(3.14)

Sustituyendo la ecuaci´n (3.10) en (3.12) obtenemos el sistema de ecuaciones: o

k

j,1 = exp Mj (1 , 1 ) +

m=1

m

2 I0

m,2 C2 (1 , 1 ) - 1

(3.15)

con j k, 1 I0 . As´ pues se tiene un sistema de k · nt · n ecuaciones con k · nt · n i inc´gnitas. o

3.2.

3.2.1.

Coordenadas esf´ricas prolatas e

Cambio de variable

(, ) (-1 + 2 ) (1 - 2 ) (3.16)

Consideremos primeramente la funci´n M : R2 R o

la cual est´ definida en B = B- B+ donde B- =]-, -1]×[-1, 1] y B+ = [1, +[×[-1, 1]. a Evidentemente M es par: (, ) B : M (, ) = M (-(, )). 16 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO En la figura 3.2 se muestra la gr´fica de M en un subconjunto del dominio. La gr´fica a a (a) muestra su forma en los puntos (, ) [-100, -1]×[0, 1]. En la gr´fica (b) se muestra a en los puntos (, ) [1, 100] × [0, 1]. En el conjunto B × R R3 definamos : (, , ) [M (, ) cos(), M (, ) sen(), · ] (3.17)

En la figura 3.3 se muestra la gr´fica de la primera componente de dejando constante al a 1 par´metro a = . En la gr´fica (a) se le muestra en los puntos a 2 1 3 (, ) [-100, -1]×] - 2 , 2 ]. En la gr´fica (b) se le muestra en los puntos a 3 1 (, ) [1, 100] × [- 2 , - 2 ]. En la figura 3.4 se muestra la gr´fica de la segunda componente de dejando constante a 1 al par´metro = a . En la gr´fica (a) se le muestra en los puntos a 2 1 3 (, ) [-100, -1]×] - 2 , 2 ]. En la gr´fica (b) se le muestra en los puntos a (, ) [1, 100] × [- 1 , - 3 ]. 2 2 Finalmente en la figura 3.5 se muestra la gr´fica de la tercera componente de , de manea ra independiente respecto al par´metro . En la gr´fica (a) se muestra en los puntos (, ) a a [-100, -1] × [-1, 1]. En la gr´fica (b) se le muestra en los puntos a (, ) [1, 100] × [-1, 1]. Es claro que ] - , -1] [1, +[, [-1, 1] : (,,·) : R R, (, , ) tiene a 2 como per´ iodo. ] - , -1] [1, +[, R : (,·,) : [-1, 1] R, (, , ) es par. [-1, 1], R : (·,,) :] - , -1] [1, +[ R, (, , ) es par. Por estas propiedades, se puede considerar a variando solamente en un intervalo de 1 longitud 2, digamos C =] - 2 , 3 ], y a en el intervalo I = [0, 1]. A se le deja variar 2 en todo el conjunto D =] - , -1] [1, +[. Consideremos s´lo B0 = D × I × C. La o restricci´n 0 = |B0 es una biyecci´n B0 R3 . o o La inversa de 0 es -1 : R3 B0 , (x, y, z) (, , ) donde 0 1 - 2 con = x2 + y 2 + z 2 + 1, = ( - 2z)( + 2z) 1 = y si x > 0, arctan x si x = 0 & y 0, 2 = si x = 0 & y < 0, -2 y arctan x + si x > 0, = (los radicandos involucrados en la definici´n de siempre son positivos.) o ´ 3.2. COORDENADAS ESFERICAS PROLATAS 17 (3.18)

(3.19)

(3.20)

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 3.2: Gr´ficas de la funci´n M a o

Figura 3.3: Gr´ficas de la primera componente de a

Figura 3.4: Gr´ficas de la segunda componente de a

Figura 3.5: Gr´ficas de la tercera componente de a

18

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO La matriz jacobiana J(, , ) del cambio de variables es entonces (1-2 ) cos() (-1+ 2 ) cos() - - (1 - 2 )(-1 + 2 ) sen() (1- 2 )(-1+ 2 ) (1-2 )(-1+2 ) (-1+ 2 ) cos() (1- 2 ) sen() (1 - 2 )(-1 + 2 ) cos() (1-2 )(-1+2 ) - (1-2 )(-1+2 ) 0 y su determinante es, en consecuencia |J(, , )| = 2 - 2 (3.21)

el cual nunca es positivo en todo el dominio de definici´n B × R. o 3 As´ si F : R R es integrable, para cualquier conjunto medible R R3 se tiene la i, f´rmula de cambio de variable o F (x, y, z)dxdydz =

R -1 (R) 0

F (, , )( 2 - 2 )ddd

(3.22)

en particular

+ + + -1 1

3 2

dx

- -

dy

-

F (x, y, z)dz =

-

d

0 +

d

- 2 1

G(, , )d

3 2

+

1

d

0

d

- 2

G(, , )d (3.23)

donde G(, , ) = F (, , )( 2 - 2 ) Si (, , ) = (x, y, z) se dice que , , son las coordenadas esf´ricas prolatas del punto e (x, y, z). Por la manera en la que hasta aqu´ hemos definido al dominio B0 , tenemos que i ´ste es disconexo. Consideramos ahora el dominio e B1 = [1, +[×[-1, 1]×] - , ] (3.24)

ciertamente conexo, y la restricci´n 1 = |B1 . 1 es a su vez una biyecci´n B1 R3 . La o o -1 3 inversa de 1 es 1 :R B1 ,(x, y, z) (1 , 1 , 1 ) donde, siempre que (, , )=-1 (x, y, z) 0 se ha de tener 1 = || 1 = signo () · 1 si - 2 < , 1 = - 2 en otro caso. (3.25)

Para una funci´n F : R3 R integrable, para cualquier conjunto medible R R3 se o ha de tener una f´rmula de cambio de variable para 1 similar a la f´rmula (3.2.1). En o o particular

+ + + + 1

dx

- -

dy

-

F (x, y, z)dz =

1

d

-1

d

-

G(, , )d (3.26)

´ 3.2. COORDENADAS ESFERICAS PROLATAS

19

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

3.2.2.

Transformaci´n de mallados o

El cambio de coordenadas esf´ricas prolatas puede simplificar las ecuaciones de ale gunos lugares geom´tricos. Por ejemplo, la ecuaci´n cartesiana de una esfera con centro e o (x0 , y0 , z0 ) y radio a es (x - x0 )2 + (y - y0 )2 + (z - z0 )2 = a2 . Al cambiar a coordenadas prolatas y simplificando tenemos: a2 = b + c + d donde

0 2 2 b = 2 2 + x2 + y0 - 2z0 + z0 0

(3.27)

c = -2 (1 - 2 )(-1 + 2 )(x0 cos() + y0 sen()) d = (-1 + 2 + 2 - 2 2 ) en particular, para (x0 , y0 , z0 ) = (0, 0, 1) la ecuaci´n (3.27) se convierte en ( - )2 = a2 . o En la figura 3.6 (a) mostramos las curvas en las que se transforman los segmentos de la forma = 1 + k , con -1 1, para k = 0, 1, ..., 7. En el diagrama (b) las 7 7k curvas en las que se tranforman los segmentos de la forma = 100 , con 1 2, para k = [-8, 8]. En el diagrama (c) se muestra el mallado en el plano - consistente de los segmentos arriba descritos y en el (d) el mallado en el que se tranforma, que es en realidad la superposicion de las gr´ficas (a) y (b). Tenemos que para toda recta horizontal a = s ´sta se tranforma en la curva ( (-1 + 2 )(1 - s2 ), s) y toda recta vertical e = r en la curva ( (-1 + r2 )(i - 2 ), r). En la figura 3.7 (a) mostramos una malla consistente de segmentos en las rectas diago7+k 3 7+k 3 nales - = 10 7 y en las rectas horizontales = 10 7 , con k = 0, ..., 7. En el diagrama (b) mostramos este mallado transformado. Todo segmento en la recta diagonal - = a se transforma en un arco en la circunferencia x2 + (z - 1)2 = a2 . Para un punto [0, 1] y dos particiones, una 0 = {1 = 00 < 01 < · · · < 0n } del intervalo [1, 0n ] y la otra 0 = {0 = 00 < 01 < · · · < 0n = 1} del intervalo [0,1], con = 0i0 . Sea + R(0 , 0 : ) el mallado en el dominio B1 = B1 {(, )0 } definido por los segmentos de los siguientes cuatro tipos: H0 : H1 : V0 : V1 : (, ) = (, 0i ), (, ) = (, 0i ), (, ) = (j , ), (, ) = (j - + , ), con con con con 1, i = 0, ..., i0 . 1 - + 0i , i0 + 1, ..., . 0 , j = 0, ..., . 1, j = 0, ..., .

En las figuras 3.6 y 3.7 se ven estos segmentos. En sus figuras (b) se ve la partici´n de R2 o definida por S(o , 0 ; ) = (R(0 , 0 ; )).

3.3.

3.3.1.

Procedimiento de integraci´n num´rica o e

Presentaci´n del problema o

Sean 0 = {01 , 02 , ..., 0m } y 0 = {01 , 02 , ..., 0n } sendas particiones de los intervalos [1, 0n ] y [0, 1]. La partici´n 0 × 0 del rect´ngulo B = [1, 0n ] × [0, 1] naturalmente puede o a 20 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

Figura 3.6: Algunos efectos de la transformaci´n o

Figura 3.7: Algunos otros efectos de la transformaci´n o ´ ´ 3.3. PROCEDIMIENTO DE INTEGRACION NUMERICA 21

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o identificarse con el producto de intervalos (de n´meros enteros) Imn = [[1, m]] × [[1, n]] u mediante la correspondencia (i, j) (j , i ). Una funci´n g : B R puede as´ repreo i j=1,...,n sentarse, aunque de manera aproximada, mediante la matriz g = (g(j , i ))i=1,...,m consistente de sus valores en Imn . Rec´ iprocamente, dada una matriz g = (g(j , i ))j=1,...,n , i=1,...,m sea gg la funci´n lineal por trozos que en cada tri´ngulo [(j , i ), (j+1 , i ), (j , i+1 )] o a interpola linealmente los valores gij , gi,j+1 , gi+1,j respectivamente, y en cada tri´ngulo a [(j , i ), (j , i-1 ), (j-1 , i )] los valores gij , gi-1,j , gi,j+1 respectivamente. Es claro que ambas funciones g y gg corresponden a la matriz g seg´n lo anterior. u

3.4.

M´todo de Newton-Raphson y convergencia gloe bal para el problema de Ornstein-Zernike

Denotemos por RB al conjunto de todas las funciones B R y por Rm×n al conjunto de matrices reales de orden m × n. Todo operador de funciones F : RB RB determina un operador de matrices FM : Rm×n Rm×n : Dada una g = (g(j , i ))j=1,...,n Rm×n , i=1,...,n sea h = F (gg ) la imagen bajo F de la funci´n lineal por trozos determinada por g y sea o h la matriz correspondiente a h, tomamos entonces FM (g) = h. La b´squeda de un punto fijo del operador F puede verse como la b´squeda de un u u punto fijo del operador FM . Sea k = m · n. Enumerando a las matrices por renglones, Rm×n se identifica con Rk , el cual tiene naturalmente su propia estructura de espacio normado. De hecho al conjunto de ´ indices Imn lo identificaremos con el conjunto [[1, k]] mediante la biyecci´n (i, j) o (i - 1)n + j. Para cada (i, j) Imn consideremos un operador Aij : RB R. Sean u Rk y F : R R una funci´n real cont´ o inua. Para cada (i, j) Imn sea hij : RB R el operador hij : g hij (g) = F (uij + Aij (g)) En base a tales operadores, definimos el operador H : Rm×n Rm×n haciendo g Rk : H(g) : (i, j) hij (gg ) (3.29) (3.28)

Tanto F como las funciones Aij son de clase C 2 en sus respectivos espacios de definici´n, o H lo es tambi´n. Observamos que la ecuacion de punto fijo de H, a saber, g = H(g) e equivale a la de una ra´ G(g) = 0 del operador G : g G(g) = g - H(g). Procedamos iz seg´n el m´todo de Newton-Raphson para localizar tal ra´ u e iz: Elijamos g0 y sucesivamente r 0 : gr+1 = Rk gr - (DG)-1 |gr G(gr )

(3.30)

donde DG es la diferencial del G en el punto gr , es decir, DG|gr es la tranformaci´n lineal o k representada, respecto a la base can´nica de R , por la matriz jacobiana o JG|g = [ k2 (gr - hk1 (gr )) ]k2 =1,...,k k1 =1,....k (3.31)

De esta manera se ha de tener un orden de convergencia (cuando el punto inicial g0 se elija de manera que en efecto converja la sucesi´n) al menos cuadr´tico [12]. Escribamos o a 22 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO kl = (il , jl ) para denotar que se cumple la relaci´n kl = (il - 1)n + jl . Escribamos de o manera indistinta kl sola o la pareja de ´ indices (il , jl ) para referirnos a esa posici´n en o k vectores de R . En cuanto a la convergencia global para el problema de Ornstein-Zernike, primeramente es necesario caracterizar los puntos iniciales g para los cuales el m´todo de Newtone Raphson produce una sucesi´n convergente. o Suponemos, considerando ahora un caso particular, que para cualesquiera i1 , j1 la funci´n Ai1 j1 : Rk R es lineal. Entonces, respecto a la base can´nica, se le puede representar o o mediante una matriz de orden 1 × k : Ai1 j1 = a(i2 ,j2 ) 1 1

(i ,j ) (i2 ,j2 )

. As´ pues, la colecci´n de i o a(i2 ,j2 ) 1 1

(i ,j ) (i2 ,j2 )

todos estos operadores puede representarse por la matriz A =

(i ,i )

de orden

(i1 ,j1 )

k × k. Evidentemente al calcular las derivadas parciales de los operadores Ak1 obtenemos g : k2 Ak1 (g) = a(i1 ,j1 ) · 2 2 (3.32)

es decir, cada tal derivada parcial es constante. Ahora, tambi´n supongamos que F es la e funci´n exponencial, F : t exp(t). Entonces dF (t) = F (t), t R. De la regla de la o dt cadena hemos de tener: k1 , k2, g : k2 Hk1 (g) = F (uk1 + Ak1 (g))k2 Ak2 (g) = ak2 Hk1 (g). k1 y en consecuencia k1 , k2 , g : k2 Gk1 (g) = k1 ,k2 - ak2 Hk1 (g). k1 (3.34) donde k1 ,k2 es una delta de Kroenecker. o La matriz jacobiana es pues de la forma JG(g) = (k1 ,k2 -ak2 Hk1 (g))k2 . En la realizaci´n k1 k1 del procedimiento 3.30, en vez de calcular la inversa del jacobiano JG(gr ), se puede proceder a calcular su descomposici´n LU. o En efecto, el paso iterativo del m´todo de Newton Raphson puede presentarse equivae lentemente como (DG)|gr (gr+1 - gr ) = G(gr ) (3.35) as´ pues, en nuestro caso actual, al resolver el sistema de ecuaciones JG(gr ) · r = G(gr ) i se podr´ hacer gr+1 = gr + r . Ahora bien, si JG(gr ) = Lr · Ur , donde Lr es una matriz ia triangular inferior y Ur es triangular superior entonces r es soluci´n de Ur r = r donde o o o r es a su vez soluci´n de Lr r = G(gr ). La resoluci´n de ambos sistemas de ecuaciones es sencilla dado que las matrices de coeficientes son triangulares. Veamos c´mo obtener la descomposici´n LU de una matriz F, F = L · U, donde L es o o una matriz triangular inferior y U es triangular superior. Introduciendo una partici´n o consistente en las matrices involucradas, escribimos F11 F12 F21 F22 consecuentemente L11 U11 L12 L21 L22 U22 = = = = F11 L-1 F12 11 F21 U-1 11 F22 - L21 U12 23 = L11 0 L21 F22 · U11 U12 0 U22 = L11 U11 L11 U12 L21 U11 L21 U11 + L11 U22 (3.33)

(3.36)

´ 3.4. METODO DE NEWTON-RAPHSON Y CONVERGENCIA GLOBAL PARA EL PROBLEMA DE ORNSTEIN-ZERNIKE

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Es convencional tomar las primeras matrices F11 , L11 y U11 de orden 1×1, lo cual da un algoritmo de descomposici´n LU con una complejidad de tiempo k 2 , donde el orden de la o matriz F es k × k.

3.5.

3.5.1.

Principales par´metros involucrados en la resoa luci´n de la ecuaci´n de Ornstein-Zernike o o

Proceso de especificaci´n de mallas planares o

En el tratamiento num´rico de la ecuaci´n OZ el primer procedimiento consiste en e o introducir una discretizaci´n de ella, partiendo de una discretizaci´n de su dominio, y las o o funciones inc´gnitas han de ser aproximadas ah´ Dado que el dominio es una regi´n en el o i. o plano, los puntos de aproximaci´n quedar´n definidos en los v´rtices de una malla en el o a e plano. Las ecuaciones diferenciales involucradas son aproximadas mediante un conjunto de ecuaciones algebraicas sobre tal colecci´n de puntos, el cual al ser resuelto produce o un conjunto discreto de valores que aproximan a la soluci´n del sistema diferencial sobre o la malla introducida. La discretizaci´n de la ecuaci´n diferencial requiere pues de cierta o o organizaci´n para ser eficiente; esto es, debe ser posible identificar r´pidamente los puntos o a o nodos donde est´ definida. a Por las particularidades f´ isicas de la ecuaci´n, la malla de aproximaci´n no puede ser o o uniforme, es decir, no puede consistir de puntos igualmente separados. En diversas regiones de la malla, ha de haber separaciones distintas entre puntos contiguos. Llamemos di´metro a de la malla a la m´xima separaci´n entre dos puntos contiguos en la malla. En la presente a o secci´n nos abocaremos al problema de determinar una malla de acuerdo con diversos o di´metros establecidos previamente. a Representaciones de mallas Consideremos un rect´ngulo en R2 de la forma R = [a, b] × [c, d]. Introduzcamos una a partici´n en el intervalo [a, b], de la forma o a = X0 < X1 < · · · < Xm-1 < Xm = b consistente de una sucesi´n creciente de m + 1 puntos, incluidos los extremos, y otra o partici´n similar en el intervalo [c, d], de la forma o c = Y0 < Y1 < · · · < Yn-1 < Yn = d consistente de una sucesi´n creciente de n + 1 puntos, incluidos los extremos. La partici´n o o Xb = (Xj )m divide al intervalo [a, b] en m segmentos [Xj-1 , Xj ], j m, y la partici´n o j=0 n Yb = (Yi )i=0 divide al intervalo [c, d] en n segmentos [Yi-1 , Yi ], i n. En cada segmento [Xj-1 , Xj ] consideraremos una separaci´n constante uj y mj + 1 puntos incluidos los o extremos. As´ pues tendremos una partici´n en el intervalo [Xj-1 , Xj ], de la forma i o Xj-1 = xj,0 < xj,1 < · · · < xj,mj -1 < xj,mj = Xj 24 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO donde xj,k = Xj-1 + kuj , con k = 0, 1, . . . mj , y uj = j mj j-1 . De manera similar, para cada i n, en el segmento [Yi-1 , Yi ] consideraremos una separaci´n constante vi y ni + 1 o puntos incluidos los extremos. As´ pues tendremos una partici´n en el intervalo [Yi-1 , Yi ], i o de la forma Yi-1 = yi,0 < yi,1 < · · · < yi,ni -1 < yi,ni = Yi donde xi,k = Yi-1 + kvi , con k = 0, 1, . . . nj , y vi = Yi -Yi-1 . ni Naturalmente, para cada j = 1, . . . , m - 1 se tiene xj-1,mj-1 = xj,0 , es decir, el ulti´ mo punto de la partici´n en el segmento [Xj-2 , Xj-1 ] coincide con el primero del sego mento [Xj-1 , Xj ], y ambos coinciden con Xj-1 . As´ pues, la sucesi´n de puntos Xt = i o m (xj,k |0 k mj , j = 0, . . . , m) consiste de Mt = 1 + j=1 mj puntos. Similarmente, la sucesi´n de puntos Yt = (yi,k |0 k ni , i = 0, . . . , n) consiste de Nt = 1 + n ni puno i=1 tos. Observamos que la partici´n Xt queda determinada completamente por medio de o cualquiera de las siguientes especificaciones: Extremo-separaci´n. {(Xj , hj )}m , h0 = 0. o j=0 Extremo-n´ mero de puntos. {(Xj , mj )}m , con m0 = 0. u j=0 Ahora bien, la sucesi´n Xt consta de Mt puntos. Para fines de almacenamiento en un o programa de computadora y de referencia a sus puntos en cualquier proceso que involucre a sus componentes, se puede colocar esa sucesi´n en un arreglo IX consistente de Mt o localidades adyacentes, de tipo real. Evidentemente, para cada Mt existe un ´ indice j-1 j j-1 j m tal que 1 + =1 m < 1 + =1 m . Sea k = - (1 + =1 m ). Entonces se ha de tener IX [] = xjk . De esta manera, los ´ indices de la forma Mj = 1 + j=1 m corresponder´n a los puntos a Xj en la sucesi´n de extremos Xb . Es claro que Mj - Mj-1 = mj . Esto permite entonces o representar a la partici´n Xt , junto con IX , tambi´n de la forma: o e Extremo-´ indice. {(Xj , Mj )}m , con M0 = 1. j=0 Como una ultima forma de representar una malla, observemos ahora que para cada ´ j m, Xj = Xj-1 + uj mj . Sea > 0 una constante positiva y sean rj , sj dos enteros r u primos relativos tales que sj j . Entonces j mj = y en consecuencia Mj = Mj-1 + (Xj - Xj-1 ) Xj - Xj-1 sj = (Xj - Xj-1 ) uj rj sj . rj

X -X

As´ pues, se puede tener una nueva representaci´n de la partici´n Xt : i o o Tercetas. {(Xj , sj , rj )}m , con r0 = 0. j=0 ´ 3.5. PRINCIPALES PARAMETROS INVOLUCRADOS EN LA ´ ´ RESOLUCION DE LA ECUACION DE ORNSTEIN-ZERNIKE 25

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Esta ultima representaci´n tiene una motivaci´n geom´trica acaso menos intuitiva pero ´ o o e es igualmente util. Todas las formas vistas son equivalentes y el cambio entre cualesquiera ´ dos representaciones es inmediato. Habiendo representado una partici´n en un intervalo [a, b] y otra en un intervalo [c, d], o en el producto cartesiano [a, b] × [c, d] quedar´ entones determinada una malla como el a producto cartesiano de ambas particiones. Procedimiento de intercambio entre representaciones En diversas aplicaciones se ha utilizado la que aqu´ hemos llamado de tercetas como i representaci´n de mallas. La raz´n diametro es un mero factor de escala donde TE es el o o TE cociente de TRR , TAU es la distacia entre las dos part´ iculas en evaluaci´n y RR es la o AU distancia entre una part´ icula y el eje de las abcisas. Veremos ahora c´mo hacemos el o intercambio entre reprentaciones. Conversi´n de tercetas a separaci´n-n´ mero de puntos y viceversa o o u Originalmente los datos que se introducen en el sistema son tercetas de la forma (Wj , Wl , Wz ), y los valores del di´metro y TE que descritos anteriormente se encuena tran involucrados en estos valores. De esta manera obtenemos la representaci´n separaci´n-n´mero de puntos descrita o o u anteriormente. Como mera ilustraci´n, consideremos la representaci´n por tercetas: o o

0.25 0.75 1.75 2.75 4.75 14.75 24.75 80 40 20 10 5 2 1 1 1 1 1 1 1 1

A continuaci´n se presenta el pseudoc´digo del algoritmo utilizado para pasar de la o o representaci´n por tercetas a separaci´n-n´mero de puntos: o o u

Para i = 0 hasta i<N'umerodetercetas Extremo = (TerceraColumna[i]/SegundaColumna[i]) (diametro/tau); Extremo = Extremo + ExtremoInferior ( (PrimeraColumna[i]-auxiliar)* SegundaColumna[i]/TerceraColumna[i]); auxiliar=PrimeraColumna[i]

Utlilizando el algoritmo anterior obtenemos para el primer bloque 20 subbloques de longitud 0.006250, como se muestra:

0.000000 0.006250 0.012500 0.025000 0.050000 0.100000 0.250000 0.500000 0 20 20 20 10 10 20 10

26

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO Para pasar de la representaci´n separaci´n-n´mero de puntos a tercetas, utilizamos el o o u siguiente algoritmo: Conversi´n o

NuevoRefinamiento = C´lculo * tau / diametro; a TerceraColumna = EnteroInferior( NuevoRefinamiento * 10^5); Temporal = M´ximoCom´nDivisor(TerceraColumna, a u 10^5) SegundaColumna = 10^5 / Temporal;

Representaci´nAnterior o

Para j = 1 hasta j < N´merodeRefinamientos u C´lculo = (Refinamiento[j] a Refinamiento[j-1]) / (Extremo[j] Extremo[j-1]); SegundaColumna, TerceraColumna = Conversi´n(RefinamientoActual, o di´metro, tau ); a PrimeraColumna = auxiliar + ( Extremo[ j ] - Extremo[j-1]) * TerceraColumna / SegundaColumna; auxiliar = PrimeraColumna;

Conversi´n de tercetas a extremo-´ o indice y viceversa

Wl Se tiene que Wz diametro coincide con el refinamiento que se utiliza en la malla, y para TE obtener el ´ indice hasta donde cada refinamiento se utiliza se toma la parte entera del Wl n´mero real Xj - Xj-1 Wz . u Como mera ilustraci´n, consideremos la representaci´n por tercetas presentada en la o o secci´n anterior. A continuaci´n presentamos el pseudoc´digo del algoritmo utilizado para o o o pasar de la representaci´n tercetas a extremo-´ o indice:

IncrementoIndice

Para i=0 hasta i < Numero de tercetas Extremo = ( TerceraColumna[i] / SegundaColumna[i] ) * diametro / tau Extremo = Extremo + ExtremoInferior(( PrimeraColumna - auxiliar )* SegundaColumna / TerceraColumna ) Indice = Indice + 1; auxiliar = PrimeraColumna;

NuevaRepresentaci´n o

ExtremoAuxiliar = IncrementoIndice IndiceAuxiliar = IncrementoIndice Para i =1 hasta i<Numero de tercetas auxiliar1=ExtremoAuxiliar Indice= IndiceAuxiliar auxiliar2 = Indice - auxiliar3 Extremo = Extremo + auxiliar1 * auxiliar2 auxiliar3=Indice

´ 3.5. PRINCIPALES PARAMETROS INVOLUCRADOS EN LA ´ ´ RESOLUCION DE LA ECUACION DE ORNSTEIN-ZERNIKE

27

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Utilizando el algoritmo anterior obtenemos para el primer bloque que nos encontramos en la coordenada de extremo de segmento el extremo 0.125000 y en el indice 21, como se muestra a continuaci´n. o

0.000000 0.125000 0.375000 0.875000 1.375000 2.375000 7.375000 12.375000 1 21 41 61 71 81 101 111

Ahora nos abocaremos a mostrar el procedimiento a partir de una interfaz de entrada que permita introducir como datos los relativos a representaciones de mallas planares de la forma: coordenadas de extremos de segmentos, y los ´ indices que ocupar´n en los a arreglos num´ricos definidos (IX e IY ). A partir de esta especificaci´n podemos obtener la e o representaci´n equivalente por tercetas. Es posible involucrar en su definici´n datos como o o -8 un di´metro de part´ a icula (con valor num´rico del orden de 10 ) y una separaci´n entre e o part´ iculas. Aqu´ mostramos el algoritmo para pasar de la representaci´n extremo-´ i o indice a tercetas: Division1

auxiliar = DivisionRestoExtremoIndice * tau / diametro; TerceraColumnaAuxiliar = EnteroInferior ( auxiliar * 10^5); SegundaColumnaAuxiliar = 10^5 auxiliar2 = MaximoComunDivisor( TerceracolumnaAuxiliar, SegundaColumnaAuxiliar ); auxiliar3 = SegundaColumnaAuxiliar / auxiliar2

Division2

auxiliar = DivisionRestoExtremoIndice * ( tau / diametro ); TerceraColumnaAuxiliar = EnteroInferior ( auxiliar * 10^5); SegundaColumnaAuxiliar = 10^5 auxiliar2 = MaximoComunDivisor( TerceraColumnaAuxiliar, SegundaColumnaAuxiliar ); auxiliar4 = TerceraColumnaAuxiliar / auxiliar2

Transformacion

Para j=0 hasta j<NumerodeDatos DivisionRestoExtremoIndice = ( Extremo[j] - Extremo[j-1] ) / ( Indice[j] - Indice[j-1] ) SegundaColumna = Division1(DivisionRestoExtremoIndice, NumerodeDatos) TerceraColumna = Division2(DivisionRestoExtremoIndice, NumerodeDatos) PrimeraColumna = Auxiliar5+( Indice[j] - Indice[j-1])* TerceraColumna/SegundaColumna

28

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO Conversi´n de tercetas a extremo-n´ mero de puntos y viceversa o u La representaci´n extremo-n´mero de puntos puede ser la m´s intuitiva desde el punto o u a de vista geom´trico. La representaci´n por tercetas es la utilizada por mera convenci´n. e o o Para pasar de la representaci´n por tercetas a la representaci´n por extremo-n´mero de o o u puntos, se utiliza el algoritmo que se muestra a continuaci´n: o

ExtremoAuxiliar = IncrementoIndice ExtremoAuxiliar2 = IncrementoIndice Extremo=ExtremoAuxiliar auxiliar4= ExtremoAuxiliar2 Para i = 0 hasta i < Numerodetercetas auxiliar1 = ExtremoAuxiliar auxiliar2[i] = ExtremoAuxiliar2 auxiliar3 = auxiliar2 - auxiliar4 Extremo = Extremo + auxiliar1 * auxiliar3 Numerodepuntos=auxiliar2[i] - auxiliar2[i-1]

Para ejemplificar el procedimiento utilizamos la representaci´n por tercetas mostrada o anteriormente y obtenemos la representaci´n separaci´n-´ o o indice:

0.000000 0.006250 0.012500 0.025000 0.050000 0.100000 0.250000 0.500000 1 21 41 61 71 81 101 111

Para cambiar de la representaci´n separaci´n-´ o o indice a la representaci´n por tercetas o utlizamos el siguiente algoritmo:

Para j = 1 hasta j < N´merodeRefinamientos u C´lculo = (Refinamiento[j] a Refinamiento[j-1]) / (Extremo[j] Extremo[j-1]); SegundaColumna, TerceraColumna = Conversi´n(RefinamientoActual, o di´metro, tau ); a PrimeraColumna = auxiliar + ( Extremo[ j ] - Extremo[j-1]) * TerceraColumna / SegundaColumna; auxiliar = PrimeraColumna; Para j=0 hasta j<NumerodeDatos DivisionRestoExtremoIndice = ( Extremo[j] - Extremo[j-1] ) / ( Indice[j] - Indice[j-1] ) SegundaColumna = Division1(DivisionRestoExtremoIndice, NumerodeDatos) TerceraColumna = Division2(DivisionRestoExtremoIndice, NumerodeDatos) PrimeraColumna = Auxiliar5+( Indice[j] - Indice[j-1])* TerceraColumna/SegundaColumna

´ 3.5. PRINCIPALES PARAMETROS INVOLUCRADOS EN LA ´ ´ RESOLUCION DE LA ECUACION DE ORNSTEIN-ZERNIKE

29

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 3.8: Malla determinada por P × (Q1 Q2 ) Todas las representaciones creadas son equivalentes y de manera similar como ya se vio se pueden hacer conversiones entre ellas. Ejemplo En el tratamiento num´rico de la ecuaci´n OZ es necesario calcular un arreglo de valores e o sobre una malla definida en el plano cartesiano con coordenadas - . Por ejemplo, en el intervalo J1 = [0., 0.5] consideremos la partici´n cuya representaci´n o o extremo-n´mero de puntos es u Q1 = 0. 0.05 0.1 0.2 0.5 0 20 15 10 5

y en el intervalo J2 = [0.5, 1.] consideremos la partici´n cuya representaci´n extremoo o n´mero de puntos es u 0.5 0.75 0.9 0.95 1. Q2 = 0 5 4 3 2 Por otro lado, en el intervalo I = [1., 15.] consideremos la partici´n cuya representaci´n o o extremo-n´mero de puntos es u P = 1. 2. 4. 8. 10. 15. 0 20 15 10 5 2

En la figura 3.20 se representa a la malla determinada por el producto cartesiano P × (Q1 Q2 ). En la figura 3.9 se representa a la imagen de esa malla al aplicar el cambio de variables dado por la transformaci´n descrita en la secci´n 3.2.1. o o Ahora, a cada punto en la submalla de arriba P × Q2 apliquemos la transformaci´n o (, ) ( + - 0,5, ), la cual har´ que los segmentos verticales se conviertan en l´ a ineas paralelas a la diagonal principal. Denotemos por R a esa nueva malla. En la figura 3.10 se representa a la malla (P × Q1 ) R. En la figura 3.11 se representa a la imagen de esa malla al aplicar el cambio de variables .

30

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

Figura 3.9: Malla (P × (Q1 Q2 ))

Figura 3.10: Malla (P × Q1 ) R

Figura 3.11: Malla ((P × Q1 ) R)

´ 3.5. PRINCIPALES PARAMETROS INVOLUCRADOS EN LA ´ ´ RESOLUCION DE LA ECUACION DE ORNSTEIN-ZERNIKE

31

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

3.6.

C´lculo de funciones n´ cleo a u

En la ecuaci´n 3.14 encontramos la funci´n Kl (, , 3 , 3 ), la cual representa el c´lculo o o a principal de la ecuaci´n OZ, para dar soluci´n a esta funci´n se require analizarla positiva o o o y negativamente, pues nuestro espacio de trabajo se encuentra en los ejes positivo y negativo del plano cartesiano. As´ para dos puntos (1 , 1 ), (3 , 3 ) B1 se calculan dos i valores XF + (1 , 1 ; 3 , 3 ) y XF - (1 , 1 ; 3 , 3 ), de esta manera definimos.

+ g13 = - g13 = h13 2 2 2 (n2 - 1)(1 - 1 ) + (3 - 1)(1 - 3 ) + (1 1 - 3 3 )2 1 2 2 2 (n2 - 1)(1 - 1 ) + (3 - 1)(1 - 3 ) + (1 1 - 3 3 )2 1 2 2 2 2 = 2 (1 - 1 )(1 - 3 )(1 - 1)(3 - 1)

(3.37) (3.38)

Para resolver la cerradura de la ecuaci´n descrita en la secci´n 2.2 se tienen que o o usar t´cnicas de m´todos num´ricos debido a la imposibilidad para obtener soluciones e e e anal´ iticas. El m´todo de elemento finito1 ya ha sido usado anteriormente para resolver la e ecuacion HCA/MSA en varias geometrias y ha demostrado ser un m´todo eficiente. Utie lizando MEF podemos obtener los valores de los pesos involucrados en nuestro problema, realizamos el proceso de integraci´n con base en tri´ngulos, aqui los hemos definido como o a constantes. a0 a1 a2 a3 a4 hagamos

4

= = = = =

1.38629436112 0.09666344259 0.03590092383 0.03742563713 0.01451196212

b0 b1 b2 b3 b4

= = = = =

0.50000000000 0.12498593597 0.06880248576 0.03328355346 0.00441787012

f1 (x) =

i=0

ai x + h13

x - h13 x + h13 f1 (x) f2 (x)

i

4

-

i=0

ai

x - h13 x + h13

i

log10

x - h13 x + h13

(3.39) (3.40) (3.41)

f2 (x) =

2 2 f3 (x) = 2 3 - 3

entonces definimos las funciones n´cleo positiva y negativa u XF + (1 , 1 ; 3 , 3 ) XF - (1 , 1 ; 3 , 3 )

Para resolver la ecuaci´n descrita anteriormente se utiliza el procedimiento que calcula o 2 2 una funci´n R × R R2 . o Primero, realizan las asignaciones siguientes:

1

De aqui en adelante MEF

32

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

othzee=(pow(eta,2)-1)*(1-pow(xsi,2)); stothzeep=pow(((xsi1*eta1)+(xsi3*eta3)),2); stothzeen=pow(((xsi1*eta1)-(xsi3*eta3)),2);

El siguiente procedimiento realiza el c´lculo de las funciones 3.39, 3.40, 3.41, y es utia lizado en todas las funciones n´cleo descritas u Funci´n o

a0 a1 a2 a3 a4 b0 b1 b2 b3 b4 r1 r2 r3 r4 = = = = = = = = = = = = = = 1.38629436112 0.09666344259 0.03590092383 0.03742563713 0.01451196212 0.50000000000 0.12498593597 0.06880248576 0.03328355346 0.00441787012 ( xa - xb0 )/( xa + xb0 ) pow(r1,2) pow(r1,3) pow(r1,4)

a = a0 + a1 * r1 + a2 * r2 + a3 * r3 + a4 * r4 b = ( b0 + b1 * r1 + b2 * r2 + b3 * r3 + b4 * r4 ) * log( r1 ) fst = a - b yst = sqrt( xa + xb0 ) temp = (pow(tau,2) * ( pow(eta3,2) - pow(xsi3,2) )) * fst / yst

La funci´n principal para la rutina que calcula los primeros n´cleos de la ecuaci´n OZ o u o es:

z1 = ZXkernel(eta1,xsi1) z3 = ZXkernel(eta3,xsi3) xap = z1 + z3 + Z13Xkernel(eta1,xsi1,eta3,xsi3) xb0 = 2 * sqrt( z1 * z3 ) xkplp =Funci´n( tau, xap, xb0, eta3, xsi3) o

El procedimiento principal para la rutina que hace el c´lculo de los segundos n´cleos a u de la ecuaci´n OZ es: o

npd2=0 te = tau/2 xap = z1 + z3+Z13Xkernel(eta1,xsi1,eta3,xsi3) xb0 = 2 * sqrt( z1 * z3 ) rm = te * sqrt( xap + xb0 ) Si ( rn >=diam ) xkp = 0 en caso contrario

´ ´ 3.6. CALCULO DE FUNCIONES NUCLEO

33

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

ni = 2 np = 64 nxx = ni*np xmax = acos( -pow(diam,2)+xap*pow(te,2))/(xb0*pow(te,2)) Si ( rm < diam ) xmax = pi xmin = 0 pesos( np, npd2 ) recibepesos( ni, np, npd2, xmax, xmin ) Para i1= 1 hasta i1<=nxx s13 = te * sqrt( xap - xb0 + cos( xp[ i1 ] )) xa[ i1 ] = s13 xb[ i1 ] = pow(s13,3) xc[ i1 ] = 1/s13 sum1 = 0 sum2 = 0 Para j = 1 hasta j <= nxx m =( xku + xkd * xa[ j ] + xkt * xb[ j ]) sum1 = sum1 - 2 * wt[ j ] * m n =( xc[ j ] + fun1 + fun2 * xa[ j ]) sum2 = sum2 + 2 * wt[ j ] * n xkp = sum1 * ( pow(eta3,2) - pow(xsi3,2 ) )* pow(te,3)

El procedimiento principal para la rutina que hace el c´lculo de los terceros n´cleos de a u la ecuaci´n OZ es: o

eta31=eta3*(-1) npd2=0 te = tau/2 xap = z1 + z3+Z13Xkernel(eta1,xsi1,eta31,xsi3) xb0 = 2 * sqrt( z1 * z3 ) rm = te * sqrt( xap + xb0 ) Si ( rn >=diam ) xkp = 0 en caso contrario ni = 2 np = 64 nxx = ni*np xmax = acos( -pow(diam,2)+xap*pow(te,2))/(xb0*pow(te,2)) Si ( rm < diam ) xmax = pi xmin = 0 pesos( np, npd2 ) recibepesos( ni, np, npd2, xmax, xmin ) Para i1 = 1 hasta i1 <= nxx s13 = te * sqrt( xap - xb0 + cos( xp[ i1 ] )) xa[ i1 ] = s13 xb[ i1 ] = pow(s13,3) xc[ i1 ] = 1/s13 sum1 = 0 sum2 = 0 Para j = 1 hasta j <= nxx m = ( xku + xkd * xa[ j ] + xkt * xb[ j ]) sum1 = sum1 - 2 * wt[ j ] * m n = ( xc[ j ] + fun1 + fun2 * xa[ j ])

34

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO a1 = 0,57735027 w1 = 1,00000000

Tabla 3.1: Pesos cuando IPQ J1 en Quadr. a1 = 0,33998104 a2 = 0,86113631 w1 = 0,65214515 w2 = 0,34785484

Tabla 3.2: Pesos cuando IPQ J2 en Quadr.

sum2 = sum2 + 2 * wt[ j ] * n xkp = sum1 * ( pow(eta31,2) - pow(xsi3,2 ) )* pow(te,3)

Como se muestra la diferencia entre los procedimientos para el c´lculo de los segundos a y terceros n´cleos de la ecuaci´n OZ radica unicamente en el cambio de signo en el valor u o ´ de eta3, pero este implica que el procedimiento converja mas r´pidamente. Para obtener a las gr´ficas solo es necesario introducir los par´metros en las funciones y ejecutarlas. a a

3.6.1.

C´lculo de ra´ a ices de operadores en t´rminos de las fune ciones que calculan los n´ cleos de la ecuaci´n de Ornsu o tein-Zernike

En funci´n de su argumento de entrada la rutina Pesos define dos listas de pesos y un o valor de salida NPD2. La rutina Pesosy la rutina RecibePesos comparten 4 arreglos: a, w, wt y xp. Los dos primeros son pesos y se determinan en Pesos. Los otros dos quedan determinados en RecibePesos. Si IPQ 7 se hace NPD2 = IPQ y se define los pesos seg´n las relaciones en los u 2 recuadros (5.4), (5.5) o (5.6) de acuerdo con que NPD2 = 1, 2 o 3. Si IPQ 8 se hace NDIR = Min{ IPQ , 5}, IPQ = Min{IPQ, 64} y NPD2 = IPQ y se 8 2 define los pesos seg´n las relaciones en los recuadros (5.7), (5.8), (5.9), (5.10) o (5.11) de u acuerdo con el valor de NPD2. En otras palabras, al considerar los intervalos de enteros: J1 = [[2, 4[[ J2 = [[4, 6[[ J3 = [[6, 8[[ J4 = [[8, 16[[ J5 = [[16, 24[[ J6 = [[24, 32[[ J7 = [[32, 40[[ J8 = [[40, +[[ entonces si el valor de IPQ cae en Ji se toma el conjunto de pesos en el i-´simo recuadro. e Observamos que los vectores de pesos, para cada caso, tienen longitudes

1

= 1,

2

= 2,

3

= 3,

4

= 4,

5

= 8,

6

= 12,

7

= 16,

8

= 32.

Los vectores presentados en las tablas son los pesos definidos en el programa Los vectores w son coeficientes de combinaciones convexas: Estas coordenadas son siempre positivas y estan normalizados a 1 por la 1-norma. Los vectores a son positivos y se incrementan en consecuencia de la tendendica a 1 del ultimo elemento. ´ ´ ´ 3.6. CALCULO DE FUNCIONES NUCLEO 35

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o a1 = 0,23861919 a2 = 0,66120939 a3 = 0,93246951 w1 = 0,46791393 w2 = 0,36076157 w3 = 0,17132449

Tabla 3.3: Pesos cuando IPQ J3 en Quadr. a1 a2 a3 a4 = = = = 0,1834346424 0,5255324099 0,7966664774 0,9602898565 w1 w2 w3 w4 = = = = 0,3626837834 0,3137066459 0,2223810344 0,1012285362

Tabla 3.4: Pesos cuando IPQ J4 en Quadr.

a1 a2 a3 a4 a5 a6 a7 a8

= = = = = = = =

9,5012509838 × 10-02 2,8160355078 × 10-01 4,5801677766 × 10-01 6,1787624440 × 10-01 7,5540440836 × 10-01 8,6563120239 × 10-01 9,4457502307 × 10-01 9,8940093499 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8

= = = = = = = =

1,8945061046 × 10-01 1,8260341504 × 10-01 1,6915651940 × 10-01 1,4959598882 × 10-01 1,2462897126 × 10-01 9,5158511682 × 10-02 6,2253523939 × 10-02 2,7152459412 × 10-02

Tabla 3.5: Pesos cuando IPQ J5 en Quadr.

a1 a2 a3 a4 a5 a6 a7 a8 a9 a9 a10 a11 a12

= = = = = = = = = = = = =

6,4056892863 × 10-02 1,9111886747 × 10-01 3,1504267970 × 10-01 4,3379350763 × 10-01 5,4542147139 × 10-01 6,4809365194 × 10-01 7,4012419158 × 10-01 8,2000198597 × 10-01 8,8641552700 × 10-01 8,8641552700 × 10-01 9,3827455200 × 10-01 9,7472855597 × 10-01 9,9518722000 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12

= = = = = = = = = = = =

1,2793819535 × 10-01 1,2583745635 × 10-01 1,2167047293 × 10-01 1,1550566805 × 10-01 1,0744427012 × 10-01 9,7618652104 × 10-02 8,6190161532 × 10-02 7,3346481411 × 10-02 5,9298584915 × 10-02 4,4277438817 × 10-02 2,8531388629 × 10-02 1,2341229800 × 10-02

Tabla 3.6: Pesos cuando IPQ J6 en Quadr. 36 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

= = = = = = = = = = = = = = = =

4,8307665688 × 10-02 1,4447196158 × 10-01 2,3928736225 × 10-01 3,3186860228 × 10-01 4,2135127613 × 10-01 5,0689990893 × 10-01 5,8771575724 × 10-01 6,6304426693 × 10-01 7,3218211874 × 10-01 7,9448379597 × 10-01 8,4936761373 × 10-01 8,9632115577 × 10-01 9,3490607594 × 10-01 9,6476225559 × 10-01 9,8561151155 × 10-01 9,9726386185 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16

= = = = = = = = = = = = = = = =

9,6540088515 × 10-02 9,5638720079 × 10-02 9,3844399081 × 10-02 9,1173878696 × 10-02 8,7652093004 × 10-02 8,3311924227 × 10-02 7,8193895787 × 10-02 7,2345794109 × 10-02 6,5822222776 × 10-02 5,8684093479 × 10-02 5,0998059262 × 10-02 4,2835898022 × 10-02 3,4273862913 × 10-02 2,5392065309 × 10-02 1,6274394731 × 10-02 7,0186100095 × 10-03

Tabla 3.7: Pesos cuando IPQ J7 en Quadr. La rutina RecibePesos, recibe 4 argumentos de entrada: n = NSUB, I = IPQ, NPD2 = I , 2 xMx = XMAX y xMn = XMIN. n es el n´mero de subdivisones del intervalo [xMn , xMx ] e I es u el n´mero de nodos en cada subdivisi´n. u o 1 Se hace = n (xMx - xMn ), c = 2 y para cada i n, xi = xMn + i. Para cada i [[1, n]] se procede como sigue: 1 Sean ti = 1 (xi + xi-1 ) el punto medio del intervalo real [xi-1 , xi ] y Ki = I i - 2 el 2 punto medio del i-´simo intervalo entero consistente de I enteros consecutivos. Entonces, e para j I se define 2 wtKi +j = ti + caj xpKi +j = crj (3.42) wtKi +1-j = ti - caj xpKi +1-j = crj donde los arreglos a y r, en RI , est´n dados previamente. As´ pues, los arreglos de salida a i wt y xp son de dimensi´n n · I. o El algoritmo de la funci´n RecibePesos es: o

k = -npd delta = ( xmax - xmin )/ (float) nsub b = xmin j = 1 Para i = 1 hasta i <= nsub a = b b = b + delta trans = ( b + a )/ 2.0 coeff = ( b - a )/ 2.0 k = k + ipq l = k + 1 Si ( npd - j >= 0 )

´ ´ 3.6. CALCULO DE FUNCIONES NUCLEO

37

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

a1 a2 a4 a3 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

2,4350292663 × 10-02 7,2993121788 × 10-02 1,6964442042 × 10-01 1,2146281930 × 10-01 2,1742364374 × 10-01 2,6468716221 × 10-01 3,1132287199 × 10-01 3,5722015834 × 10-01 4,0227015796 × 10-01 4,4636601725 × 10-01 4,8940314571 × 10-01 5,3127946402 × 10-01 5,7189564620 × 10-01 6,1115535517 × 10-01 6,1115535517 × 10-01 6,4896547125 × 10-01 6,8523631305 × 10-01 7,1988185017 × 10-01 7,5281990726 × 10-01 7,8397235894 × 10-01 8,1326531512 × 10-01 8,4062929625 × 10-01 8,6599939815 × 10-01 8,8931544600 × 10-01 9,1052213708 × 10-01 9,2956917213 × 10-01 9,4641137486 × 10-01 9,6100879965 × 10-01 9,7332682779 × 10-01 9,8333625388 × 10-01 9,9101337148 × 10-01 9,9634011677 × 10-01 9,9930504174 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 w31 w32

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

4,8690957009 × 10-02 4,8575467442 × 10-02 4,8344762235 × 10-02 4,7999388596 × 10-02 4,7540165715 × 10-02 4,6968182816 × 10-02 4,6284796581 × 10-02 4,5491627927 × 10-02 4,4590558164 × 10-02 4,3583724529 × 10-02 4,2473515124 × 10-02 4,1262563243 × 10-02 3,9953741133 × 10-02 3,8550153179 × 10-02 3,7055128540 × 10-02 3,5472213257 × 10-02 3,3805161837 × 10-02 3,2057928355 × 10-02 3,0234657072 × 10-02 2,8339672614 × 10-02 2,6377469715 × 10-02 2,4352702569 × 10-02 2,2270173808 × 10-02 2,0134823154 × 10-02 1,7951715776 × 10-02 1,5726030476 × 10-02 1,3463047897 × 10-02 1,1168139460 × 10-02 8,8467598264 × 10-03 6,5044579690 × 10-03 4,1470332606 × 10-03 1,7832807217 × 10-03

Tabla 3.8: Pesos cuando IPQ J8 en Quadr.

38

Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

Figura 3.12: Gr´fica determinada por abc y wei, arreglos generados en 4arg a

m = k + j n = l - j part = coeff + ar[ j ] xp[ m ] = trans + part xp[ n ] = trans - part part = coeff * w[ j ] wt[ n ] = part wt[ m ] = part j = j + 1

Como ejemplo se puede mostrar que para nrp = 2, isl = 8, xmx, xmn = 1., 0, abc, wei = P esos[acf, wcf, nrp, isl, xmx, xmn] se obtienen las gr´ficas de la figura 3.12 a

3.7.

C´lculo de las funciones que involucran a los proa cedimientos n´ cleo en t´rminos de la ecuaci´n de u e o Ornstein-Zernike

Para cada punto (1 , 1 ) M se define aqu´ a 6 matrices i

XF1(1 , 1 ) = (XF1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XF4(1 , 1 ) = (XF4(1 , 1 ; 3 , 3 ))(3 ,3 )M XYK1(1 , 1 ) = (XYK1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYK4(1 , 1 ) = (XYK4(1 , 1 ; 3 , 3 ))(3 ,3 )M XYL1(1 , 1 ) = (XYL1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYL4(1 , 1 ) = (XYL4(1 , 1 ; 3 , 3 ))(3 ,3 )M

Describiremos el proceso de c´lculo considerando de manera gen´rica a una matriz a e XF(1 , 1 ) = (F (1 , 1 ; 3 , 3 ))(3 ,3 )M que puede ser cualquiera de las 6 calculadas aqu´ i. Consideremos la triangulaci´n T en la regi´n B1 cuyos nodos son los puntos en M. T o o consiste de los tri´ngulos obtenidos al dividir mediante la diagonal (Norte-Oeste)-(Sura Este) a cada cuadr´ngulo a Cij = [ (j) , (j+1) ] × [ (i) , (i+1) ], i < n 2 + n3 , j < n1 .

´ 3.7. CALCULO DE LAS FUNCIONES QUE INVOLUCRAN A LOS 39 ´ ´ ´ PROCEDIMIENTOS NUCLEO EN TERMINOS DE LA ECUACION DE ORNSTEIN-ZERNIKE

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Cada punto mi3 j3 = ( (j3 ) , (i3 ) ) M que no sea fronterizo es un v´rtice de 6 tri´ngulos e a en T : T1 (mi3 j3 ) = T3 (mi3 j3 ) = T5 (mi3 j3 ) = Sea D(mi3 j3 ) =

=1

(mi3 j3 , mi3 ,j3 +1 , mi3 +1,j3 ) ; T2 (mi3 j3 ) = (mi3 j3 , mi3 +1,j3 -1 , mi3 ,j3 -1 ) ; T4 (mi3 j3 ) = (mi3 j3 , mi3 -1,j3 , mi3 -1,j3 +1 ) ; T6 (mi3 j3 ) =

6

(mi3 j3 , mi3 +1,j3 , mi3 +1,j3 -1 ) (mi3 j3 , mi3 ,j3 -1 , mi3 -1,j3 ) (mi3 j3 , mi3 -1,j3 +1 , mi3 ,j3 +1 )

T (mi3 j3 ) la uni´n de los seis tri´ngulos que contienen al punto mi3 j3 . o a

Se procede de manera similar a la de calcular integrales de la forma

6

F (1 , 1 ; mi3 j3 )

D(mi3 j3 )

h(1 , 1 ; , ) dd =

=1 T (mi3 j3 )

h(1 , 1 ; , ) dd

(3.43)

en donde cada una de las integrales

T (mi3 j3 )

h(1 , 1 ; , ) dd se calcula mediante el

elemento finito cuyo conjunto (V(13) ) de nodos consta de 13 puntos, y es una imagen isomorfa del conjunto V(13) = (v )13 con pesos de integraci´n o =1 = 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257 (3.44) (obs´rvese que estos pesos coinciden por renglones). Tendr´ e iamos pues

6 13

w1 (13) w2 (13) w5 (13) w8 (13) w11

(13)

= -0,149570044467670 = 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257

w3 (13) w6 (13) w9 (13) w12

(13)

= 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257

w4 (13) w7 (13) w10 (13) w13

(13)

F (1 , 1 ; mi3 j3 ) =

=1

a ´rea(T )

=1

w

(13)

h(1 , 1 ; (v )).

(3.45)

Sin embargo, se procede de otra manera. Se hace un recorrido por grupos de 4 cuadr´ngulos a de la forma Cij . De hecho, se supone que n1 y nT = n2 + n3 son impares. Entonces en cada -1 una de las coordenadas - hay un n´mero par de intervalos. µ n12 , n2 +n3 -1 u 2 sea Rµ, = C2µ-1,2-1 C2µ-1,2 C2µ,2-1 C2µ,2 [ (2-1) , (2) ] × [ (2µ-1) , (2µ) ] [ (2) , (2+1) ] × [ (2µ-1) , (2µ) ] = [ (2-1) , (2) ] × [ (2µ) , (2µ+1) ] [ (2) , (2+1) ] × [ (2µ) , (2µ+1) ] el dominio obtenido como uni´n de 4 cuadr´ngulos. La triangulaci´n arriba descrita induce o a o en ese dominio una subtriangulaci´n m´s y podemos separar los tri´ngulos resultantes en o a a dos subcolecciones. Las sumatorias en 5.6 pueden calcularse por separado en cada uno de los tri´ngulos del dominio de la subtriangulaci´n. a o De acuerdo con la ec. (3.14), la fuci´n integrando h es el producto de una funci´n b´sica, o o a en el elemento finito, por un n´cleo. u -1 Dado un punto (, ) B1 existen µ n12 , n2 +n3 -1 tales que (, ) Rµ, y 2 ah´ se tiene que i 40 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO Tinf m 1 2 3 4 5 6 fm f1 = G21 f2 = G24 f3 = G22 f4 = G26 f5 = G25 f1 = G23 = L1 (2L1 - 1) = 4L1 L2 = L2 (2L2 - 1) = 4L3 L1 = 4L2 L3 = L3 (2L3 - 1) m 7 8 9 10 11 12 Tsup fm f7 = G21 = L1 (2L1 - 1) f8 = G26 = 4L3 L1 f9 = G24 = 4L1 L2 f10 = G23 = L3 (2L3 - 1) f11 = G25 = 4L2 L3 f12 = G22 = L2 (2L2 - 1)

Tabla 3.9: Funciones asociadas a v´rtices en tri´ngulos. e a (, ) Tinf = (, ) Tsup = (m2µ-1,2-1 , m2µ+1,2-1 , m2µ-1,2+1 ) o bien (m2µ+1,2-1 , m2µ+1,2+1 , m2µ-1,2+1 ).

Los v´rtices del tri´ngulo en el que est´ (, ) son e a a (LI , LJ , LK ) = (m2µ-1,2-1 , m2µ+1,2-1 , m2µ-1,2+1 ) (m2µ+1,2-1 , m2µ+1,2+1 , m2µ-1,2+1 ) si (, ) Tinf , si (, ) Tsup .

Sean LI , LJ , LK las correspondientes funciones coordenadas de ´rea. Estas son funciones a afines tales que LM (LN ) = M N . Consideremos las seis funciones b´sicas, que dan una a interpolaci´n cuadr´tica. De acuerdo con su posici´n relativa en los tri´ngulos Tinf o Tsup , o a o a a cada punto m se le asocia una funci´n fm seg´n se ve en el recuadro 5.13. La ec. (5.6) o u se escribe entonces como

6 13

F (1 , 1 ; mi3 j3 ) =

=1

a ´rea(T )

=1

w

(13)

fm ( (v ))g(1 , 1 ; (v )).

(3.46)

Las funciones g, para cada una de las seis matrices definidas aqu´ est´n constru´ i, a idas como sigue: XF1: gXF1 (1 , 1 ; , ) = XF+ (1 , 1 ; , ), seg´n se calcula en N´cleo. u u XYK1: gXYK1 (1 , 1 ; , ) = XK+ (1 , 1 ; , ), seg´n se calcula en N´cleo1. u u XYL1: gXYL1 (1 , 1 ; , ) = XL+ (1 , 1 ; , ), seg´n se calcula en N´cleo1. u u XF4: gXF4 (1 , 1 ; , ) = XF- (1 , 1 ; , ), seg´n se calcula en N´cleo. u u XYK4: gXYK4 (1 , 1 ; , ) = XK+ (1 , 1 ; , ), seg´n se calcula en N´cleo2. u u XYL4: gXYL4 (1 , 1 ; , ) = XL+ (1 , 1 ; , ), seg´n se calcula en N´cleo2. u u ´ 3.7. CALCULO DE LAS FUNCIONES QUE INVOLUCRAN A LOS 41 ´ ´ ´ PROCEDIMIENTOS NUCLEO EN TERMINOS DE LA ECUACION DE ORNSTEIN-ZERNIKE

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 3.13: Gr´fica determinada por 1 = 2 y 1 = 0.5, nucleo1 positivo y negativo a

Figura 3.14: Gr´fica determinada por 1 = 1 y 1 = 1, nucleo1 positivo y negativo a

3.8.

Despliege de soluciones

Las gr´ficas generadas por nucleo1 nos permiten ver que siendo el punto inicial 1 = 2, y a 1 = 0.5 hay una crecimiento en la grafica desde un inicio resultando una media c´pula en u la parte positiva y el mismo crecimiento sucede al utilizar la funcion en su parte negativa. Pero siendo el punto inicial 1 = 1, y 1 = 1 todos los valores son infinitos en la parte positiva y en la parte negativa hay una peque~a region que contiene valores reales con n aproximadamente la misma forma. Siendo el punto inicial 1 = 1, y 1 = 0 todos los valores son infinitos en la parte positiva y en la negativa. Cuando el valor de 1 = 1.1, y 1 = 0.1 hay una crecimiento en la gr´fica similar a la primera gr´fica, siendo 1 = 21.1, a a y 1 = 0.1 tenemos mas valores reales en nuestro plano de trabajo lo cual nos permite observar que la distribuci´n de la funci´n indica que cuando se esta m´s cerca de 1 = 0 o o a tiende a infinito y si nos alejamos del punto inicial (0, 0) tenemos valores cercanos a 0. Por lo que con un peque~o cambio en los valores de y la funci´n n´cleo1 cae en n o u funciones de overflow y underflow. Las gr´ficas generadas por nucleo2 nos permiten ver que siendo el punto inicial 1 = 1, y a 1 = 0 hay una pronunciada caida en la gr´fica y posteriormente tiene una forma uniforme. a Pero siendo el punto inicial 1 = 1.1, y 1 = 0.1 el comportamiendo es suave en la caida de la gr´fica en la presentaci´n positiva mientras que en la negativa es bastante m´s dr´stica. a o a a Siendo el punto inicial 1 = 3, y 1 = 0.1 la curva ocupa menos extensi´n que en el primer o caso. Siendo el punto inicial 1 = 3, y 1 = 0.1, la curva ocupa menos extensi´n, que en o el primer caso. Cuando el valor de 1 = 3, y 1 = 0.1 existe una region peque~a donde n 42 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO

Figura 3.15: Gr´fica determinada por 1 = 21.1 y 1 = 0.1, nucleo1 positivo y negativo a

Figura 3.16: Gr´fica determinada por 1 = 15 y 1 = 0.1, nucleo2 positivo y negativo a hay cambio de valores sobre todo en la evaluaci´n negativa. Siendo 1 = 15, y 1 = 0.1 o aparentemente es simetrico su comportamiento, siendo 1 = 1.1, y 1 = 0.5 la curva es suave y extensa. Si el valor de 1 = 3, y 1 = 0.5 existe solo un ´rea central en la cual se a muestra un crecimiento y aparentemente es sim´trico. Siendo 1 = 15 y 1 = 0.5 existe e una peque~a regi´n donde hay un cambio dr´stico de valores, y su comportamiento se n o a muestra similar en la evaluaci´n positiva y negativa. Si 1 = 1 y 1 = 1 hay una variaci´n o o extensa, mostr´ndose sim´trica en los dos polos, cuando 1 = 3 y 1 = 1 hay un cambio a e importante al final de la gr´fica pues cambia casi al terminar ´sta. Cuando tomamos a e 1 = 15 y 1 = 1 en la esquina ultima se presenta el cambio de valores en nuestro plano ´ de trabajo lo cual nos permite concluir que con un peque~o cambio en los valores de n y . La distribuci´n de la funci´n nucleo2 nos permite ver que en general el resultado o o tiende a 0, con variaciones muy concretas dependiendo de los valores introducidos, cuando escojemos una coordenada cerca del punto (0, 0) la distibuci´n esta dada en los valores o cercanos y si movemos nuestros puntos a lo largo del plano en sus alrededores se da una distribuci´n diferente de 0. La caracter´ o istica de esta funci´n nos permite tomar puntos a o lo largo del plano muestra sin muchos problemas de underflow y overflow. Las gr´ficas generadas por nucleo3 nos permiten ver que siendo el punto inicial 1 = 1, a y 1 = 0 hay una cambio importante en la gr´fica en una extensi´n similar al compora o tamiento en este mismo punto en nucleo2. Pero siendo el punto inicial 1 = 1.1, y 1 = 0.1 la onda es un poco mas peque~a, tomando 1 = 3 y 1 = 0.1 la gr´fica se comporta de n a manera sim´trica aparentemente. Cuando hacemos 1 = 15 y 1 = 0.1 todos los valores e en la gr´fica son 0, siendo 1 = 1.1 y 1 = 0.5 la gr´fica tiene un peque~o crecimiento a a n 3.8. DESPLIEGE DE SOLUCIONES 43

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura 3.17: Gr´fica determinada por 1 = 1.1 y 1 = 0.5, nucleo2 positivo y negativo a

Figura 3.18: Gr´fica determinada por 1 = 1.1 y 1 = 0.1, nucleo3 positivo y negativo a

Figura 3.19: Gr´fica determinada por 1 = 3 y 1 = 0.1, nucleo3 positivo y negativo a

Figura 3.20: Gr´fica determinada por 1 = 15 y 1 = 0.1, nucleo3 positivo y negativo a 44 Ing. Luz Virginia Morales Mor´n o

´ ´ CAP´ ITULO 3. TRATAMIENTO MATEMATICO Y NUMERICO solo en su parte inicial, y los dem´s valores se conservan en 0. Si 1 = 3 y 1 = 0.5, todos a los valores de la gr´fica son 0, al igual que cuando 1 = 15 y 1 = 0.5, cuando 1 = 1 y a 1 = 1, cuando 1 = 3 y 1 = 1, siendo 1 = 15 y 1 = 1, lo que nos permite observar que hay muchas m´s regiones en las que el resultado del procedimiento es cero. a

3.8. DESPLIEGE DE SOLUCIONES

45

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

46

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 4 Alternativa de dise~o para el sistema n de c´mputo que resuelve la ecuaci´n o o OZ

4.1. Antecedentes

En el Instituto Mexicano del Petr´leo, en la ciudad de M´xico, se ha construido un siso e tema en Fortran-90 que resuelve la ecuaci´n OZ . Sin embargo, los principales par´metros o a est´n incorporados al c´digo, por lo que en cada variaci´n de ellos se debe compilar el a o o sistema. Adem´s requiere de muchos recursos en tiempo y en espacio para una ejecuci´n a o eficiente. El problema de la presente tesis consisti´ en construir una interfaz en PHP[2] o y MySQL[13], para manejar el sistema en un servidor y poder consultar los resultados actuales generados en el transcurso de su ejecuci´n e incluso permite consultar los resulo tados de un proceso que ha sido finalizado en fechas anteriores, mediante un navegador compaginable con herramientas de despliegue gr´fico, b´sicamente en GNUPLOT[11], a a para mostrar en forma gr´fica y en archivos de texto la soluci´n de la ecuaci´n. Para esto a o o se realizaron pruebas del comportamiento de la soluci´n cuando se refina la malla del o problema y se var´ los par´metros f´ ian a isicos.

4.2.

Dise~ o del sistema de acceso al servidor Web n

El procedimiento del sistema inicia en la p´gina Web donde a un usuario se le soa licita una contrase~a para acceder dependiendo del tipo de contrase~a que tenga se le n n permite llevar a cabo diferentes procedimientos en el sistema. Exiten 3 tipos de usuario, Administrador, Autorizado y Sin privilegios. Si el usuario actual introdujo la contrase~a de Sin privilegios, las partes del sistema que n puede utilizar se limita a realizar pruebas sobre el sistema, es decir, le permite introducir datos que sirven unicamente para gr´ficar funciones que no requieren mucho tiempo de ´ a c´mputo al sistema, como son la graficaci´n de la malla, la malla desplazada, los como o portamientos de las funciones nucleo1, nucleo2, nucleo3 positivas y negativas, y su conversi´n de todas estas gr´ficas a coordenadas esf´ricas prolatas. o a e 47

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o En caso de que la contrase~a introducida haya sido Autorizado, el usuario tiene la n posibilidad de escoger entre iniciar el proceso del sistema completo, consultar el proceso actual o alguno que ya haya sido concluido ´ solo hacer pruebas con algunos par´metros o a para gr´ficar funciones como son: la malla, la malla desplazada, los comportamientos de a las funciones nucleo1, nucleo2, nucleo3 positivas y negativas, y su conversi´n de todas o estas gr´ficas a coordenadas esf´ricas prolatas, tambi´n es posible gr´ficar las funciones a e e a que necesitan de las rutinas nucleo1, nucleo2, nucleo3 positivas y negativas, esta opci´n requiere, seg´n los par´metros de entrada, mucho tiempo de ejecuci´n. Este usuario o u a o tambi´n puede cancelar alg´n proceso que inicio el mismo y que a´n no ha conclu´ e u u ido, as´ como borrar alguno que no le sea de utilidad seg´n su perpectiva. i u El usuario que introduzca la contrase~a de Administrador, tiene el privilegio de dar de n alta, baja ´ modificar a todos los usuarios, que pretendan acceder al sistema, as´ mismo o i puede consultar o borrar procesos de los usuarios, pero no iniciarlos ni hacer pruebas, para esto tendr´ que acceder con una cuenta de usuario Autorizado. ia

4.3.

Base de datos

La base de datos la realizamos en MySQL con el nombre Petroleo. La base de datos contiene solamente una la cual se describe a continuaci´n: o Usuario Y ´sta conformada por la definici´n de los siguientes campos: e o Usuario Campo TipoUsuario Descripci´n o Almacena el tipo de usuario los tipos, son Administrador, Autorizado, son No Autorizado Guarda el nombre de un usuario Nombre corto dado a un usuario permiso para utilizar el sistema Clave de acceso de un usuario Tipo char(1)

Nombre login contrase~a n

varchar(30) varchar(10) varchar(16)

La contrase~a es encriptada con una funci´n propia de MySQL, de manera que a´n n o u teniendo acceso a la base de datos la contrase~a no es mostrada, si se llega a extraviar lo n recomendable es generar una nueva contrase~a, con el prop´sito de mantener seguridad n o con respecto a qui´n puede acceder al sistema y cuidar su integridad, esta nueva contrase~a e n solo la puede generar el administrador desde su sesi´n. o

4.4.

Dise~ o del sistema en lenguaje C n

El sistema en FORTRAN lee un arreglo de par´metros, que durante el desarrollo del a sistema se convierte en la especificaci´n de una malla, la desventaja es que los par´metros o a en realidad poco aportan a la comprensi´n natural de lo que generan. o 48 Ing. Luz Virginia Morales Mor´n o

~ CAP´ ITULO 4. ALTERNATIVA DE DISENO PARA EL SISTEMA DE ´ ´ COMPUTO QUE RESUELVE LA ECUACION OZ Inicialmente el sistema recibe par´metros PG que determinan la geometr´ de la malla a ia que se utilizar´ para resolver el problema num´rico y los par´metros correspondientes a e a a las caracter´ isticas f´ isicas del problema modelado. Una primera labor consiste en calcular en espec´ ifico los puntos en la malla. Luego, es necesario calcular las componentes de la ecuaci´n OZ (v´ase la ecuaci´n 3.6). Los t´rminos Mij involucran, en algunos casos o e o e dependiendo de los par´metros PG , los c´lculos de funciones n´cleo (que involucran operaa a u ciones mediante t´cnicas de aproximaci´n num´rica e integraci´n en una variable. Estas e o e o dependen de parejas de puntos en la malla). En ´sta ecuaci´n, los t´rminos Cij involucran e o e procesos extensos de integraci´n num´rica, en el plano, de las funciones n´cleo. o e u Hecho lo anterior, la soluci´n buscada es un punto fijo de la ecuaci´n OZ. Para loo o calizarlo, se parte de un punto inicial, y luego se aplica el MNR. En cada paso del m´todo e es necesario resolver un sistema de ecuaciones lineales. Habiendo localizado el punto fijo se procede a desplegar los resultados. En la implementaci´n, propuesta como alternativa, se dan facilidades para visualizar las o diversas etapas del procedimiento descrito arriba. Se puede desplegar, como una gr´fica a tridimensional con dominio en la malla, las funciones Mij y las funciones n´cleos cuando u son utilizadas para calcular las funciones Cij . Como los n´cleos dependen de parejas de u puntos en la malla, se considera al primer punto en una pareja como un par´metro y la a gr´fica se realiza haciendo variar al segundo punto en la pareja. a El motivo del redise~o de esta parte del sistema es hacerlo intuitivo geometricamente, n pues al solicitar los datos es necesario que se tenga una idea clara de lo que se requiere y as´ no desperdiciar los recursos con los que cuenta el sistema, obteniendo los resultados i esperados. No todas las rutinas hechas en FORTRAN se redise~aron pues una de las ventajas de n este lenguaje de programaci´n es su cercan´ al hardware de la m´quina ya que permite en o ia a un sistema complejo que tiene m´ltiples funciones matem´ticas, agilizar la ejecuci´n con u a o respecto a otros lenguajes de programaci´n. Ciertamente el sistema completo se tardaba o cantidades de tiempo considerables, sin embargo, de haber traducido al sistema totalmente a lenguaje C el tiempo de ejecuci´n se hubiera visto incrementado a´n m´s, de o u a tal modo que para alcanzar la optimizaci´n del tiempo era recomendable solamente una o modificaci´n parcial. o En el sistema en el lenguaje C, la rutina denominada RepresentacionActual hace la conversi´n de la representaci´n Extremo-refinamiento a Extremo-n´mero de puntos, o o u la rutina RepresentacionAnterior realiza la conversi´n de la representaci´n Extremoo o refinamiento a la representaci´n por Tercetas, como hemos explicado en la secci´n 3.5.1. o o En la rutina SegmentosPuntos y Coordenadas, se crea la malla del problema tomando como valores de entrada la representaci´n Extremo -refinamiento. En el procedimieno to NuevaRepresentaci´n se hace el cambio de coordenadas cartesianas a prolatas, los o archivos de texto generados por estas rutinas son le´ idos por el sistema original, supliendo algunas partes de los procedimientos como aquel que espec´ ifica los par´metros, la rutina a que espec´ ifica la malla, el procedimiento que realiza el c´lculo de los t´rminos de grado a e cero en el exponente de la ecuaci´n OZ y las funciones que hacen el c´lculo de los n´cleos o a u de ´sta, el redise~o de ´stas rutinas permite la iteraci´n amigable al usuario, pero no le e n e o quitan efectividad en tiempo de ejecuci´n al problema. o Las rutinas encargadas de calcular los n´cleos de la ecuaci´n OZ, junto con las rutinas u o ~ 4.4. DISENO DEL SISTEMA EN LENGUAJE C 49

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o que necesitan para su ejecuci´n, fueron redise~adas en el programa de C para que sea o n posible mostrar las gr´ficas esperadas desde el inicio de la ejecuci´n, con el prop´sito de a o o que un usuario pueda tener una idea del comportamiento del sistema y as´ escoger los i datos de manera consistente. Tambi´n la rutina que calcula las seis funciones que son auxiliares a las rutinas que e calculan los n´cleos esta redise~ada para conocer con anterioridad a la ejecuci´n completa u n o del sistema los resultados generados por las matrices que en ella se definen. Se toman los datos de los arreglos lineales, generados en FORTRAN para construir arreglos planares que permiten una mejor visualizaci´n de sus resultados en una gr´fica tridimensional. o a Las gr´ficas, en general, las tomamos de los valores de los datos de cada una de las a rutinas involucradas, las generamos con el resultado de las operaciones realizadas en las subrutinas en diferentes momentos de su ejecuci´n. o La iteracci´n entre los programas realizados en FORTRAN y los creados en C se da o por medio de archivos de texto, que son generados por todos y cada uno de los programas en C, el sistema en FORTRAN tiene la capacidad de leer estos archivos formateados. De aqu´ en adelante es posible comparar los procesos ejecutados, facilitando el an´lisis i a de los resultados que se obtienen al utilizar el sistema, ya que por medio de una interfaz Web es f´cil ejecutar el sistema desde alguna estaci´n de trabajo, e iniciar varios a o procesos simult´neamente, si que sea necesario dedicar una computadora a ejecutar un a ´ unico proceso, pero si es necesario tener un servidor dedicado a la ejecuci´n de todos los ´ o procesos.

4.5.

Esquema general del sistema que resuelve la ecuaci´n de Ornstein-Zernike o

En la figura 4.1 mostramos un esquema general del sistema que resuelve la ecuaci´n o OZ, en un diagrama a bloques,en el cual se explica el procedimiento de ejecuci´n que o sigue. A continuaci´n damos una breve explicaci´n de lo que representan los bloques con o o n´mero. u 1. Programa en PHP que se comunica con la base de datos. 2. Programa en PHP que administra las carpetas del sistema. 3. Programa en PHP que escribe los datos introducidos. 4. Programa en PHP que ejecuta los Scripts, los programas en C, el programa en FORTRAN, genera los nuevos archivos en GNUPLOT y los ejecuta. 5. Programas en C que realizan las conversiones entre las diferentes representaciones a partir de los archivos generados por PHP y los escribe en archivos de texto. 6. Programas en C que realiza los c´lculos de los procedimientos nucleo1, nucleo2,nucleo3, a XMTX que realizan el procedimiento de MNR para resolver la ecuaci´n OZ y el proo grama ptosinic que se encarga de la generaci´n de los puntos iniciales del MNR o El conjunto de estos nos sirve para las pruebas de procesamiento, antes de ejecutar el sistema en su totalidad. 50 Ing. Luz Virginia Morales Mor´n o

~ CAP´ ITULO 4. ALTERNATIVA DE DISENO PARA EL SISTEMA DE ´ ´ COMPUTO QUE RESUELVE LA ECUACION OZ

Figura 4.1: Esquema general del sistema que resuelve la ecuaci´n OZ o 7. Programa en FORTRAN que resuelve la ecuaci´n OZ, para l´ o iquidos no homog´neos, e a partir de los datos le´ idos de los archivos de texto generados por C y almacena sus resultados en archivos de texto para ser le´ idos por GNUPLOT y as´ graficar. i Como se ha dicho anteriormente contamos con 3 tipos de usuarios en el diagrama a bloques enfatizamos el procedimiento que se sigue para la soluci´n de la ecuaci´n, o o por esta raz´n no incluimos en el diagrama al Administrador del sistema. En general o para el usuario Autorizado y Sin privilegios, se sigue el mismo procedimiento excepto al momento de ejecutar el programa, el usuario Autorizado tiene esta posibilidad, el usuario Sin privilegios solo puede hacer pruebas con los datos para graficar.

4.5. ESQUEMA GENERAL DEL SISTEMA QUE RESUELVE LA ´ ECUACION DE ORNSTEIN-ZERNIKE

51

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

52

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 5 Dise~ o e implementaci´n del sistema n o

El sistema que resuelve la denominada ecuaci´n de Ornstein - Zernike, corre actualo mente bajo el sistema operativo Unix en una computadora Sun, el cual, como ya ha sido mencionado padece de la debilidad de obligar al usuario a recompilarle al momento de utilizarlo, lo cual involucra una serie de desventajas anexas. As´ el tiempo que dura esta i, recompilaci´n y que se relaciona directamente con el tama~o de las matrices que el siso n tema por s´ mismo ha determinado (sin intervenci´n del usuario), puede llegar a significar i o periodos de tiempo tan prolongados como podr´ ser, por ejemplo, 60 d´ o m´s. Por ian ias a otro lado la operaci´n predeterminada del sistema provoca un desperdicio de espacio. o Las anteriores desventajas son importantes de por s´ pero, lo que resultaba de mayor i, trascendencia, dada la forma en que se ejecutan algunas partes del sistema, era resolver la posibilidad de que cada usuario cambiara los datos sin tener que compilar el sistema en todo momento, esto se alcanzo redise~ando algunas funciones en C e implementando la n aceleraci´n en el procedimiento MNR, creando una interfaz gr´fica; programas de maneo a jo de resultados y, construyendo una organizaci´n de arquitectura distribuida cliente o servidor. Ahora, por medio del cliente los datos se env´ ian, y se visualizan los resultados, mientras que el servidor se encarga de la ejecuci´n del sistema cada que hay nuevos datos, o por medio de PHP, los datos quedan almacenados en una base de datos accesible a posibles consultas posteriores y se tiene tambi´n la posibilidad de realizar pruebas y an´lisis e a del comportamiento de la soluci´n al refinar la malla. o

5.1.

Implementaci´n del procesamiento num´rico o e

Presentamos aqu´ algunos de los detalles de implementaci´n. i o En una situaci´n como la bosquejada en la figura 3.1, sea la separaci´n entre las o o part´ iculas y , y sea D el di´metro com´n de ellas. Al colocar el origen de coordenadas a u en el punto r , la distancia de la frontera de la part´ icula al origen es = -D . 2 Al pasar a coordenadas prolatas, el proceso de integraci´n de una funci´n se transforma o o en uno de integraci´n en la regi´n D0 = {(, )| || x0 , || 1}, el cual puede realizarse o o mediante t´cnicas de elemento finito considerando un mallado M consistente de segmentos e horizontales H0 H1 y de segmentos verticales V0 V1 descritos en las secciones 3.2.1, 3.6.1. Sea n1 el n´mero com´n de segmentos verticales en V0 o V1 . Sea n2 el n´mero de u u u 53

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

B Constante de Boltzmann: 1,38044 × 10-16 .

0

B

=

1

= 78,5: Una constante.

2 0 1

C= Constante el´ctrica: e 10-10 .

0

:

2

= 4,80298 × c1 =

-8

1-2E (1-E)2

:

2

D Di´metro de part´ a icula: D = O(10 ). : = O(10-8 ). Separaci´n entre ambas o part´ iculas que conforman el complejo = . c2 = -

1

1 1- 2 E D(1-E)2

:

2

:

2 2 2 R : R = O(10-8 ). Deber´ tenerse que R = xK = 0 (r1 q1 + r2 q2 ): ia 1 1 - 2 para que r12 := 2 D(1 + R) D = 1+2xK D-1 : 2D coincida con . Ec XK = c1 , 6Ec2 , - 2D2 : 3 En tal caso 2r12 = 1+R .

x0 = =

R+D : 2 : B

Fun =

-2 1+D ,

1+D

2

:

R0 = (r1 , r2 ) R2 : R0 r1 + r2 . E = 1 D3 : 6

= O(1020 ). =

Tabla 5.1: Constantes definidas inicialmente

segmentos horizontales en H0 y n3 el de H1 . Hagamos nT = n2 + n3 . Se ha de resolver el sistema de ecuaciones 3.15, con I0 = M y el caso particular de k = 2. En el archivo datosgenerales.in se dan los principales valores a los par´metros de a entrada, entre ellos algunos valores f´ isicos, las constantes n1 , n2 y n3 y las separaciones entre segmentos paralelos en el mallado M se introducen en los archivos eta.in, xsi.in y xsi2.in respectivamente. Inicialmente se recibe el par´metro NK como entrada, el cual coincide con KS que es un a contador del n´mero de veces que se ha de realizar el procedimiento total. Dar´ como u a salida los ´ indices n1 , n2 y n3 . Aqu´ se definen algunas constantes, presentadas en la tabla 5.1. i Tambi´n se leen seis constantes: e 54 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

n1 : N´mero de puntos a consideu rar en el eje . n2 : N´mero de puntos a consideu rar en el eje , con || 1 ( - D). 2

nP : N´mero de bloques a consideu rar en el eje . nR : N´mero de bloques a consideu rar en el eje , con || 1 ( - 2 D).

n3 : N´mero de puntos a conside- nS : N´mero de bloques a consideu u rar en el eje , con 1 || rar en el eje , con 1 || 1 1 ( - D). ( - D). 2 2 Para cada i nP se lee una tr´ iada (xi , mi1 , mi2 ) de manera que en el intervalo [xi-1 , xi ] se mi1 consideran ki = (xi - xi-1 ) mi2 puntos equidistantes. Por la manera en la que se realizan los procesos de integraci´n, es muy importante que cada ki sea par. Con estos valores se o forma el arreglo de Extremo-Indice NP = [1] [k1 , . . . , knP ]. Obviamente, ha de tenerse n1 = 1 + i ki y ´ste ha de ser impar. Se hace lo mismo para cada i nR , considerando e n2 , y para cada i nS , considerando n3 . Posteriormente, se determinan las particiones E = (j) jn1 , 1 = (i,2) in2 y 2 = (i,3) in3 cuyos principales par´metros fueron a definidos en inicialmente. A partir de aqu´ queda determinada la malla de elemento finito: i M = M1 + M2 (5.1)

1 M1 + M2 = {( + 1, )| E, 1 } {( + + (1 - ( - D)), )| E, 2 } (5.2) 2 M se muestra gr´ficamente en las figuras 3.6 y 3.7 de la secci´n 3.2.1. M queda enumerado a o utilizando dos ´ indices: Para i n2 + n3 y j n1 sea mij = ( (j) + 1, (i) ) 1 ( (j) + (i) + (1 - 2 ( - D)), (i) ) si i n2 , si n2 < i n2 + n3 . .

La escritura final son las soluciones ijk , k 2, para cada pareja (i, j) con i nT y j n1 . Tambi´n se escribe la lista de tercetas (x, y, 0 (x, y)), ya en coordenadas cartesianas, e y la lista de tercetas (x, y, 1 (x, y)), tambi´n en coordenadas cartesianas. Esta ultima e ´ escritura se hace aprovechando la simetr´ cil´ ia indrica de las soluciones. Tambi´n son escritos e los puntos del cuadrante II, los puntos del cuadrante I, los puntos del cuadrante III y, finalmente, los puntos del cuadrante IV. En la escritura final se recibe como entrada un entero KS que indica a que archivo se enviar´ la lista de salida. a Dado Rnt ×n1 ×2 RnP se calcula a las funciones FHS() = (FHSi )inT , 1 1 SGM() = (SGMij )jnT y FEL() = (FELij )jnT utilizando el resultado que proviene in in de los valores de entrada, para cada i [[1, nT ]] calculando a los valores siguientes: ´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO 55

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o 1. FHSi = R+D r1 2(n(i-1)+1)-1 + 1 + r2 2(n(i-1)+1) + 1 2(-i ) - 3 (a) (-i ) - 2 - (a) donde a =

3 2 2

·

(-i ) + a .

2. Para cada j n1 se hace SGMij = FELij =

2 Q1 r1 2(n(i-1)+j)-1 + Q2 r2 2(n(i-1)+j) 3 j - i2

Q1 r1 2(n(i-1)+j)-1 + Q2 r2 2(n(i-1)+j) (w + m) (j - i ) (j i + 1) donde w = (j + i )2 (j + i ) (-j i + 1) m = (j - i )2 Adem´s de observar, claro est´, los valores calculados, en la terminal se escribe un a a listado de valores en los archivos omega (i , i11 , i12 , FHSi ) , i nT .

Posteriormente se realiza un proceso de integraci´n utilizando el elemento finito, con o base en tri´ngulos, descrito a continuaci´n y que se muestra en la figura 5.1. Con los a o par´metros, a 1 = 0,0597158717 1 = 0,4701420641 2 = 0,7974269853 2 = 0,1012865073 se considera los 7 puntos siguientes, dados en coordenadas de ´rea, a v1 = v2 = (1 , 1 , 1 ) v3 = (1 , 1 , 1 ) v4 = (1 , 1 , 1 ) y los pesos de integraci´n, o w1 = 0,2250000000 w2 = w3 = w4 = 0,1323941527 w5 = w6 = w7 = 0,1259391805 Se recibe como entrada una funci´n SGM dada como una matriz SGM = (SGMij )((j) ,(i) )M o y se va a calcular su integral: I

B1 1 1 1 , , 3 3 3

v5 = (2 , 2 , 2 ) v6 = (2 , 2 , 2 ) v7 = (2 , 2 , 2 )

SGM.

El recorrido de integraci´n se hace de 4 en 4 cuadr´ngulos como se muestra en la figura ??. o a Inicialmente se hace i nT , j n1 : Iij = 0. 56 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

Figura 5.1: Elemento finito triangular de 7 nodos. Despu´s, en cada grupo de 4 cuadr´ngulos se considera 2 tri´ngulos. Al definir, e a a

7

P = 4 · ´rea(T ) · a

k=1

wk

en cada uno de los seis v´rtices del tri´ngulo inferior Tinf se hace: e a I2µ+1,2-1 I2µ,2-1 I2µ,2 I2µ-1,2-1 I2µ-1,2 I2µ-1,2+1 = = = = = = I2µ+1,2-1 I2µ,2-1 I2µ,2 I2µ-1,2-1 I2µ-1,2 I2µ-1,2+1 + 0 · P · SGM2µ+1,2-1 + 1 · P · SGM2µ,2-1 3 + 1 · P · SGM2µ,2 3 + 0 · P · SGM2µ-1,2-1 1 + 3 · P · SGM2µ-1,2 + 0 · P · SGM2µ-1,2+1

Similarmente, en cada uno de los seis v´rtices del tri´ngulo superior Tsup se hace: e a I2µ+1,2-1 I2µ+1,2 I2µ+1,2+1 I2µ,2 I2µ,2+1 I2µ-1,2+1 = = = = = = I2µ+1,2-1 I2µ+1,2 I2µ+1,2+1 I2µ,2 I2µ,2+1 I2µ-1,2+1 + 0 · P · SGM2µ+1,2-1 1 + 3 · P · SGM2µ+1,2 + 0 · P · SGM2µ+1,2+1 + 1 · P · SGM2µ,2 3 + 1 · P · SGM2µ,2+1 3 + 0 · P · SGM2µ-1,2+1

En resumidas cuentas, s´lo contribuyen los nodos aristas de los tri´ngulos de la forma Tinf o a y Tsup , y cada tal nodo arista que no sea fronterizo de B1 pertenece a dos tales tri´ngulos. a

nT n1

Se devuelve el valor Res = 2I = 2

i=1 j=1

Iij .

SGM() y I(FEL) =

B1 B1

Implicitamente se c´lcula I(SGM) = a nT sea RS( (i) ) =

FEL(). Para cada i

SGM(, (i) ) d. Se hace: 57

´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

RS2 =

RS() d FHS() d

RS3 = y entonces se define

f1 = Q3 Q4 f2 = f3 fT

2 0

( 1 2)

2 Q4 0 I(FEL) 2 1 2 = (j) RS3 4 = f1 + f2 + f3

Se escribe en un archivo 2 , f2 , f3 , fT , I(SGM) y en otro se escribe , fT . Posteriormente, D se continua con la escritura de los archivos omega, para finalmente imprimir un archivo de este tipo se tienen que realizar todos los pasos descritos anteriormente. En pasos intermedios se calcula la matriz A = F (M), la cual es tal que i, j : Aij es un t´rmino inclu´ en el valor Mk;ij dado por la ec. 3.13. Si F : B1 R es una funci´n, e ido o jn1 entonces por F (M) nos referiremos a la matriz (F (mij ))in2 +n3 . En particular, en esta subrutina se calcula una matriz A = F (M). Si R+D 1 entonces se toma a la funci´n F definida en el recuadro 5.2. En otro caso, se toma a la funci´n F o o definida en el recuadro 5.3. En otro caso, se hace N I = 2, N P = 64, xMn = 0. 2 2 -D + g13 2 si RM , y si esto no ocurre es xMx = . El valor xMx es xMx = cos 2 h13 2 Se definen los pesos a y w utilizando el valor de N P (por tanto N P D2 = 32). El procedimiento inicia en funci´n de su argumento de entrada IPQ, define dos listas de pesos y o un valor de salida NPD2. Esta rutina define: a, w Si IPQ 7 se hace NPD2 = IPQ y se define los pesos seg´n u 2 las relaciones en los recuadros 5.4, 5.5 o 5.6 de acuerdo con que NPD2 = 1, 2 o 3. Si IPQ 8 se hace NDIR = Min{ IPQ , 5}, IPQ = Min{IPQ, 64} y NPD2 = IPQ y se 8 2 definen los pesos seg´n las relaciones en los recuadros 5.7, 5.8, 5.9, 5.10 o 5.11 de acuerdo u con el valor de NPD2. En otras palabras, al considerar los intervalos de enteros: J1 = [[2, 4[[ J2 = [[4, 6[[ J3 = [[6, 8[[ J4 = [[8, 16[[ J5 = [[16, 24[[ J6 = [[24, 32[[ J7 = [[32, 40[[ J8 = [[40, +[[ entonces si el valor de IPQ cae en Ji se toma el conjunto de pesos en el i-´simo recuadro. e Observamos que los vectores de pesos, para cada caso, tienen longitudes

1

= 1,

2

= 2,

3

= 3,

4

= 4,

5

= 8,

6

= 12,

7

= 16,

8

= 32.

58

Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

Sea f (x) = 0 si x > Ti 1 = i

R+3D . 2

En otro caso, hacemos

i

R+D 2

- (x - D)2

para i = 2, . . . , 7

T12 = T13 = T14 = T15 = T16 = T17 =

Ec2 1 c1 D2 - x2 + 2Ec2 D3 - x3 - D 5 - x5 2 10D3 Ec2 4 c1 x + 2Ec2 x2 - x 10D3 Ec2 3 1 c1 + 2Ec2 x - x 2 5D3 Ec2 2 1 2Ec2 - x 3 5D3 Ec2 x - 10D3 Ec2 - 50D3 (T2 T12 + T3 T13 - T4 T14 + T5 T15 - T6 T16 + T7 T17 ) x ( - ) + f ( + ) 2 2

f (x) = 2 Entonces

F : (, ) F (, ) = f

Tabla 5.2: Una primera funci´n F para esta secci´n. o o

Si

> 1 entonces se hace 1 - R+D si R+D 1, Mn = 0 en otro caso. Se considera las funciones

R+D

y Mx = 1.

v1 : (, ; 1 , 1 ) XK+ (, ; 1 , 1 ), seg´n se calcula en n´cleo1, y u u v2 : (, ; 1 , 1 ) XK+ (, ; 1 , 1 ), seg´n se calcula en n´cleo2. u u Para cada (, ) B1 sea F (, ) =

Mx + R+D -1

d1

Mn 1

(v1 + v2 )(, ; 1 , 1 )d1 .

El c´lculo de F se hace mediante el Teorema de Fubini y la regla de a Simpson, , con 150 puntos en cada utilizaci´n de la regla. o Tabla 5.3: Una segunda funci´n F para esta secci´n. o o ´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

59

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Si

R+D

Mn

> 1 entonces se hace 1 - R+D si R+D 1, = 0 en otro caso.

y Mx = 1. Se consideran las funciones

v1 : (, ; 1 , 1 ) XK+ (, ; 1 , 1 ), v2 : (, ; 1 , 1 ) XK+ (, ; 1 , 1 ), Tomando en cuenta que, para dos puntos (1 , 1 ), (3 , 3 ) B1 se calcula en cada una de estas rutinas dos valores XK+ (1 , 1 ; 3 , 3 ) y XL+ (1 , 1 ; 3 , 3 ) procediendo seg´n el recuadro 5.12. u Se calcula a los par´metros a g13 = g13 (1 , 1 ; 3 , 3 ) RN = 2 2 2 2 h13 = 2 (1 - 1 ) (1 - 3 ) (1 - 1) (3 - 1) RM = Si RN D entonces XK+ = 0 y XL+ = 0

g 2 13 g13 2

- h13 + h13

a1 = 0,57735027

w1 = 1,00000000

Tabla 5.4: Pesos cuando IPQ J1 . a1 = 0,33998104 a2 = 0,86113631 w1 = 0,65214515 w2 = 0,34785484

Tabla 5.5: Pesos cuando IPQ J2 . a1 = 0,23861919 a2 = 0,66120939 a3 = 0,93246951 w1 = 0,46791393 w2 = 0,36076157 w3 = 0,17132449

Tabla 5.6: Pesos cuando IPQ J3 . a1 a2 a3 a4 = = = = 0,1834346424 0,5255324099 0,7966664774 0,9602898565 w1 w2 w3 w4 = = = = 0,3626837834 0,3137066459 0,2223810344 0,1012285362

Tabla 5.7: Pesos cuando IPQ J4 . 60 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

a1 a2 a3 a4 a5 a6 a7 a8

= = = = = = = =

9,5012509838 × 10-02 2,8160355078 × 10-01 4,5801677766 × 10-01 6,1787624440 × 10-01 7,5540440836 × 10-01 8,6563120239 × 10-01 9,4457502307 × 10-01 9,8940093499 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8

= = = = = = = =

1,8945061046 × 10-01 1,8260341504 × 10-01 1,6915651940 × 10-01 1,4959598882 × 10-01 1,2462897126 × 10-01 9,5158511682 × 10-02 6,2253523939 × 10-02 2,7152459412 × 10-02

Tabla 5.8: Pesos cuando IPQ J5 .

a1 a2 a3 a4 a5 a6 a7 a8 a9 a9 a10 a11 a12

= = = = = = = = = = = = =

6,4056892863 × 10-02 1,9111886747 × 10-01 3,1504267970 × 10-01 4,3379350763 × 10-01 5,4542147139 × 10-01 6,4809365194 × 10-01 7,4012419158 × 10-01 8,2000198597 × 10-01 8,8641552700 × 10-01 8,8641552700 × 10-01 9,3827455200 × 10-01 9,7472855597 × 10-01 9,9518722000 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12

= = = = = = = = = = = =

1,2793819535 × 10-01 1,2583745635 × 10-01 1,2167047293 × 10-01 1,1550566805 × 10-01 1,0744427012 × 10-01 9,7618652104 × 10-02 8,6190161532 × 10-02 7,3346481411 × 10-02 5,9298584915 × 10-02 4,4277438817 × 10-02 2,8531388629 × 10-02 1,2341229800 × 10-02

Tabla 5.9: Pesos cuando IPQ J6 .

´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

61

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16

= = = = = = = = = = = = = = = =

4,8307665688 × 10-02 1,4447196158 × 10-01 2,3928736225 × 10-01 3,3186860228 × 10-01 4,2135127613 × 10-01 5,0689990893 × 10-01 5,8771575724 × 10-01 6,6304426693 × 10-01 7,3218211874 × 10-01 7,9448379597 × 10-01 8,4936761373 × 10-01 8,9632115577 × 10-01 9,3490607594 × 10-01 9,6476225559 × 10-01 9,8561151155 × 10-01 9,9726386185 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16

= = = = = = = = = = = = = = = =

9,6540088515 × 10-02 9,5638720079 × 10-02 9,3844399081 × 10-02 9,1173878696 × 10-02 8,7652093004 × 10-02 8,3311924227 × 10-02 7,8193895787 × 10-02 7,2345794109 × 10-02 6,5822222776 × 10-02 5,8684093479 × 10-02 5,0998059262 × 10-02 4,2835898022 × 10-02 3,4273862913 × 10-02 2,5392065309 × 10-02 1,6274394731 × 10-02 7,0186100095 × 10-03

Tabla 5.10: Pesos cuando IPQ J7 . Se calculan luego todos los pesos de cada uno de los vectores wt, xp correspondientes a dos divisiones de [xMn , xMx ], con N P nodos en cada divisi´n. Para esto, recibe 4 argumeno tos de entrada: n = NSUB, I = IPQ, NPD2 = I , xMx = XMAX y xMn = XMIN. n es el n´mero u 2 de subdivisones del intervalo [xMn , xMx ] e I es el n´mero de nodos en cada subdivisi´n. u o 1 Se hace = n (xMx - xMn ), c = 2 y para cada i n, xi = xMn + i. Para cada i [[1, n]] se procede como sigue: Sean ti = 1 (xi + xi-1 ) el punto medio 2 1 del intervalo real [xi-1 , xi ] y Ki = I i - 2 el punto medio del i-´simo intervalo entero e consistente de I enteros consecutivos. Entonces, para j I se define 2 wtKi +j = ti + caj xpKi +j = crj wtKi +1-j = ti - caj xpKi +1-j = crj (5.3)

donde los arreglos a y r, en RI , est´n dados previamente. As´ pues, los arreglos de salida a i wt y xp son de dimensi´n n · I. o , para finalmente hacer Posteriormente se hace S = s = g13 - h13 cos (xp ) 2

128

el c´lculo de los pesos. a Posteriormente se considera

+ 2 g13 = g13 = 1 - 1 2 2 1 - 1 + 3 - 1 2 1 - 3 + (1 1 - 3 3 )2

en tanto que en un segundo procedimiento se considera

- 2 g13 = g13 = 1 - 1 2 2 1 - 1 + 3 - 1 + R+D -1 2 1 - 3 + (1 1 + 3 3 )2 .

Para cada (, ) B1 sea F (, ) = 62

Mx

d1

Mn 1

(v1 + v2 )(, ; 1 , 1 )d1 . El calculo de F se Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

a1 a2 a4 a3 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

2,4350292663 × 10-02 7,2993121788 × 10-02 1,6964442042 × 10-01 1,2146281930 × 10-01 2,1742364374 × 10-01 2,6468716221 × 10-01 3,1132287199 × 10-01 3,5722015834 × 10-01 4,0227015796 × 10-01 4,4636601725 × 10-01 4,8940314571 × 10-01 5,3127946402 × 10-01 5,7189564620 × 10-01 6,1115535517 × 10-01 6,1115535517 × 10-01 6,4896547125 × 10-01 6,8523631305 × 10-01 7,1988185017 × 10-01 7,5281990726 × 10-01 7,8397235894 × 10-01 8,1326531512 × 10-01 8,4062929625 × 10-01 8,6599939815 × 10-01 8,8931544600 × 10-01 9,1052213708 × 10-01 9,2956917213 × 10-01 9,4641137486 × 10-01 9,6100879965 × 10-01 9,7332682779 × 10-01 9,8333625388 × 10-01 9,9101337148 × 10-01 9,9634011677 × 10-01 9,9930504174 × 10-01

w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 w31 w32

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

4,8690957009 × 10-02 4,8575467442 × 10-02 4,8344762235 × 10-02 4,7999388596 × 10-02 4,7540165715 × 10-02 4,6968182816 × 10-02 4,6284796581 × 10-02 4,5491627927 × 10-02 4,4590558164 × 10-02 4,3583724529 × 10-02 4,2473515124 × 10-02 4,1262563243 × 10-02 3,9953741133 × 10-02 3,8550153179 × 10-02 3,7055128540 × 10-02 3,5472213257 × 10-02 3,3805161837 × 10-02 3,2057928355 × 10-02 3,0234657072 × 10-02 2,8339672614 × 10-02 2,6377469715 × 10-02 2,4352702569 × 10-02 2,2270173808 × 10-02 2,0134823154 × 10-02 1,7951715776 × 10-02 1,5726030476 × 10-02 1,3463047897 × 10-02 1,1168139460 × 10-02 8,8467598264 × 10-03 6,5044579690 × 10-03 4,1470332606 × 10-03 1,7832807217 × 10-03

Tabla 5.11: Pesos cuando IPQ J8 .

´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

63

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

XK XL

+

= -2 = 2

2 3

-

2 3

2 2

3

3

128

wt c1 + 6Ec2 s -

=1 128

Ec2 3 s 2D3 1 + D

2

+

2 3

-

2 3

wt

=1

s-1

-2 + 1 + D

s

Tabla 5.12: Funciones XK+ y XL+ . hace mediante el Teorema de Fubini y la regla de Simpson, con 150 puntos en cada utilizaci´n de la regla. Se procede dando un arreglo de valores v = [vi ]i , correspondientes o a valores de una funci´n f , en puntos igualmente espaciados: vi = f (xmin + (i - 1)h), y o dos ´ indices i0 , i1 tales que 1 i0 < i1 dim(v) se hace =

h 2

(-vi1 -2 + vi1 )

0

si i1 - i0 es impar, en otro caso.

para calcular como resultado i -i

1 0

xmin +(i1 -1)h

h r= 3

2

[vi0 +2i-2 + 4vi0 +2i-1 + vi0 +2i ] +

i=1

f.

xmin +(i0 -1)h

r es pues una aproximaci´n a la integral, utilizando la regla de Simpson, de la funci´n con o o valores v en el intervalo especificado. Las integrales de los productos de funciones b´sicas de los n´cleos K , que aparecen en a u la ec. 3.14 e impl´ icitamente en la ec. 3.15, son calculadas de la siguiente forma: Para cada punto (1 , 1 ) M se define aqu´ a 6 matrices i

XF1(1 , 1 ) = (XF1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XF4(1 , 1 ) = (XF4(1 , 1 ; 3 , 3 ))(3 ,3 )M XYK1(1 , 1 ) = (XYK1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYK4(1 , 1 ) = (XYK4(1 , 1 ; 3 , 3 ))(3 ,3 )M XYL1(1 , 1 ) = (XYL1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYL4(1 , 1 ) = (XYL4(1 , 1 ; 3 , 3 ))(3 ,3 )M

Describiremos el proceso de c´lculo considerando de manera gen´rica a una matriz a e XF(1 , 1 ) = (F (1 , 1 ; 3 , 3 ))(3 ,3 )M que puede ser cualquiera de las 6 calculadas aqu´ i. Consideremos la triangulaci´n T en la regi´n B1 cuyos nodos son los puntos en M. T o o consiste de los tri´ngulos obtenidos al dividir mediante la diagonal (Norte-Oeste)-(Sura Este) a cada cuadr´ngulo a Cij = [ (j) , (j+1) ] × [ (i) , (i+1) ], i < n 2 + n3 , j < n1 .

Cada punto mi3 j3 = ( (j3 ) , (i3 ) ) M que no sea fronterizo es un v´rtice de 6 tri´ngulos e a en T : T1 (mi3 j3 ) = T3 (mi3 j3 ) = T5 (mi3 j3 ) = 64 (mi3 j3 , mi3 ,j3 +1 , mi3 +1,j3 ) ; T2 (mi3 j3 ) = (mi3 j3 , mi3 +1,j3 -1 , mi3 ,j3 -1 ) ; T4 (mi3 j3 ) = (mi3 j3 , mi3 -1,j3 , mi3 -1,j3 +1 ) ; T6 (mi3 j3 ) = (mi3 j3 , mi3 +1,j3 , mi3 +1,j3 -1 ) (mi3 j3 , mi3 ,j3 -1 , mi3 -1,j3 ) (mi3 j3 , mi3 -1,j3 +1 , mi3 ,j3 +1 )

Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA

6

Sea D(mi3 j3 ) =

=1

T (mi3 j3 ) la uni´n de los seis tri´ngulos que contienen al punto mi3 j3 . o a

Se procede de manera similar a la de calcular integrales de la forma

6

F (1 , 1 ; mi3 j3 )

D(mi3 j3 )

h(1 , 1 ; , ) dd =

=1 T (mi3 j3 )

h(1 , 1 ; , ) dd

(5.4)

en donde cada una de las integrales

T (mi3 j3 )

h(1 , 1 ; , ) dd se calcula mediante el

elemento finito cuyo conjunto (V(13) ) de nodos consta de 13 puntos, y es una imagen isomorfa del conjunto V(13) = (v )13 , con pesos de integraci´n o =1 w1 (13) w2 (13) w5 (13) w8 (13) w11

(13)

= 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257 (5.5) (obs´rvese que estos pesos coinciden por renglones). Tendr´ e iamos pues

6 13

= -0,149570044467670 = 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257

w3 (13) w6 (13) w9 (13) w12

(13)

= 0,175615257433204 = 0,053347235608839 = 0,077113760890257 = 0,077113760890257

w4 (13) w7 (13) w10 (13) w13

(13)

F (1 , 1 ; mi3 j3 ) =

=1

a ´rea(T )

=1

w

(13)

h(1 , 1 ; (v )).

(5.6)

Sin embargo, se procede de otra manera. Se hace un recorrido por grupos de 4 cuadr´ngulos a de la forma Cij . De hecho, se supone que n1 y nT = n2 + n3 son impares. Entonces en cada -1 una de las coordenadas - hay un n´mero par de intervalos. µ n12 , n2 +n3 -1 u 2 sea Rµ, = C2µ-1,2-1 C2µ-1,2 C2µ,2-1 C2µ,2 [ (2-1) , (2) ] × [ (2µ-1) , (2µ) ] [ (2) , (2+1) ] × [ (2µ-1) , (2µ) ] = [ (2-1) , (2) ] × [ (2µ) , (2µ+1) ] [ (2) , (2+1) ] × [ (2µ) , (2µ+1) ] el dominio obtenido como uni´n de 4 cuadr´ngulos. La triangulaci´n arriba descrita induce o a o en ese dominio una subtriangulaci´n m´s y podemos separar los tri´ngulos resultantes en o a a dos subcolecciones. Las sumatorias en 5.6 pueden calcularse por separado en cada uno de los tri´ngulos del a dominio de la subtriangulaci´n. o De acuerdo con la ec. 3.14, la funci´n que integra h es el producto de una funci´n o o b´sica, en el elemento finito, por un n´cleo. a u -1 Dado un punto (, ) B1 existen µ n12 , n2 +n3 -1 tales que (, ) Rµ, y 2 ah´ se tiene que i (, ) Tinf = (, ) Tsup = (m2µ-1,2-1 , m2µ+1,2-1 , m2µ-1,2+1 ) o bien (m2µ+1,2-1 , m2µ+1,2+1 , m2µ-1,2+1 ). 65

´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Tinf m 1 2 3 4 5 6 fm f1 = G21 f2 = G24 f3 = G22 f4 = G26 f5 = G25 f1 = G23 = L1 (2L1 - 1) = 4L1 L2 = L2 (2L2 - 1) = 4L3 L1 = 4L2 L3 = L3 (2L3 - 1) m 7 8 9 10 11 12 Tsup fm f7 = G21 = L1 (2L1 - 1) f8 = G26 = 4L3 L1 f9 = G24 = 4L1 L2 f10 = G23 = L3 (2L3 - 1) f11 = G25 = 4L2 L3 f12 = G22 = L2 (2L2 - 1)

Tabla 5.13: Funciones asociadas a v´rtices en tri´ngulos. e a Los v´rtices del tri´ngulo en el que est´ (, ) son e a a (LI , LJ , LK ) = (m2µ-1,2-1 , m2µ+1,2-1 , m2µ-1,2+1 ) (m2µ+1,2-1 , m2µ+1,2+1 , m2µ-1,2+1 ) si (, ) Tinf , si (, ) Tsup .

Sean LI , LJ , LK las correspondientes funciones coordenadas de ´rea. Estas son funciones a afines tales que LM (LN ) = M N . Consideremos las seis funciones b´sicas, que dan una a interpolaci´n cuadr´tica. De acuerdo con su posici´n relativa en los tri´ngulos Tinf o Tsup , o a o a donde a cada punto m se le asocia una funci´n fm seg´n se ve en el recuadro 5.13. La o u ec. 5.6 se escribe entonces como

6 13

F (1 , 1 ; mi3 j3 ) =

=1

a ´rea(T )

=1

w

(13)

fm ( (v ))g(1 , 1 ; (v )).

(5.7)

Las funciones g, para cada una de las seis matrices definidas aqu´ est´n constru´ i, a idas como sigue: XF1: gXF1 (1 , 1 ; , ) = XF+ (1 , 1 ; , ), seg´n se calcula en la funci´n nucleo1 u o XYK1: gXYK1 (1 , 1 ; , ) = XK+ (1 , 1 ; , ), seg´n se calcula en nucleo2. u XYL1: gXYL1 (1 , 1 ; , ) = XL+ (1 , 1 ; , ), seg´n se calcula en nucleo3. u XF4: gXF4 (1 , 1 ; , ) = XF- (1 , 1 ; , ), seg´n se calcula en nucleo1. u XYK4: gXYK4 (1 , 1 ; , ) = XK+ (1 , 1 ; , ), seg´n se calcula en nucleo2. u XYL4: gXYL4 (1 , 1 ; , ) = XL+ (1 , 1 ; , ), seg´n se calcula en nucleo3. u Ni la matriz A, calculada, ni las integrales de n´cleos, calculados , dependen del arreglo u a calcular (ijk )inT , jn1 , k[[0,1]] . Del archivo ptosiniciales.out, se leen a dos arreglos + , - RnT ×n1 , los cuales dan valores iniciales: 0 = ( + , - ) 1 = ( - , - ) 66 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA As´ pues, 0 , 1 RnP , donde nP = 2nT n1 (son propiamente matrices c´bicas, en i u nT ×n1 ×2 R , donde los ´ indices m´s a la derecha var´ m´s r´pido). a ian a a nP Sea FK() R la funci´n cuyo valor en cada RnP est´ dado como la o a exponencial que aparece en el lado derecho de la ec. 3.15. Se ha de calcular una soluci´n o de la ecuac´n +1 = FK(). Para esto se proceder´ de acuerdo con el m´todo de Newtono a e Raphson. Es decir, se introducen aqu´ dos arreglos iniciales. Para n1 y nT = n2 + n3 se i lee los arreglos + Rnt ×n1 : arreglo inicial 0 - Rnt ×n1 : otro arreglo inicial 0 cada uno de los cuales puede ser visto como un arreglo indicado por M. Se les almacena como arreglos lineales que son m´dulo de la funci´n de enumeraci´n o o o 1 : (i, j) (i - 1)n1 + j. Habi´ndolos le´ e ido, se les compagina para formar dos nuevos arreglos: Rnt ×n1 ×2 : arreglo obtenido al compaginar consecutivamente los valores de + y - , 0 0 nt ×n1 ×2 1 R : arreglo obtenido al repetir consecutivamente los valores de - , 0 cada uno de los cuales se almacena como un arreglo lineal que es m´dulo de la funci´n de o o enumeraci´n 2 : (i, j, k) 2(1 (i, j) - 1) + k. o Posteriormente, para una RnP actual, se calcula = FK() y el error, considerado ´ste como una distancia entre y + 1. Para el punto inicial, se tiene e

nP

ERROR =

i=1

i - (i + 1) (i + 1)

2

y en lo sucesivo ERROR = - ( + 1)

= Max |i - (i + 1)| .

1inP

De forma que recibe como argumento de entrada un valor MM que indica una situaci´n de o inicio o no. Habi´ndose ya definido, los arreglos e

XF1(1 , 1 ) XYK1(1 , 1 ) XYL1(1 , 1 ) = = = (XF1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XF4(1 , 1 ) (XYK1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYK4(1 , 1 ) (XYL1(1 , 1 ; 3 , 3 ))(3 ,3 )M ; XYL4(1 , 1 ) = (XF4(1 , 1 ; 3 , 3 ))(3 ,3 )M = (XYK4(1 , 1 ; 3 , 3 ))(3 ,3 )M = (XYL4(1 , 1 ; 3 , 3 ))(3 ,3 )M

con el arreglo actual Rnt ×n1 ×2 se procede como sigue: Sean i nt , j n1 S0;ij =

µnt n1

XF1( (j) , (i) ; () , (µ) ) + XF4( (j) , (i) ; () , (µ) ) [q1 r1 µ1 + q2 r2 µ2 ] XL1( (j) , (i) ; () , (µ) ) + XL4( (j) , (i) ; () , (µ) ) [q1 r1 µ1 + q2 r2 µ2 ]

µnt n1

S1;ij = S2;ij =

µnt n1

XK1( (j) , (i) ; () , (µ) ) + XK4( (j) , (i) ; () , (µ) ) [r1 µ1 + r2 µ2 ] . 67

´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o Con estos valores se calcula FK1;ij = exp -Cq1 FK2;ij = exp -Cq2 q3 q4 + (i) ) (j) + (i) ) - ( q3 q4 + (j) + (i) ) (j) - (i) ) ( ( ( (j) + S0;ij - S1;ij + S0;ij - S1;ij + S2;ij + Aij + S2;ij + Aij

Si MM = 1 entonces se est´ en una situaci´n inicial y en este caso, a o Error =

ijk

FKk;ij - (ijk + 1) ijk + 1

2

.

Mas si MM = 0 el error resulta de comparar a con su valor anterior, Error = Max |ijk - gijk | .

ijk

Al final, se hace i, j, k : gijk := ijk , para una posterior iteraci´n. o -9 En tanto que el error sea superior a 10 , se realiza una actualizaci´n del punto actual o de acuerdo con el m´todo de Newton-Raphson: El nuevo punto ha de ser 1 tal que e 1 = - [JG()]-1 · G() donde G : FK() - - 1 y J es el operador jacobiano o equivalentemente, JG()( 1 - ) = G() (5.8)

Es decir, sea 2 : [[1, nt ]] × [[1, n1 ]] × [[1, 2]] [[1, nP ]], donde nP = 2nT n1 , la funci´n de o almacenamiento lineal (i, j, k) 2((i - 1)n1 + (j - 1)) + k. Todo arreglo tridimensional con ´ indices en [[1, nt ]] × [[1, n1 ]] × [[1, 2]] se identifica, mediante la enumeraci´n 2 , con un o arreglo lineal con ´ indices en [[1, nP ]]. Para cada I = 2 (i, j, k), (i, j, k) [[1, nt ]] × [[1, n1 ]] × [[1, 2]], el arreglo FACI se identifica con el arreglo fI RnP +2 tal que fI |nP = FACI (m´dulo la enumeraci´n 2 ) y o o fI (nP + 1) = fI (nP + 2) = pijk . Sea F RnP ×(nP +2) la matriz que para cada I nP tiene como I-´simo rengl´n al arree o J glo fI . Denotemos por f a la J-´sima columna de F, J nP + 2, y por e 1 nP (nP ) F = f ··· f a la matriz consistente de las primeras nP columnas de F. Se resolver´ aqu´ a los sistemas de ecuaciones a i F (nP ) 0 = fnP +1 , F (nP ) 1 = fnP +2 (5.9)

o equivalentemente, al tomar transpuestas en todas partes, T F (nP ) 0

T

= fnP +1

T

T F (nP ) 1

T

= fnP +2

T

(5.10)

As´ pues, se busca triangular a F T mediante el procedimiento de reducci´n gaussiana. i o Con ´ste, se obtiene matrices triangulares V, U, inferior y superior respectivamente, tales e que 68 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA V R(nP +2)×nP , U RnP ×nP , U es no-singular, los elementos en la diagonal de V son 1 y F T · U -1 = V. De hecho, si no aparece involucrada ninguna matriz de permutaci´n, entonces o V · U = F T es una suerte de descomposici´n-LU de F T . o Evidentemente, las soluciones de las ecuaciones 5.10 han de serlo tambi´n de las ecuaciones e T V(nP ) = vnP +1 0 , T V(nP ) = vnP +2 1 (5.11)

las cuales pueden ser resueltas directamente pues su matriz de coeficientes es triangular. Para almacenar matrices triangulares inferiores, consideremos la enumeraci´n por columo nas, de izquierda a derecha, de la parte debajo de la diagonal principal de V: 1 inf,nP (I, J) = I + (nP + 2)(J - 1) - J(J + 1), 2 mediante la cual V se realiza como un arreglo lineal inf,nP (V) de 1 (nP +1)(nP +2) entradas. 2 As´ se tiene que las entradas no-nulas en la J-´sima columna de V, [vIJ ]I=J+1,...,nP +2 , i, e quedan en el bloque de entradas contiguas 1 1 inf,nP (V)[[nP (J - 1) - J(J - 5) - 1, J(nP - (J - 3))]]. 2 2 Se omite a las entradas en la diagonal pues ´stas quedan supuestas con el valor 1. e Similarmente, para almacenar matrices triangulares superiores, consideramos la enumeraci´n por renglones, de arriba a abajo, de la parte de encima de la diagonal principal o de U, incluyendo a ´sta: e 1 sup,nP (I, J) = nP (I - 1) - I(I - 5) + J - 2, 2 mediante la cual U se realiza como un arreglo lineal sup,nP (U) de 1 (nP + 2)(nP + 3) 2 entradas. As´ se tiene que las entradas no-nulas en el I-´simo rengl´n de U, [uIJ ]J=I,...,nP +2 , i, e o quedan en el bloque de entradas contiguas 1 1 sup,nP (U)[[nP (I - 1) - I(I - 7) - 2, nP I - I(I - 5)]]. 2 2

P +2 Por F = (fIJ )JnP +2 nos referiremos a los valores actuales de la matriz cuya transpuesta In ha de ser triangulada. De acuerdo con el procedimiento de reduci´n gaussiana: o

1. Inicialmente, para J = 1 se hace vIJ =

fJI , fJJ

I = J + 1, . . . , nP + 2.

2. Para cada J = 2, . . . , nP + 1 se actualiza a los valores siguientes: ´ ´ 5.1. IMPLEMENTACION DEL PROCESAMIENTO NUMERICO 69

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o a) A los de F, premultiplicando a su transpuesta por el bloque ya calculado de V. Es decir, para J1 = 1, . . . , J - 1 y para J2 = J1 + 1, . . . , nP + 2: fJJ2 := fJJ2 - vJ2 J1 fJJ1 . b) A los de V para usarlos como pivotes en la siguiente iteraci´n: Para I = J + o fJI 1, . . . , nP + 2, se hace vIJ = fJJ . Enumeremos a la matriz triangular inferior V R(nP +2)×nP por renglones: v1 . . . V = vnP vnP +1 vnP +2

donde para cada i nP el rengl´n vi tiene 1 en su i-´sima entrada y una lista de nP - i o e ceros: vi Ri-1 . vi = vi [1] 0Tp -i , n Sea V(nP ) la matriz que se obtiene al suprimir en V sus dos ultimos renglones. Una soluci´n ´ o nP R del sistema de ecuaciones T V(nP ) = bT se calcula directamente pues V(nP ) es triangular inferior. Evidentemente: nP = bnP

nP

(5.12)

j = 1, . . . , nP - 1 : nP -j = bnP -j -

k=nP +1-j j

vk,nP -j k

= bnP -j -

k=1

vnP -(k-1),nP -j nP -(k-1)

Posteriormente se calcula una soluci´n 0 de 5.12, con bT = vnP +1 , y una soluci´n 1 o o T de 5.12, con b = vnP +2 con lo cual se resuelve el par de ecuaciones 5.10. Si M = 0 la soluci´n 0 , de la primera ecuaci´n en 5.11, se almacena en una variable o o llamada OME, en tanto que si M = 1 se almacena en una variable llamada ODE. En cualquier caso, la soluci´n 1 , de la segunda ecuaci´n en 5.11, se almacena en una misma variable o o llamada OME1. Finalmente se calcula a todos los elementos necesarios para plantear el sistema de ecuaciones 5.8 por renglones. Al calcular una soluci´n 2 = 1 - , triangulando o el sistema de ecuaciones 5.8, se puede considerar como punto actual 2 + para realizar una nueva iteraci´n de este proceso de aproximaci´n. o o En este procedimiento se recibe como argumento de entrada el ´ indice I = 2 (i, j, k), con i nt , j n1 y k 2. Como salida, producir´ tres arreglos nt × n1 : COXij , COKij a y FACij y un escalar pijk . 70 Ing. Luz Virginia Morales Mor´n o

~ ´ CAP´ ITULO 5. DISENO E IMPLEMENTACION DEL SISTEMA Utilizando las matrices formadas se hace COXij = COKij = (XF1 + XF4 - XL1 - XL4)ijµ

n1 n1 µnt

(XK1 + XK4)ijµ

.

µnt

Para cada µ nt , n1 , 2, se define FACijkµ = FK;µ rk (COKij;µ - qk q COXij;µ ) , y s´lo cuando (µ, , ) = (i, j, k) se reduce en 1 el correspondiente valor o FACijkijk := FACijkijk - 1. Se calcula tambi´n el valor e pijk =

µ

FACijkµ µ - FACijkijk + 1.

Se produce como salida la lista de arreglos: COXij , COKij , FACijk = (FACijkµ )µ,, , pijk Teniendo ya una soluci´n RnP de la ec. 3.15, se le escribe en los archivos omega, y o se calculan otros valores dependientes de .

5.2.

Entradas y salidas

A continuaci´n se explica un an´lisis detallado de las variables utilizadas y que es lo o a que representan Variable TEMP EPS DIAM Descripci´n o Temperatura Constante diel´ctrica e Di´metro de las esferas, una en el eje a positivo y otra en el eje negativo, el di´metro de ambas es igual a Distancia entre los centros de las esferas Distancia del centro de la esfera al eje que las separa Distancia entre el extremo superior de la esfera en el eje de las abcisas si el valor es negativo indica que las esferas se traslapan Distancia del extremo inferior de la esfera a el eje de las abcisas si el valor es negativo indica que las esferas se traslapan Tipo real real real

RR TAU RO1

real real real

RO2

real

5.2. ENTRADAS Y SALIDAS

71

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o N1 N2 + N3 NPAR NPAS NPAT Q1,Q2,Q3,Q4 KS IC IS XYT Tama~o del plano en el eje de las abcisas n Tama~o del plano en el eje ordenado n no debe ser mayor a 1 Densidad del plano en el eje de las abscisas Densidad del plano en el eje de las ordenadas Densidad del plano en el eje de las ordenadas a partir del valor de N3 Cargas utilizadas en el sistema Indica el inicio del sistema Controla el primer ciclo del sistema Controla el segundo ciclo del sistema Normaliza el valor de TAU entero entero entero entero entero entero binario entero entero entero

Entre otros que indican cuantas veces es necesario que el sistema se ejecute para una mejor aproximaci´n del resultado a experimentos realizados. o Ademas de eta, xsi1 y xsi2, y los valores que indican la densidad del plano, se solicita al usuario un conjunto de coordenadas l´ imite y los ´ indices en los que se encuentra cada coordenada, con el prop´sito de generar una malla dentro del plano de trabajo con deno sidades variables, tambi´n a partir de estos valores se genera la representaci´n original e o que solicita el sistema que resuelve la ecuaci´n OZ. Los puntos iniciales del MNR, son o calculados aleatoriamente dentro del plano definido para trabajar. Las gr´ficas del comportamiento de la soluci´n se obtienen a partir de la manipulaci´n a o o de los valores que va arrojando el sistema como son a partir de la primer coordenada xsi2 se realiza un desplazamiento de la malla que ´sta dada por el valor de la distancia e del centro de la esfera a el eje que separa las dos esferas, con este al realizar la conversi´n de coordenadas planas a coordenadas prolatas se observa en la gr´fica una esfera, o a consecuencia de la distancia descrita anteriormente. Como salida genera un conjunto de gr´ficas que muestran el comportamiento del sisa tema, los datos para estas gr´ficas son leidos de archivos de texto por GNUPLOT, y un a conjunto de archivos en los que se encuentran las aproximaciones a las que se lleg´ con o los datos introducidos, y se escriben en caso de que despu´s de 100 ejecuciones internas e del programa no se ha conseguido una aproximaci´n de 1 × 10-9 el sistema termina su o ejecuci´n. o

72

Ing. Luz Virginia Morales Mor´n o

Cap´ itulo 6 Conclusiones y trabajo futuro

6.1. Conclusiones

El tratamiento de la ecuaci´n de Ornstein - Zernike, es sumamente compleja, pues imo plica el procesamiento de diversas matrices, lo que involucra mucho tiempo de ejecuci´n o pues tiene una complejidad del orden O((knm)2 ), tanto en tiempo como en espacio, donde k es el n´mero de part´ u iculas consideradas. Las especificaciones de mallas presentadas permiten determinar de diversas maneras una misma regi´n en el plano, distinguiendo subregiones con diversos refinamientos en o la malla. As´ que cada especificaci´n puede usarse seg´n sea conveniente en las diversas i o u etapas del procesamiento num´rico de la ecuaci´n integral de que se trate. e o El sistema ha sido dise~ado buscando adem´s de una ejecuci´n eficiente, que sea amin a o gable para el usuario sin amplios conocimientos de la f´ isica del problema, proporcionando adecuadamente los datos solicitados por el sistema para su correcto funcionamiento. Tambi´n impide que en un momento determinado el sistema caiga en condiciones de overflow e y de underflow, ya que al especificar la malla se controla este tipo de sucesos a lo largo de la ejecuci´n del programa, y se cuenta con una mayor claridad de tipo geom´trico dando o e n´meros que siempre est´n bien definidos. u a El sistema se implement´ en un servidor UNIX permitiendo la interacci´n del sistema o o con el usuario, por medio de la interfaz creada en PHP. Debido a la complejidad del sistema al encontrar un punto en el que converja la ecuaci´n de Ornstein - Zernike, el o tiempo de ejecuci´n del sistema es grande, dependiendo del n´mero y refinamiento que o u se desee utilizar en el sistema, por lo que el usuario tiene que esperar largo tiempo para obtener resultados del sistema, pero en este lapso de tiempo, tiene oportunidad de checar como es que se va comportando el sistema y en un momento determinado cancelar su ejecuci´n. o 73

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

6.2.

Trabajo futuro

Existe el proyecto de paralelizar el programa ya que existen varias rutinas las cuales no dependen una de la otra por lo que se puede hacer que trabajen en paralelo buscando reducir su tiempo de ejecuci´n, se espera reducir su complejidad al orden de O(knm o log(knm)) para lo cual se requiere conocer la simulaci´n matem´tica a fondo para que o a la implementaci´n del sistema en un lenguaje de programaci´n paralelo sea comprensible o o y f´cil de realizar. Adem´s se puede reducir el tiempo de c´mputo, con la limitaci´n del a a o o n´mero de procesadores. u

74

Ing. Luz Virginia Morales Mor´n o

Ap´ndice A e Manual de usuario del sistema

En el presente manual se provee una gu´ para un usuario que desee utilizar el sistema ia que resuelve la ecuaci´n OZ, sin necesidad de conocer el comportamiento interno del o programa, es decir sin tener un conocimiento profundo de la F´ isica involucrada en el problema, ni los fundamentos matem´ticos, ni los m´todos de programaci´n utilizados a e o a este usuario solo le interesan los resultados de los datos introducidos en el sistema y, s´ acaso, el an´lisis del comportamiento de la soluci´n. i a o Al iniciar el sistema el usuario se encuentra con la pantalla presentada en A.1 Existen 3 tipos de usuario, los que nos competen como usuario no docto los hemos denominado Autorizado y Sin privilegios, en la secci´n A.1 mostramos las pantallas del o usuario autorizado, y en la secci´n A.2 las del usuario Sin privilegios. o

A.1.

Usuario autorizado

Este usuario es aquel que tiene el permiso de ejecutar el sistema completo que resuelve la ecuaci´n OZ, adem´s de consultar los procesos y compararlos, y puede hacer pruebas o a del sistema introduciendo algunos par´metros para la generaci´n de las gr´ficas. a o a Despu´s de haber accesado como este tipo de usuario el sistema muestra la pantalla e mostrada en A.2 el usuario tiene la opci´n de elegir entre las tres formas de trabajo que se o mencionaron, es decir puede Iniciar un proceso, Consultar un proceso o Realizar pruebas con algunos par´metros. Si el usuario elige Iniciar un proceso, se encuentra a con la pantalla A.3. En ella se le solicita la introducci´n de un conjunto de par´metros que o a utiliza el sistema en su totalidad, por lo que si el usuario omite alg´n dato, el sistema por u default asignar´ el valor de 0, a las variables en general, excepto a los valores de las variable a N1, N2, N3, pues estas tiene la funci´n de generar un conjunto de campos adicionales. A o estas variables se les asigna el valor 1, por default, en la tabla A.1 se describen los datos introducidos al sistema y su funci´n. o Al momento de pulsar el bot´n Dar coordenadas, se generan unos cuadros para introo ducir los valores de las coordenadas como se explic´ en 3.5.1, y se muestra la pantalla A.4. o Al dar click en el bot´n Generar datos iniciales del procedimiento de NEWTON o RAPHSON y habi´ndole dado un nombre al proceso, se crean los datos de inicio del procedie miento de Newton-Raphson, que es utilizado durante la ejecuci´n del sistema. Despu´s de o e la creaci´n de estos datos iniciales aparece la pantalla mostrada en A.5 en la cual tambi´n o e 75

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.1: Pantalla de acceso.

Figura A.2: Opciones de trabajo.

76

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.3: Entrada de datos.

A.1. USUARIO AUTORIZADO

77

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Dato

NTRY

Descripci´n o

Cota de IS el cual es el n´mero de veces que se ha de u realizar el procedimiento total, esta debe ser un n´mero u entero. Cota de IS en el segundo ciclo, el cual es el n´mero de u veces que se ha de realizar el procedimiento total, ´sta e debe ser un n´mero entero. u Valor de las cargas el´ctricas, estas deben ser un n´mero e u entero. Temperatura del l´ iquido a evaluar Constante diel´ctrica del liquido a evaluar e Di´metro de la part´ a icula Separaci´n entre la part´ o icula y el eje de las abscisas Separaci´n entre ambas part´ o iculas que forman el complejo. N´mero de puntos a considerar en el eje , ´sta debe u e ser un n´mero entero. u N´mero de puntos a considerar en el eje , u con || 1 ( - DIAM ), ´sta debe ser e 2 un n´mero entero. u N´mero de puntos a considerar en el eje , u con 1 || 1 ( - DIAM ), esta debe ser 2 un n´mero entero. u N´mero de bloques a considerar en el eje , u esta debe ser un n´mero entero. u N´mero de bloques a considerar en el eje , u e con || 1 ( - DIAM ), ´sta debe ser 2 un n´mero entero. u N´mero de bloques a considerar en el eje , u e con 1 || 1 ( - D), ´sta debe ser 2 un n´mero entero. u Contador del n´mero de veces que se ha de u realizar el procedimiento total, esta debe ser un n´mero entero. u Tabla A.1: Tabla de las variables solicitadas

NASI

Q1,Q2,Q3,Q4 TEMP EPS DIAM RR TAU N1 N2

N3

NPAR NPAS

NPAT

IS

78

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.4: Entrada de datos y coordenadas.

A.1. USUARIO AUTORIZADO

79

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.5: Generaci´n de los datos de iniciales del procedimiento de Newton-Raphson. o

80

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.6: Ejecuci´n del sistema que resuelve la ecuaci´n. o o

Figura A.7: Mandar a ejecutar el proceso sin un nombre definido. se puede apreciar el bot´n Ejecutar el proceso de la ecuaci´n, dando click a ´ste o o e empieza la ejecuci´n completa del sistema, como se muestra en la pantalla A.6, en caso o de no haber dado un nombre al proceso el sistema muestra entonces la pantalla A.7 y una liga para proveer este nombre. Al dar inicio al proceso del sistema, este se empieza a ejecutar en el servidor, y constantemente crea nuevos archivos que se pueden visualizar seleccionando la opci´n Consultar o proceso, que vemos a continuaci´n. El tiempo de ejecuci´n del sistema var´ dependiendo o o ia del tama~o de los valores N1, N2, y N3, por consiguiente es recomendable antes de elen gir Iniciar proceso, elegir Hacer pruebas , para manipular de manera adecuada estos par´metros. Al terminar la ejecuci´n del sistema aparece la pantalla mostrada en A.8, que a o nos indica el tiempo que duro la ejecuci´n las gr´ficas y los archivos generados se pueden o a ver en A.9. Si el usuario, en cambio, selecciona Consultar proceso, tendr´ acceso a la pantalla a mostrada en A.9 Aqu´ puede apreciar todos los procesos que ha ejecutado, y tambi´n i e alg´n proceso que ´l haya puesto en ejecuci´n actualmente, la unica diferencia consiste u e o ´ en la cantidad de gr´ficas que le podr´n ser mostradas, esto dependiendo del avance del a a sistema. El usuario al elegir que procesos quiere consultar s´lo se le podr´n mostrar de dos o a en dos debido al tama~o que requieren las gr´ficas para ser apreciadas, como se muestra n a A.1. USUARIO AUTORIZADO 81

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.8: Proceso concluido.

Figura A.9: Pantalla Consultar proceso.

82

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.10: Pantalla Borrar procesos. en A.11. Tambi´n aqu´ puede elegir que gr´ficas desea ver. e i a Como se puede apreciar en esta pantalla A.9 el usuario tambi´n tiene oportunidad de e borrar procesos, el deber´ elegir que hacer. Si selecciona borrar se guarda un respaldo de a los procesos que elimin´ en su carpeta, y en la pantalla A.12 se le informa que procesos o borr´ y tiene la opci´n de restaurarlos. Si el usuario escoge Pruebas de los par´metros o o a de los procesos se le muestra la pantalla A.13, el usuario debe llenar todos los campos si no lo hace por default los datos DIAMETRO, RR, TAU, NPAR, NPAT y NPAS tienen un valor de 0, y los datos N1, N2, N3 un valor por default 1 ya que estos 3 ultimos campos crean ´ nuevos campos como se puede ver en A.14. Al dar click al bot´n Dar coordenadas. Al o momento de dar click al bot´n Hacer pruebas, es necesario dar un nombre al proceso, o s´ no, el sistema manda un mensaje de error como se muestra en A.7. Habiendo dado i un nombre el sistema muestra la figura A.16 en donde el usuario debe elegir el tipo de prueba que desea realizar, las opciones son: Generar pruebas ENPAR, Xkernel, Xkernel1, Xkernel2, XMTX. Despu´s de elegirlas el sistema muestra la pantalla en la cual indica que e pruebas est´ realizando como se muestra en la figura A.17. a Hasta el momento hemos descrito el sistema que esta dedicado al Usuario autorizado, en la siguiente secci´n describimos el uso que puede dar al sistema el usuario Sin privilegios. o

A.2.

Usuario sin privilegios

Este usuario es aquel que tiene el no tiene permiso de ejecutar el sistema completo que resuelve la ecuaci´n OZ, unicamente puede consultar los procesos de prueba y compararlos o ´ introduciendo algunos par´metros para la generaci´n de las gr´ficas que le es permitido a o a A.2. USUARIO SIN PRIVILEGIOS 83

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.11: Pantalla Consultar procesos por pares. 84 Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.12: Pantalla Borrar procesos.

Figura A.13: Datos de entrada a pruebas.

A.2. USUARIO SIN PRIVILEGIOS

85

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.14: Datos de entrada y coordenadas a pruebas.

Figura A.15: Mandar a hacer pruebas del proceso sin un nombre definido.

86

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.16: Tipos de pruebas.

Figura A.17: Ejecuci´n de las pruebas. o

A.2. USUARIO SIN PRIVILEGIOS

87

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.18: Datos de entrada a pruebas de usuario no autorizado. apreciar. Despu´s de haber accesado como este tipo de usuario el sistema muestra la pantalla e mostrada en A.18, el usuario debe llenar todos los campos. Si no lo hace por default los datos DIAMETRO, RR, TAU, NPAR, NPAT y NPAS tienen un valor de 0, y los datos N1, N2, N3 un valor por default 1 ya que estos 3 ultimos campos crean nuevos campos como ´ se puede ver en A.19, al dar click al bot´n Dar coordenadas. Al momento de dar click o al bot´n Hacer pruebas, es necesario dar un nombre al proceso de prueba. S´ no, el o i sistema manda un mensaje de error como se muestra en A.20. En cambio si el usuario introdujo un nombre para el proceso se le muestra la pantalla A.21, teniendo la opci´n o de ver algunas gr´ficas de las funciones que involucra el sistema en su totalidad. a Damos por concluido el manual de usuario no docto del sistema que resuelve la ecuaci´n o OZ.

88

Ing. Luz Virginia Morales Mor´n o

´ APENDICE A. MANUAL DE USUARIO DEL SISTEMA

Figura A.19: Datos de entrada y coordenadas a pruebas.

Figura A.20: Sin nombre de proceso de prueba.

A.2. USUARIO SIN PRIVILEGIOS

89

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura A.21: Consultar proceso de prueba.

90

Ing. Luz Virginia Morales Mor´n o

Ap´ndice B e Manual de administrador del sistema

Este manual est´ dirigido al administrador del sistema. En el se espec´ a ifica el software con el que debe contar el servidor para que el sistema se ejecute correctamente, las carpetas adicionales que deben ser creadas y funciones con que cuenta el programa dirigidas al administrador.

B.1.

Requerimientos de software

El sistema est´ basado en una arquitectura cliente - servidor, debe ser implementado a en un servidor UNIX o LINUX dedicado para que su proceso no afecte otras aplicaciones, ni lo afecten a el en recursos. Tiene que instalarse un servidor APACHE, para trabajar con PHP4. Es necesario tambi´n un compilador para FORTRAN 77 y uno para C e ANSI. Deber´ contar con GNUPLOT instalado, un servidor de MySQL para la base de a datos, capacidad para ejecutar SCRIPTS y espacio en disco suficiente para estar creando continuamente carpetas con el login del usuario. En cada una de ellas se almacena una carpeta con el nombre del proceso que ejecuta y dentro de esta carpeta se encuentran los archivos generados por cada uno de los procesos y el cliente debe poseer un navegador que permita visualizar im´genes png. a Una vez instalado el servidor APACHE el sistema crea la carpeta /var/www, en est´ se a deben almacenar todos los programas escritos en PHP4, que tienen la extensi´n .php, o esto permite al APACHE visualizar las pantallas en un navegador Web.

B.2.

Carpetas que deben ser creadas

Se necesita crear una carpeta llamada /home/proyecto, en ella se almacenan las carpetas de todos los usuarios y las de todos lo procesos que ellos ejecutan, el due~o de esta n carpeta debe ser www-data, deben copiarse aqu´ los SCRIPTS proceso.sh y i procesousuario.sh (estos contienen c´digo SHELL para la manipulaci´n de las caro o petas) para que puedan ser localizados por el sistema. Es necesario crearse la carpeta /home/proyecto/respaldo en esta se guardan los archivos en formato .tar.bz2 de los procesos de aquellos usuarios que han sido dados de baja por el usuario Administrador si decidi´ respaldar todos los procesos de ´ste. o e 91

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura B.1: Estudio computacional de la ecuaci´n de Ornstein-Zernike. o Cada que se crea un usuario el administrador debe proporcionar una contrase~a para n que el usuario pueda acceder al sistema, y despu´s de haber sido dado de alta se crea su e carpeta de trabajo.

B.3.

Manipulaci´n de la base de datos o

Como se mencion´ en la secci´n 4.3 la base de datos Petroleo se encuentra dise~aada o o n en MySQL, y cuenta con una tabla llamada usuario, que esta definida por los campos TipoUsuario, Nombre, login y contrasena, directamente en MySQL el Administrador puede manipular ´sta con la sintaxis propia de ´ste lenguaje. e e La manipulaci´n de la base de datos se hace a trav´s de PHP, siendo posible administrar o e a los usuarios dandolos de alta, baja o haciendo modificaciones a sus datos, inclusive impidiendoles el acceso al sistema, ya que si no se encuentra en la base de datos, el usuario no podr´ acceder al sistema. a

B.4.

Interfaz del usuario administrador

En principio el usuario debe dar una contrase~a y dependiendo de ´sta y su login n e tiene acceso a las diferentes opciones del sistema, en este momento nos abocaremos a describir las funciones del usuario Administrador. Para acceder al sistema como ya se ha mencionado es necesario dar al sistema una contrase~a y su login, como se muestra en B.1 n Habiendo el usuario Administrador accedido al sistema se encontrar´ con la pantalla a mostrada en B.2, en ´sta como se puede apreciar existen las opciones de Alta, Baja, e Modificaciones para administrar a los usuarios, y con respecto a los procesos se tiene la opci´n de Consultar o Cancelar. o Si elige la opci´n de Alta se encuentra con la pantalla mostrada en B.3. En ´sta se le o e solicita elegir que tipo de usuario desea dar de alta, nombre completo, login, contase~a y n 92 Ing. Luz Virginia Morales Mor´n o

´ APENDICE B. MANUAL DE ADMINISTRADOR DEL SISTEMA

Figura B.2: Opciones de administraci´n del usuario Adminitrador. o la confirmaci´n de la contrase~a. Al pulsar el bot´n registrar se crea la carpeta del usuario o n o que fue dado de alta, en caso de que el login del usuario ya exista se manda un mensaje como se muestra en la figura B.4 Los tipos de Alta del usuario son: Administrador, un usuario dado de alta con este tipo, tiene privilegios como son administrar a los usuarios dandolos de alta, baja haciendo modificaciones a sus datos asi como cancelar o consultar procesos. Usuario autorizado, este usuario tiene la posibilidad de iniciar la ejecuci´n como pleta del sistema que resuelve la ecuaci´n OZ, consultar sus procesos actuales y o anteriores, as´ como hacer pruebas con algunos de los par´metros involucrados en i a el sistema para la generaci´n de gr´ficas. o a Usuario sin privilegios, este usuario solo puede hacer pruebas con algunos de los par´metros de los procesos enfocado b´sicamente a la generaci´n de gr?ficas de a a o funciones que no demandas muchos recursos al servidor. Este es el tipo de Alta por default que se hace si no se escoge otro. Si elige la opci´n Baja se muestra la pantalla B.5 aqu´ se le solicita elegir que tipo de o i baja desea para el usuario, el nombre completo y el login. Si el usuario al que se quiere dar de Baja, no existe, ya fue borrado de la base de datos o no se dieron correctos los datos, el sistema muestra la pantalla B.6 Los tipos de Baja del usuario son: Guardar respaldo, con esta opci´n se borra al usuario de la base de datos y se o hace un respaldo comprimido de la informaci´n almacenada en su carpeta. Esta es o la opci´n por default si no se selecciona alguna. o B.4. INTERFAZ DEL USUARIO ADMINISTRADOR 93

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura B.3: Opci´n Alta. o

Figura B.4: Opci´n Alta con problema. o

94

Ing. Luz Virginia Morales Mor´n o

´ APENDICE B. MANUAL DE ADMINISTRADOR DEL SISTEMA

Figura B.5: Opci´n Baja. o Borrar todo, en esta opci´n se da de Baja al usuario de la base de datos y se borra o su carpeta con todos sus procesos y pruebas, adem´s no se guarda ning´n respaldo a u de lo realizado por el. Acceso denegado al sistema, aqu´ se le da de Baja al usuario de la base de datos i solamente, su carpeta y todos sus procesos quedan intactos. Si se elige la opci´n Modificar se muestra la pantalla B.7 aqu´ se solicita se escojan o i todas las opciones que se deseen modificar de alg´n usuario como son: nombre, login, u contrase~a y tipo de usuario. Si falta alg´n dato por llenar, o no se llen´ correctan u o mente la forma el sistema muestra la pantalla B.8. Si el usuario que se desea modificar no existe, se muestra la pantalla B.9 Es necesario seleccionar que opciones se desean modificar, y en el campo contiguo escribir el cambio a realizar, en el caso de tipo de usuario, es necesario hacer una selecci´n si se marca, pues el usuario se convertir´ en usuario Sin o a Privilegios por default. Si elige la opci´n Consultar proceso, se muestra una tabla con los procesos de todos o los usuarios sin distinci´n como se muestra en B.10 aqu´ adem´s de consultar los procesos o i a tambi´n los puede borrar, se guarda una copia de respaldo comprimido en la carpeta e /home/proyecto/respaldo por si posteriormente se quiere reinstalar. Se puede elegir borrar todos los procesos de la lista, pero para consultarlos solo es posible hacerlo de dos en dos, pues las opciones de las vistas de las gr´ficas son grandes como se muestra en a B.11.

B.4. INTERFAZ DEL USUARIO ADMINISTRADOR

95

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura B.6: Opci´n Baja con problema. o

Figura B.7: Opci´n Modificar. o

96

Ing. Luz Virginia Morales Mor´n o

´ APENDICE B. MANUAL DE ADMINISTRADOR DEL SISTEMA

Figura B.8: Opci´n Modificar con problema de llenado. o

Figura B.9: Opci´n Modificar con problema de usuario inexistente. o

B.4. INTERFAZ DEL USUARIO ADMINISTRADOR

97

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

Figura B.10: Opci´n Consultar. o

98

Ing. Luz Virginia Morales Mor´n o

´ APENDICE B. MANUAL DE ADMINISTRADOR DEL SISTEMA

Figura B.11: Consultar procesos por pares. B.4. INTERFAZ DEL USUARIO ADMINISTRADOR 99

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o

100

Ing. Luz Virginia Morales Mor´n o

Bibliograf´ ia

[1] J. K. Ousterhout. Scripting: Higher-level programming for the 21st century. IEEE Computer, pages 23­30, 1998. [2] PHP4. En: http://www.php.net/. [3] J. A. White and A. Gonz´lez. The extended variable space approach to density a functional theory in the canonical ensemble. Journal of Physics: Condensed Matter, 8 November 2002. Departamento de F´ isica Aplicada, Universidad de Salamanca, Salamanca, Espa~a. n [4] J-L L´pez-Mart´ and M. Rassinger. An integral-equation approach to the electronic o in structure of liquid silicon. Journal of Physics: Condensed Matter, 21 April 1997. Rocasolano Chemical Fisica Institute , British, Columbia. [5] M.D. Carbajal Tinoco and Gonzalez Mozuelos. Effective attractions between likecharged colloidal particles. Journal Of Chemical Physics, 2002. Volume 117, Number 5. [6] Guillermo Morales Luna, Marcelo Lozada-Cassou, and Felipe Jimenez Angeles. OZS: Numerical system to treat the Ornstein - Zernike equation ( Reference Manual ). no publicado, 2002. [7] Chi-Lun Lee and George Stell. Self-consistent ornstein zernike approach for monolayer films. Journal of Physics : condensed mater, May 2002. pp 4815 - 4822. [8] b R. Asgaria, B. Davoudia and B. Tanatarc. Hard-core yukawa model for twodimensional charge stabilized colloids. Journal of Statistical Physics, October 2001. pp 891- 898. [9] L. Blum. Scaling for mixtures of hard ions and dipoles in the mean spherical approximation. Journal of Statistical Physics, February 2002. pp 431, 476, vol. 106. [10] Felipe Jimenez-Angeles, Ren´ Mesina, Chistian Holm, and Marcelo Lozada-Cassou. e Three particle correlation functions for an electrolyte: theory and molecular simulation results. Cinvestav, 28 May 2002. arXiv:cond-mat/o2o5591 v1. [11] Gnuplot viene incluido en el GNU freeware software. En: ftp://prep.ai.mit.edu/pub/gnu (USA) ´ ftp://ftp.rediris.es/mirror/gnu (Espa~a). o n [12] R. Stoer, I. Introdution to Numerical Analysis. Prentice Hall, 1980. Springer-Verlag. 101

Interfaces para un sistema de c´mputo que resuelve la ecuaci´n OZ o o [13] MySQL documentation. http://mx2.php.net/mysql. En: http://www.mysql.com/documentation y

102

Ing. Luz Virginia Morales Mor´n o

Los abajo firmantes, integrantes del jurado para el examen de grado que sustanter´ la a Ing. Luz Virginia Morales Mor´n, declaramos que hemos revisado la tesis titulada: o

Interfaces para un sistema de c´mputo o que resuelve la ecuaci´n de Ornstein-Zernike o

Y consideramos que cumple con los requisitos para obtener el Grado de Maestr´ en ia Ciencias en la especialidad de Ingenier´ El´ctrica opci´n Computaci´n. ia e o o Atentamente,

Dr. Guillermo Benito Morales Luna

Dr. Jos´ Oscar Olmedo Aguirre e

Dr. Luis Gerardo de la Fraga

Information

Tesis de Maestria

117 pages

Report File (DMCA)

Our content is added by our users. We aim to remove reported files within 1 working day. Please use this link to notify us:

Report this file as copyright or inappropriate

44262