martes, 17 de noviembre de 2009

Compilar FORTRAN 77 desde Matlab

Para los que en algún momento han necesitado compilar un código escrito en FORTRAN 77 desde Matlab, les presento una manera de realizar esta importante tarea.

Dentro del entorno de Matlab existe una función la cual nos permite poder compilar programas escritos en otros lenguajes de programación distintos a los escritos con extención .m en Matlab, pudiendo de esta manera ser ejecutados desde la pantalla de comandos de Matlab como si estuviéramos ejecutando una función *.m. La función que nos proporciona Matlab para poder realizar esta operación es la función mex, la cual en forma general se especifica de la siguiente forma:

>> mex [option] [file]

La función mex utiliza un compilador para lograr su ojetivo de compilar codigos escritos ya sea en C o en FORTRAN, por lo cual es necesario especificarle a la función mex el compilador más apropiado para la tarea a realizar. Lo anterior se logra tipiando, desde la pantalla de comandos de Matlab, la siguiente linea:

>> mex -setup

Matlab por defecto trae un compilador llamado lcc el cual permite desde la pantalla de comandos de Matlab, compilar codigos escritos C. Pero existe un problema, al parecer este compilador no es capaz de compilar códigos escritos en FORTRAN 77. Siendo necesario, para el caso en que se quiera compilar archivos escritos en FORTRAN, utilizar otro tipo de compilador distinto a el lcc, estamos hablando de los compiladores de la familia Intel Visual Fortran, compilador el cual no es gratuito.

Para poder hacer uso de este magnífico compilador, es necesario descargar la aplicación MinGW la cual nos ayuda a realizar una instalación guiada de distintos compiladores utilizados en las distribuciones Linux. Dentro de los compiladore disponibles se encuentran el gcc, g++ y g77. Para efectuar esta instalación se debe de descargar MinGW desde la siguiente dirección: www.mingw.org. En dicha dirección seleccionar "Downloads" y después "Sourceforge File Release" . De la lista de archivos descargar "Automated MinGW Installer" , luego ejecutarlo e instalar el compilador g77 y si es necesario tambien los demás.

jueves, 12 de noviembre de 2009

Kubuntu 9.10 Netbook

Aqui les presento la primera versión de kubuntu Netbook, el escritotio desarrollado en Kde, dirigido a optimizar los recursos de las netbook. En lo personal me parece que tiene muy buen aspecto. Además puedes implemantar muchos efectos con un uso minimo de memoria RAM, lo cual es suuumamente importante!!

También es cierto que a pesar que cuenta con en plasma para netbook diferente y agradable, al estar este en sus primeras versiones, me parece que se le pueden realizar mejoras a implementar en proyectos futuros...

lunes, 1 de junio de 2009

Ecuación Diferencial de Conducción de Calor

El proceso de conducción de calor es un evento el cual se describe a través de una ecuación diferencial en derivadas parciales, la cual es de segundo orden en las variables espaciales y de primer orden en la variable temporal. Esta ecuación diferencial se expresa de la siguiente forma:



Siendo la ecuación (1), la ecuación diferencial en tres dimensiones con generación de calor en estado transitorio, mientras que la ecuación (2) es la ecuaciónn diferencial en tres dimensiones en régimen transitorio sin generación de calor.
En esta sección nos limitaremos a trabajar con la ecuación de conducción de calor en una dimensión, transitoria, homogénea y con condiciones de frontera no Homogéneas. En este caso las condiciones de frontera serán especificadas de la siguiente manera:


Siendo la condición de frontera (3), tipo I o condición de frontera de Dirichlet. Mientras que (4), condición tipo II o de Neumann, y (5) condición de frontera tipo III o de Robbin. Las condiciones de frontera tipo III son una combinación lineal de las condiciones tipo I y tipo II.

Operador Nabla (Operador Diferencial)

El operador nabla es un operador diferencial muy utilizado en multiples problemas de ingeniería, en este caso especifico en el área de Transferencia de Calor.

El operador nabla opera sobre tensores, vectores y escalares y apuntando siempre en la dirección máxima de cambio de la variable indicando así una derivada direccional.
  • En el caso de que nabla opere sobre un escalar (tensor de rango 0), como producto interno obviamente, recibe el nombre de gradiente.
  • Nabla operando sobre un vector (tensor de rango 1), en este caso nabla puede operar como producto interno o producto vectorial. En el primero de los casos recibe el nombre de divergencia (el cual está asociado a un balance de flujo del vector sobre el cual opera), mientras que en el segundo de los casos (producto vectorial) recibe del nombre de rotacional.
  • Nabla operando sobre un tensor de rango 2 o mayor. Nabla opera sobre tensores de rango 2 o mayores en forma de producto interno, especificando de esta forma un gradiente del tensor, con dimensiones iguales a la del tensor sobre el cual opere.

ECUACIÓN DE CONTINUIDAD

En una de los casos donde vemos al operador nabla, es en el caso de la derivación de la ecuación de continuidad la cual es sumamente utilizada en el área de Mecánica de Fluidos.
Partiremos de la ley de la conservación de la materia dentro de un dominio V en un tiempo o momento dado, la cual se expresa de la siguiente manera:

La conservación de masa requiere que la derivada material de "m" sea igual a 0, dicho de otra forma:



De tal modo que tenemos lo siguiente:



Para el caso de fluidos incompresibles no vamos a tener variación en la densidad, por ende el termino de derivada material de la densidad (6) es igual a cero y despejando de la ecuación (7), tenemos:


De esta manera la ecuación (8) es la ecuación de continuidad para flujo incompresible, la cual expresa un balance de flujo del vector velocidad.