Mostrando entradas con la etiqueta Modelado y Simulado de sistemas dinámicos (Clase). Mostrar todas las entradas
Mostrando entradas con la etiqueta Modelado y Simulado de sistemas dinámicos (Clase). Mostrar todas las entradas

miércoles, 7 de marzo de 2012

Aportación DM




En esta semana hablaremos sobre uno de los proyectos donde mayormente es usado el computo paralelo y en esta implica principalmente a la Química que es la Dinámica Molecular, pero claro también para su solución vemos la Física y las Matemáticas.


La dinámica molecular en si es una técnica del estudio en la simulación del comportamiento de los átomos o moléculas, donde interactúan por un tiempo, ayudando a ver el comportamiento que tienen estos o entre ellos.

Para la solución de estos problemas normalmente utilizan las ecuaciones de Newton, dando resultados de las posiciones y velocidades de los átomos o moléculas.

Proyectos:
Algunos proyectos interesantes y que ayudan a Universidades, Empresas de Farmacos, entre otras son:
  • CHARMM
  • AMBER
  • NAMD
  • GROMACS
CHARMM (Chemestryat Harvard Macromolecular Mechanics): Este proyecto como su nombre lo indica, fue desarrollada por Martin Karplus y la Universadad de Harvard, un dato importate es que esta herramienta es una de las mas usadas en los supercomputadores al momento de buscar simular moléculas.
CHARMM es usado por los estudiantes de harvard y algunas empresas privadas, CHARMM, modela principalmente proteínas, moléculas de ADN, ARN, lípidos, azúcares y últimamente el modelado de fármacos. CHARMM trabaja principalmente con FORTRAN.

Obteniendo CHARMM:
Para poder trabajar con CHARMM, se puede descargar de la página oficial(hay que tomar en cuenta que primero hay que ponernos en contacto, porque se distribuye a grupos estudiantiles y una vez obtenido este, proporcionan la licencia).


AMBER: Al igual que CHARMM es un programa de simulación, la ventaja de este es que es multiplataforma, esta herramienta fue desarrollada principalmene por la Universidad de Groningen, Holanda.
Este programa, opera principalmente por el Teorema de virial (el cual consiste en una ecuación que relaciona la energía cinética total promedio) y el Triclínico ayudando este a la representación de cristales en la moleculas.
A diferencia de CHARMM, AMBER es de codigo abierto, así que facilita mas el trabajar con el, este programa lo podemos obtener de la página oficial.


Trabajo:
Ya mensionando algunos programas o herramientas para el simulado de moleculas y/o átomos, hay que mensionar que estas herramientas consumen o requieren un mayor numero de operaciones, ya que entre mas compleja sea la molécula o el requerimento de simular mas moléculas entre ellas, mas procesos requerirá.

Mensionando un ejemplo, en un proyecto donde se busco la simuacion e interacción de 5 moléculas en un medio acuoso se observo que, utilizando 12 computadores el porcentaje de procesos fue de 67% al momento de operar, y el 39% del 67%, fue al momento de comunicación entre los computadores al querer compartir los resultados de las integraciones en las ecuaciones.
En cambio la simulación de la misma pero de 2 móleculas sus procesos fueron menores, ya que empleo un 28% de ellos siendo el 19% de comunicación.

Nota:
Para esta semana nomino a Cecilia y a Rafael.

Bibliografía:
http://www.gromacs.org/
http://www.ks.uiuc.edu/Research/namd/
http://www.leewoodcock.com/links.shtml
https://docs.google.com/viewer?a=v&q=cache:JomD6P9TUIsJ:tbastug.etu.edu.tr/mdw2/pokerstalk2.pdf+CHARMM+process&hl=es&gl=mx&pid=bl&srcid=ADGEESjHt7fiAN4spatNRBdEGu6NQt-DSYvoZ7AjCMV78MPOkfQ-tHrHJSSQIQZzQWA92ybwLZiPhEGz3HeEz-zuqp8rdBedp7GU76yTHyHjw6p5p2mMPWWhjfotzk9bWCZ_xSCaCqWo&sig=AHIEtbSXrog5qrRqyC5oLO6G7fNY__ayNA

jueves, 9 de febrero de 2012

Ejemplo de aplicación en supercomputadoras


Intro
Para esta entrada, veremos un ejemplo de una simple aplicacion donde es usado una super computadora, normalmente una supercomputadora se emplea para procesar modelos matematicos, fisicos, quimicos, entre otros.

El ejemplo que hoy veremos sera uno fisico, ya que trataremos de explicar la trayectoria de un misil, lanzado a una cierta distancia conocida, el tiempo, su velocidad y modelarlo, para que el proyectil, orbite y llegue al destino.


Desarrollo
El primer paso para crear un modelo computacional es el desarrollo de un prototipo sencillo y luego validarlo.

El siguiente pseudocódigo describe el algoritmo:


Introducir valores: velocidad, angulo de lanzamiento, distancia de objetivo, margen de error.
Inicializar variables: tiempo, intervalo de tiempo, gravedad.
Buscar componentes de la velocidad:v x = v * cos (theta), v y = v * sin (theta)

Recorrer todas las combinaciones:
Repetir
t = t + tstep (paso incremento de tiempo)
y = v y t * - 0.5 * a * t * t (altura de Cálculo)
x = v x * t (Calcule la distancia horizontal)
plot (x, y) (posición Parcela de proyectil)
Hasta que y <= 0 (Hasta misiles ha llegado al fondo)
Prueba de exactitud:
Si Abs (x-dist) <rango
EL resultado podria ser algo asi:

Aprovación
La validación de un modelo de simulación por ordenador es uno de los pasos más importantes de cualquier investigación. No importa cuán compleja puede ser un modelo, si ese modelo no define adecuadamente la situación, no tiene sentido en la elaboración de las conclusiones de la simulación. En todos los modelos de computadora, hay ciertos supuestos simplificadores que se deben hacer ya que no es posible simular con precisión cada detalle. Por lo tanto, es importante que estas simplificaciones no interfieren con la integridad del modelo.
Para asegurarse de que el modelo funcione correctamente, debe ser probado con varias combinaciones de parámetros que pueden ser el comportamiento cuidadosamente analizados y comparados con los resultados conocidos.



Ampliacion de la aplicación
Los superordenadores modernos son capaces de calcular grandes cantidades de operaciones en pocos segundos . Pero hay ocasiones en el que los algoritmos están diseñados adecuadamente para procesar la informacion. La clave para desatar el poder de cómputo de la mayoría de las supercomputadoras es encontrar una manera de hacer muchos cálculos similares en paralelo. Algunos superordenadores utilizan una técnica llamada vectorización que se ocupa de la aritmética con matrices de gran tamaño utilizando un método similar a una línea de montaje. En otras supercomputadoras, el cálculo primario mismo se realiza por muchos procesadores separados simultáneamente, pero con diferentes valores iniciales.
Sin embargo, para hacer esta solicitud una supercomputadora, el problema se puede ampliar para comparar una completa gama de velocidades entre 0 y 10000 pies por segundo con todos los ángulos posibles de lanzamiento entre 0 y 90 grados. Esto es una gran cantidad de cálculos, pero un superordenador debe ser capaz de hacer gran parte del trabajo en paralelo con el fin de producir resultados más rápidamente.

Modo Visual

Para analizar los resultados, sería posible imprimir una lista de pares ordenados que son soluciones, sino un enfoque mejor podría ser la de seleccionar una técnica de visualización con los gráficos. El método elegido para este ejemplo se utiliza cada posición de pixel en la pantalla para representar una combinación diferente de la distancia y el ángulo de lanzamiento. Las coordenadas horizontales de píxeles presentarse a diferentes velocidades y las coordenadas verticales representan las variaciones en el ángulo de lanzamiento.



Supercomputo Vs.Analítica
Una de las preguntas es porque emplear el supercomputo, si esto se puede hacer en una solucion analitica, para esto, se puede resolver tambien de esta forma, ya que contamos con formularios para resolverlo, pero al momento de agregar mas factores, este problema, puede resultar cada vez mas complejo, como al agregar el factor del viento, el giro del misil, la temperatura que hay en el ambiente, la temperatura de cierta zona.

Cosas mas complejas
Para hacer el estudio mas complejo y que nos arroje resultados mas exactos, podemos poner obstaculos, como gravedad en ciertas zonas, temperatura, resistencia al viento, etc.

Ej. Gravedad/Viento: