martes, 24 de junio de 2008

Calificaciones Finales

Revisen sus calificaciones.

Muchos de ustedes tienen NP. Es mejor asi, que vuelvan a llevar la materia.
No fue un asunto de ir a ser espectador de clase, se pidio su participacion.

Por el bien del país deben reprobarla en esta ocasión.

finales.pdf

Chau.

lunes, 9 de junio de 2008

Aviso importante

El proximo miercoles de 5pm a 6pm habra una tercera sesion de asesoria para su proyecto final.
No se den el lujo de faltar.

Por otra parte dense por enterados la forma en que deberan hacer la entrega de su proyecto.
  1. El dia de entrega es el sabado 14 de junio a las 10hrs en el taller de IDO (Tlahuizcalpan)
  2. No asisitir equivale a desertar y tienen NP. Por consiguiente no aceptare ningun trabajo sin su presentacion el dia arriba senialado.
  3. Deben entregar un reporte por escrito con:
    1. Planteamiento del proyecto
    2. Subproblemas detras del trabajo
    3. Metodos matematicos y numericos involcrados (breve descripcion de cada uno de ellos)
    4. El codigo adaptado para resolver el proyecto
    5. Resultados, tablas (las necesarias si es el caso) y graficas
    6. Comentarios a los resultados obtenidos
    7. Bibliografia consultada
El programa deberan ejecutarlo en la presentacion del proyecto. Indicare algunos cambios (en la condicion inicial, la funcion de salida, el numero de puntos a usar, el tamanio de paso a usar... etc) y deberan recompilar el programa para mortrar los resultados en un nuevo archivo ejecutable. Lleven la laptop donde hayan trabajado si eso les hace sentir agusto, o el de su companiero. Verifique que funcionen lo programas o esto les acarreara problemas en su calificacion. Programa que no pueda ser vuelto a compilar es programa no entregado.

Saludos.

jueves, 29 de mayo de 2008

Fotos del grupo

El último día de clases hubo una sesión de fotos y vídeo y el día previo, una visita sospechosa.

La fotos están aquí:
El Sr. Cipriano y sus problemas de lectura... de datos.

El joven Lliteras... como siempre.

El compadre perdió su compilador...

Para aquellos que no visitaron el cubículo ni por asomo.


Dos primeros cachitos... observen quien no se inmuta...


... seguramente andan dormidos, por eso no se mueven.


Dos panorámicas.



Espero no vayan a incendiar alguna plataforma con sus simulaciones, que negaré haberles dado clase.

La ecuación de calor en su discretización implícita

Trabajamos la ecuación de calor con término fuente sobre una varilla unidimensional.

Hicimos la discretización de crack-nicholson y la programamos sin un sólo error de compilación.... como los profesionales.

Les dejo el archivo para que revisen la programación. Un ejercicio interesante es "economizar variables" busque esto en su versión del programa.

El archivo es implicit.zip

jueves, 22 de mayo de 2008

Examen 2, mayo 22

Si miran al piso de su casa, departamento u oficina, recordarán éste examen.

Un ejercicio para cuando usen elemento finito en sus simulaciones..., petroleras claro.

El texto lo pueden obtener de examen2.pdf

jueves, 15 de mayo de 2008

Información sumamente importante!

Por este medio se les informa que: el próximo jueves tienen un examen.

Los temas a calificar serán:

a) declaración de variables
b) uso de arreglos, contadores, sumas
c) uso del do
d) uso del while
e) uso del if-else-endif
f) archivos, open-close
g) uso de format
h) uso adecuado de common block
i) subroutines and functions
j) alguna otra cosa que hayamos visto y no he numerado.

Se les dará un problema y deberán hacer uso de las intrucciones que consideren adecuadas para resolver el problema, cuyo valor es de 80pts.
Adicionamente habrá otro problema, con valor de 20pts.

El examen dará inicio a las 7am del jueves. No es recomendable su inasistencia.

Buen día.

martes, 13 de mayo de 2008

Solutos

El ejercicio 14 del libro Paviz Moin, habla sobre un soluto dentro de un pozo, un modelo interesante.

La rutina de uno de sus compañeros es: rk4.for. Modifique usando rk45.f de netlib.

sábado, 10 de mayo de 2008

Trabajo para el martes.

El trabajo para el próximo martes es resolver por Euler y programar RK de cuarto orden para el ejercicio 14 pág. 88 del capitúlo 4, de Paviz Moin sobre ODEs.

Grafiquen las concentraciones (Euler vs. RK)

Cualquier cosa, por el blogspot

Este modelo es muy simpático, deben hacer un hstep adecuado y verán que las soluciones se comportan "raras".

Si pueden busquen en la red "stiff Differential Equations" para tener una idea de este tipo de ecuaciones muy comunes en la vida práctica.

jueves, 8 de mayo de 2008

Shark vs Fish

En clase trabajamos un modelo para determinar la interacción de dos especies: tiburones y peces en un medio ideal. El tema lo tomamos de la lectura odesimpatico.pdf

El programa es: sharks.for

Ojo: éste es un modelo predador-presa que bien usado, puede salvar la vida a los ing. petroleros en una plataforma marítima.

martes, 6 de mayo de 2008

Fundamentals of Enginnering Numerical Analysis

Les dejo los capítulos 4 y 5 del libro de Paviz Moin.

  1. chapter4.pdf: Numerical solution of ODE
  2. chapter5.pdf: Numerical solution of PDE
chau

martes, 29 de abril de 2008

The Coffee cooling problem

El trabajo para el 6 de mayo, es investigar sobre el problema del enfriamiento de la taza de café.

Hay varias formulacioes del problema y algunas muy ingeniosas en Internet.

Debe indicar en qué consiste, y una posible solución al problema, ya sea en su forma continua o discreta. De ser posible trace algunas gráficas del comportamiento de la temperatura del café a lo largo del tiempo.

Revise la ley de enfriamiento de Newton... ahí está la clave.

domingo, 27 de abril de 2008

jueves, 17 de abril de 2008

Trabajo 11, abril 17

La semana que viene estaré fuera de la ciudad.
A mi regreso deberán entregar (no aceptaré su entrega un día después) el siguiente trabajo:

Implemente en Fortran uno de los tres siguientes algoritmos iterativos para resolver sistemas lineaes:

0. Gauss-Seidel
1. Jacobi
2. SOR

La numeración la debe seguir módulo 3 con respecto a la tabla de calificaciones última que aparece en este blog.

Pueden consultar el libro:
Principles of Petroleum Reservoir Engineering
Gian Luigi Chierici

O cualquier otro, incluso en google obtendrán información.

Debe presentar un bosquejo del algoritmo, en que se basa, dónde se usa y cómo detener el algoritmo. Deben presentar una rutina cuyas entradas, al menos para Jacobi son:
subroutine jacobi(lda,A,n,b,x,tol,maxiter,iband)

La rutina debe estar suficientemente documentada siguiendo las ideas de la documentación de cualquier rutina de LINPACK (seré estricto en esto).

Deben acompañar a la rutina un programa principal de prueba, donde la matriz A es de Hilbert, de orden 5 o 10 (le piden esa info al usuario), el lado derecho es el vector b=(1,2,3,...n) y pruebe el punto inicial x0=(1,1,...1).

Este trabajo es muy simpático y requiere mucha paciencia, creatividad y esmero de su parte.

NOTA: El trabajo lo pueden hacer entre 2 personas con la misma numeración modulo 3, solamente 2 personas.

Cualquier cosa... en el blog.

Les dejo el archivo donde vienen los métodos señalados de manera escueta: iterative_methods.pdf

Suerte.

martes, 15 de abril de 2008

Trabajo 10, abril 15

En la página 100 del libro Scientific Computation, viene un ejercicio, el 2.3 sobre una estructura con fuerzas en equilibrio en los nodos.

En clase lo resolvimos e interpretamos su solución. Ahora bajo 3 diferentes numeraciones de las fuerzas que se ejercen sobre los nodos, identifique el sistema Ax=b asociado a casa uno de ellos, resuelva el sistema y comente sobre la sparcidad de la matriz y su número de condición cond(A).

Se entrega el jueves 17 de abril a primera hora.

miércoles, 9 de abril de 2008

Trabajo 9, abril 8

El siguiente trabajo lo pueden leer de la página 60 del libro de Kahanner.

La inversa de una matriz cuadrada no singular, se puede calcular resolviendo una coleccion de sistemas lineales de la forma:

A x_i = e_i

donde e_i es el vector canónico, de entradas cero excepto en la i-ésima posición. x_i representa la i-ésima columna de la matriz inversa. Esto es, estamos calculando cada una de las columnas resolviendo un sistema de ecuaciones.

Debe hacer una rutina invert que calcule la matriz inversa de A, y de igual manera, calcule el número de condición de la matriz.

Debe usar las rutinas dgefa.for y degesl.for de la biblioteca linpack, así como las rutinas de la biblioteca blas se requieran por esas dos primeras. Estas biliotecas las pueden adquirir en Netlib.

Su ejercicio se puede titular: use bibliotecas finas escritas en fortran.

jueves, 3 de abril de 2008

True or False

El trabajo para el próximo martes es por grupos. Los grupos con numeración módulo 6 de acuerdo a la lista de calificaciones, deben resolver los problemas con numeración módulo 6 de la lista de problemas:treuorfalse.pdf

No olviden que el martes pasaré a un representante a la pizarra a resolver uno de los problemas que en grupo presentan.

Les dejo las notas del capítulo2, conserven el pdf que seguiremos resolviendo ejercicios de ahí.
Chau.

miércoles, 2 de abril de 2008

Calificaciones de Trabajos, Abril 3

A continuación listo sus calificaciones, así como una nueva numeración para sus hacer trabajos módulo el número que se les indique.

Con el mouse pulse sobre la palabra: calificaciones, para acceder al archivo.

jueves, 27 de marzo de 2008

Graficación de funciones implícitas, marzo 27

El día de hoy vimos una forma de identificar puntos (x,y) de la gráfica de una curva representada en su forma implícita F(x,y)=0.

Las rutinas y programa principal los toman de mi página: newton1d.zip

Como es costumbre, deben pasar estas rutinas a doble precisión y adecuarlas para resolver algunas curvas de acuerdo al módulo de su numeración en la lista.
Recuerden que deben encerrar el gráfico siguiendo la orientación positiva (contraria a las manecillas del reloj). Para esto deberán definir una rutina donde evaluen la derivada de F con respecto a y, para x fija. En clase se dijo cómo resolver esto sin modificar newton.for. Por cierto, el detalle con ésta rutina ya fue corregido, revise.
No olvide documentar las rutinas e indicar cómo usar cada una de ellas, las variables de entrada, las de salida etc. y coloque ahí su nombre y numeración de la lista. Debe entregar la gráfica de resultados.

Los problemas módulo 5 que les corresponden son:

0. 2xy²-yx²=3; en la caja [-7,7]x[-6,6], usando m=45 y n=45 puntos
1. 4x⁴+y²-2y-4=0; en la caja [-2,2]x[-2,4], usando m=35; n=45 puntos
2. 3xy-y³-4=0; en la caja [-6,6]x[-6,7], usando m=50; n=40 puntos
3. 4x²-4xy-y²-x=2; en la caja [-7,6]x[-4,6], usando m=45; n=50 puntos
4. 4x³-y³-2xy²=0; en la caja [-4,4]x[-6,6], usando m=35; n=60 puntos

Obs. m es el número de puntos sobre el eje x, y n es el número de puntos sobre el eje y (aclaración en clase usé m para las y, modifique esto).

Cualquier pregunta... únicamente por el blog y hasta el lunes a las 13hrs.

Suerte!

martes, 25 de marzo de 2008

Potencia m de un número

El algoritmo que vimos el día de hoy fue el cálculo de la potencia no entera de un número positivo.

Los archivos que generamos son: potenciar.for, raizsqrt.for y nemo.for. Este último el programa principal.

No hay trabajo para el jueves.
Por otra parte, dense por enterados que el próximo martes tendrán un examen escrito.

sábado, 15 de marzo de 2008

No hay trabajo para el martes 25

Al regreso de estas vacaciones no hay trabajo que entregar.

Chau

jueves, 6 de marzo de 2008

Trabajo 6, marzo 6

Para asegurarnos que entiendan un poco de los problemas a los que nos enfrentamos cuando trabajamos con números en la computadora, el siguiente trabajo se basa en el artículo: Pitfalls on Compuations o why a math book is not enough. Pueden obtener el artículo en pitfalls.pdf.

Todos deben hacer un resumen de la sección 3 de ese artículo, y de acuerdo a su número en la lista de alumnos módulo 5, deben hacer un resumen de las secciones


  • 0. seccion 4
  • 1. sección 5
  • 2. seccion 6
  • 3. sección 7
  • 4. sección 8

Deberá entregar junto a este trabajo una impresión de su Historial Académico.

La entrega es el jueves 13 a primera hora.

martes, 4 de marzo de 2008

Trabajo 5, marzo 4

Con respecto al material funcioneselementales.pdf. Se ha numerado cada uno de los ejercicios que no hemos resuelto en el pizarrón de la forma:

  • 0. x^m, com (0< m <1)
  • 1. sen(x)
  • 2. cos(x)
  • 3. asen(x)
  • 4. acos(x) y atan(x)
  • 5. ln(x)
  • 6. exp(x)
Siguiendo su numeración en la lista.pdf módulo 7, describa el algoritmo, escriba una rutina en fortran (una función que calcule la expresión) e imprima algunos resultados que arroje su programa.
Todos los programas debe escribirlos en doble precisión.

En la clase de hoy vimos las funciones para calcular la raíz cuadrada y la potencia entera de un número raizsqrt.for y potencian.for, algunos de ustedes las requerirá para sus cálculos, les dejo mi versión.

lunes, 3 de marzo de 2008

Funciones elementales

El texto para esta semana es: Algoritmos sencillos para el cálculo de funciones elementales, escrito por Pablo Barrera y Cynthia González en 1993. Publicado en la Facultad de Ciencias - UNAM.

Pueden bajarlo de funcioneslementales.pdf, cuenta con dos errores. Nos será útil para programar en clase.

jueves, 28 de febrero de 2008

Trabajo 4, febrero 28

Siguiendo la numeración en el listado, módulo 3.

Realice el método de Newton para las funciones:

0. f(x)=cos( pi*x)*exp(x), en [-1,2]
1. f(x) =sen(pi*x)+x^2-1, en [-2,3]
2. f(x) = (x^3-2x+1)/(x+2), en [-1.5, 3]

Encuentre dos ceros. Como resultado imprima una tabla de valores
del número de iteraciones, el valor de la función, el cociente entre dos valores consecutivos de la función, separe los valores usando un pipe "|". La tabla debe contar con separadores horizontales de tabla (observe excel).

Si el punto de Newton se sale del intervalo, debe arrojar un letrero indicando esto.
Modifique el código para saber si nos hemos acercado al cero (abs(f) < tolf). Debe indicar si hubo convergencia por valor de funcion, porque las aproximaciones en x son cercanas, o si el número de iteraciones ha sido superado.

La función debe contar como nombre de función su nombre de pila, el primero. La derivada de la función, debe llamarse de acuerdo a su primer apellido (el paterno).
Obs: Si alguno de ellos cuenta con acentos o ñ ... omita esa letra o coloque una equivalente.

Estaré revisando el blogspot todos estos días, será la única forma en que podrán hacer alguna pregunta de su trabajo. No constetare los comentarios publicados despues del medio dia del lunes.

Se entrega impreso el martes 4 de marzo a primera hora del día.

miércoles, 27 de febrero de 2008

Páginas y blogspots de sus compañeros

Las siguientes son ligas a las páginas y blogspots de sus compañeros:
  1. Gabriel Salinas
  2. Javier Sánchez
  3. Miguel Lugo
  4. Josué Mares
  5. Óscar Gómez
  6. Diego Silva
  7. Fabián López
  8. Antonio Murillo
  9. Adrián Gutiérrez
  10. Mario Hernández
  11. Iván Durán
  12. Martín Venegas
  13. Eric Cruz
  14. Noé Muñoz
  15. Armando Benavides
  16. Jorge Yescas
  17. Mario Vera
  18. Javier López
  19. Oscar Arjona
  20. César Gandulay
  21. Crispín Samano
  22. Orlando Lliteras
  23. Aarón Retana
  24. Oswaldo Olvera
  25. Diana José
  26. Juan López
  27. Fernando González
  28. José Chávez
  29. Susana Tapia
  30. Eduardo Endo
  31. Luis López
  32. Azucena Chavira
  33. Javier Hernández
  34. Claudio Vera
  35. Marco Reyes
  36. Juan Flores
  37. Víctor López
  38. Danira Flores
  39. Jade Fragoso
  40. Guillermo Hernández
  41. José Gutiérrez
  42. Oscar Gómez

Tema: Método de Newton 1D

La clase de ayer discutimos el método de Newton (atribuido a él por aplicar una variante a raíces de polinomios).
Pueden revisar las paginas:
  1. http://en.wikipedia.org/wiki/Newton's_method
  2. http://math.furman.edu/~dcs/java/newton.html
  3. http://www.math.umn.edu/~garrett/qy/Newton.html
En la clase del programamos el algoritmo, en pnewton.for pueden hacerse del programa. Lo usaremos durante la clase de mañana.

jueves, 21 de febrero de 2008

MinGw y WindowsVista

Encontré una página donde hablan de un problema al usar mingw en windows vista.

Deben añadir una variable de entorno MinGW con valor el directorio de instalación del mingw, pj. c:\mingw

revisen la línea y vean si con eso resuelven los problemas quienes usan Vista

http://www.blitzbasic.com/Community/posts.php?topic=63236

Trabajo 3, febrero 21

Cuentan con dos trabajos para el martes 26 de febrero.
  1. El primero es crear una página personal, pueden usar www.googlepages.com, neurona.com, www.blogspot.com, etc. Ojo no cuenta hi5 ni profiles de myspaces.
  2. El segundo, en trabajo3.pdf encontrarán 4 programas en fortran, P2-2, P2-3, P2-6, y P2-7. De acuerdo a su numeración en la lista petroleros_asistencia.pdf módulo 4, deberán elaborar el programa en fortran que les corresponda y resolver cada paso que pide el ejercicio.
El programa lo deberán entregar impreso junto con su nombre dentro de la documentación del programa así como el resultado u observación solicitada. Deberán indicar cuál es su página personal y en clase se revisarán algunas de ellas.

lunes, 18 de febrero de 2008

Cómo compilar en g77?

Para compilar abrimos una ventana del sistema.
1. En XP, basta irse a Accesorios, y elegir Símbolo del sistema
2. En Vista o en el mismo XP, ir a Ejecutar y teclear command

Una vez abierta la ventana debe cambiarse de directorio, al donde ha dejado sus archivos. Para esto puede usar el comando cd por ejemplo:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Guilmer>cd ..
C:\Documents and Settings>cd ..
C:\>e:
E:\>cd cursos
E:\Cursos>cd pa20082
E:\Cursos\pa20082>

al directorio de trabajo, Con las instrucciones de arriba, nos cambiamos del directorio que usualmente ofrece el windows al directorio E:\Cursos\pa20082

Si desea crear un directorio, digamos trabajo, debe ejecutar el comando mkdir, por ejemplo:

E:\Cursos\pa20082\mkdir trabajos

y luego entrar con la instrucción:

E:\Cursos\pa20082\cd trabajos

E:\Cursos\pa20082\trabajos>

Para compilar, use las instrucciones:

g77 myprogram.for -o myprogram.exe

y después de compilar y ligar con las bibliotecas, aparecerá en el disco el archivo myprogram.exe que deberá ejecutar.

Si solamente teclea g77 myprogram.for el compilador creará dejará la salida en a.exe




jueves, 14 de febrero de 2008

Programas jedit y mingw

En la liga mingw.zip pueden hacerse del los directorios compactados del mingw. Deben editar las variables de entorno para poder usar el compilador.

En la liga jedit pueden hacerse del programa instalador de editor que usaremos en clase, o bien, acceder a la página www.jedit.org para bajar el editor en su sistema operativo de preferencia.

Trabajo 2, febrero 14

Investigue sobre quiénes son y cuales fueron o han sido las aportaciones de:
  1. Gene Golub
  2. Cleve Moler
  3. Larry Shampine
dentro del Cómputo Científico. Programe en fortran 77 el algoritmo de macheps e indique su resultado.

martes, 12 de febrero de 2008

Trabajo 1, febrero 12

En la clase de hoy, se proyectó un vídeo promocional del Departamento de Ingeniería Petrolera de la Universidad de Stanford, la página del Departamento es:

http://ekofisk.stanford.edu

El trabajo para el jueves 14, es entregar un resumen de 3 páginas tamaño carta del vídeo, e identificar a los cuatro profesores que aparecen juntos en una escena, indicando cuales han sidos sus aportaciones dentro de la Ingeniería Petrolera o de Recursos Energéticos.

No hay prórroga para la entrega del trabajo. Debe estar éste en el escritorio antes de iniciar la clase.

viernes, 8 de febrero de 2008

Tópicos de fortran 1

Lo visto en clase está disponible en PDF para quien así desee revisar, bajo la liga:

http://www.matematicas.unam.mx/gfgf/pa20082/lecturas/f77_aceitoso.pdf

La página de internet citada en clase, que es un micro curso en fortran es:

http://www.uam.es/departamentos/ciencias/fisicateoricamateria/especifica/hojas/kike/FORTRAN/FORTRAN.html
revisen para poder avanzar rápidamente.

miércoles, 6 de febrero de 2008

Lista de alumnos



Alumnos admitidos para la clase de Programación Avanzada para Petroleros los puede consular en petroleros_asistencia.pdf.

martes, 5 de febrero de 2008

Ubicación del Laboratorio

El Tlahuizcalpan es el edificio de ciencias experimentales de la Facultad de Ciencias, puede observar el siguiente mapa:




El taller que usaremos es de Investigación de Operaciones que se localiza en el primer nivel del edificio.

Nos veremos ahí desde el jueves 7 de febrero.

MinGW

En la red encontré ésta página, revisen para saber los pasos a dar en la instalación de MinGW


http://www.carozodequilmes.com.ar/Projects/QAC/cplusplus.htm

sábado, 2 de febrero de 2008

Presentación del curso

El curso está dirigido a los estudiantes de sexto semestre de la carrera de Ingeniería Petrolera.

La idea del curso es que el estudiante desarrolle un serie de habilidades para resolver problemas de modelación matemática que comunmente debe enfrentarse en su campo de trabajo.

Usaremos algunas herramientas computacionales que nos permitan manejar de manera rápida elementos gráficos y de archivos, a fin de que podamos analizar el comportamiento de las aproximaciones numéricas logradas.
Este es un curso donde la experimentación será importante para entender los procesos involucrados en cada uno de los problemas que trataremos.

Temario

Objetivo:
El alumno programará y aplicará software libre (ocasionalmente comercial) para analizar el desempeño de algoritmos matemáticos aplicables a la ingeniería petrolera.

Temario
  1. Solución de sistemas de ecuaciones lineales
  2. Optimización no lineal y solución de sistemas de ecuaciones no lineales
  3. Interpolación numérica
  4. Derivación e integración numérica
  5. Ecuaciones diferenciales ordinarias
  6. Ecuaciones diferenciales parciales

Esta no es una clase para enseñar fortran. La idea es desarrollar herramientas computacionales que serán útiles en la Simulación Numérica de Yacimientos y en generar cuando resolvemos modelos matemáticos de procesos químicos y de fluidos, reconstrucción de superficies, etc.

Todas las clases se darán en el laboratorio, por lo que es necesaria su cooperación para cumplir y hacer cumplir lo siguiente:

  • Bajo ningún motivo se aceptarán tareas después de la fecha fijada de entrega
  • No se realizarán exámenes extemporáneos por ningún motivo
  • No se permiten celulares encendidos.
  • No se permite comer ni fumar durante la clase

Profesor


Guilmer González
Email: guilmerg@yahoo.com
Personal page: http://www.matematicas.unam.mx/gfgf/
Oficina: Departamento de Matemáticas, cub. 028
Tel: 5622-4928