manual de uso de lammps para usuarios de la universidad nacional
DESCRIPTION
lammp, simulacion molecularTRANSCRIPT
-
MANUAL DE INSTALACIN DE LAMMPS PARA USUARIOS DE
LA UNIDAD DE CLCULO NUMRICO AVANZADO
Profesor
BIBIAN HOYOS MADRIGAL
Grupo de investigacin
TAYEA
Universidad Nacional de Colombia
Sede Medelln
Facultad de Minas
2014
-
Tabla de Contenido
1 Introduccin ................................................................................................................................ 4
2 Uso de LAMMPS en un computador personal ............................................................................ 4
2.1 Descarga de LAMMPS ......................................................................................................... 4
2.2 Compilacin ......................................................................................................................... 5
2.3 Correr un ejemplo ............................................................................................................... 7
2.4 Paquetes adicionales ........................................................................................................... 8
2.5 Mail list .............................................................................................................................. 10
3 Uso de LAMMPS en la unidad de clculo numrico avanzado (UNICA) ................................... 10
3.1 Conexin remota con UNICA ............................................................................................. 11
3.2 Descarga e instalacin de ssh secure Shell ....................................................................... 11
3.3 El usuario y el password .................................................................................................... 13
3.4 Descarga directa de LAMMPS ........................................................................................... 13
3.5 Lanzar un archivo a la cola de ejecucin ........................................................................... 14
3.6 Estado de la simulacin en cola ........................................................................................ 15
-
Tabla de figuras
Figura 1. Descarga de LAMMPS........................................................................................................... 5
Figura 2. Compilacin de LAMMPS en paralelo y el error asociado ................................................... 5
Figura 3. Modificaciones al archivo Makefile.openmpi ...................................................................... 6
Figura 4. Archivo ejecutable lmp_openmpi instalado correctamente ............................................... 7
Figura 5. Ejemplo de lanzamiento flow ejecutado en LAMMPS ......................................................... 7
Figura 6. Error en el ejemplo meam .................................................................................................... 8
Figura 7. Paquetes que incluye LAMMPS y error por ausencia de libreras ....................................... 9
Figura 8. Instalacin de libreras ......................................................................................................... 9
Figura 9. Ejemplo usando el potencial MEAM de forma exitosa ...................................................... 10
Figura 10. Descarga del SSH Secure Shell .......................................................................................... 11
Figura 11. proceso de instalacin de SSH Secure Shell ..................................................................... 11
Figura 12. Manejo de la ventana de acceso remoto ......................................................................... 12
Figura 13. Cambio de clave ............................................................................................................... 13
Figura 14. Informacin para el Documento.pbs ............................................................................... 14
-
1 Introduccin Este manual es una gua para Descargar y compilar el software LAMMPS ("Large-scale
Atomic/Molecular Massively Parallel Simulator") para el desarrollo de su investigacin. A
continuacin se explican algunos detalles del funcionamiento prctico de las herramientas
ofrecidas para estos fines por la Universidad Nacional de Colombia sede Medelln. Para efectos del
uso de LAMMPS se sugiere al lector acceder al manual de usuario disponible en la direccin web:
http://lammps.sandia.gov/doc/Manual.html, o en la directorio de descarga de la carpeta: lammps-
28Jun14/doc/manual.pdf.
LAMMPS es un potente simulador a escala atmica y molecular para implementar simulaciones de
dinmica molecular, cuenta con potenciales que describen las interacciones entre molculas en
mltiples sistemas y estados termodinmicos que permiten la prediccin de una amplia variedad
de propiedades termodinmicas y de transporte. LAMMPS fue desarrollado a mediados de 1990
en virtud de un acuerdo de investigacin y desarrollo cooperativo (CRADA) entre dos laboratorios
del DOE (Sandia y LLNL) y 3 compaas (Cray, Bristol Myers Squibb, y Dupont). El objetivo era
desarrollar un cdigo paralelo de dinmica molecular clsica a gran escala; el esfuerzo de
codificacin fue dirigido en aquel entonces por Steve Plimpton en Sandia. Despus de un amplio
desarrollo la versin definitiva en desarrollad en F90 fue lanzado como LAMMPS 2001. El paquete
actual de LAMMPS es una reescritura en C++ y fue lanzado pblicamente por primera vez como un
cdigo de fuente abierta en el ao 2004. Hoy en da el grupo central de desarrolladores de
LAMMPS se encuentra en el Sandia National Labs y la Universidad de Temple en Italia.
2 Uso de LAMMPS en un computador personal En esta seccin se describe paso a paso la secuencia para descargar, compilar, instalar y ejecutar
LAMMPS desde su computador personal.
2.1 Descarga de LAMMPS Se debe tener en cuenta que la descripcin que se da a continuacin est enfocada en una
arquitectura LINUX. El paso previo es instalar este sistema operativo, tpicamente recomendado
por su arquitectura simple que permite ejecutar programas de alto consumo computacional de
forma ms eficiente.
Hecho lo anterior, se puede iniciar con el proceso de descarga. Se puede acceder a la pgina web
de LAMMPS digitando el nombre del programa en el buscador de su preferencia, lo que lleva a la
pgina principal de LAMMPS: http://lammps.sandia.gov/, donde se puede obtener informacin
detallada del programa. Una vez ah, se selecciona la opcin Download, esta accin conduce a una
nueva pgina: http://lammps.sandia.gov/download.html. Posteriormente, se selecciona
Download a tarball para realizar la descarga, una vez ah se selecciona la opcin LAMMPS
correspondiente a la versin estable, Stable versin. Finalmente, se da clic en DOWNLOAD como
se ve en la Figura 1., y se descomprime el archivo en la ubicacin de su preferencia.
-
Figura 1. Descarga de LAMMPS
2.2 Compilacin En esta seccin se explica detalladamente el procedimiento para compilar e instalar LAMMPS.
Para ello es necesario en primera instancia acceder a la terminal de linux as: "ctfl-alt-t" (en
adelante los comandos se expresarn en letra cursiva y entre comillas). Una vez abierta se usa el
comando ls para verificar el contenido de la ubicacin, para ingresar a una carpeta en especfico
se teclea el comando cd seguido del nombre del directorio al que se desea ingresar, si se desea
salir de dicha carpeta se usa la orden cd .. (Ver Figura 2). Existe una gran variedad de comandos
para LINUX, en este documento solo se especificarn los necesarios para el trabajo que se desea
realizar, a manera de ejemplo se puede visitar pginas como (http://www.ubuntu-
guia.com/2009/07/comandos-basicos-de-linux.html) o cualquier pgina para el manejo bsico de
LINUX para aprender ms sobre los comandos.
Figura 2. Compilacin de LAMMPS en paralelo y el error asociado
Se debe tener claro la ruta del directorio donde se descarg y descomprimi el directorio de
LAMMPS haciendo uso de los comandos mencionados. Se debe ingresar hasta la carpeta lammps-
xxmesyy (donde dependiendo de la fecha en la que se descargue el programa xx ser el da y yy
Click en ambos
-
ser el ao de la ltima versin estable) y luego hasta la carpeta src, mediante el uso de los
comandos mencionados.
Dentro del directorio src, lo siguiente ser instalar las libreras necesarias para compilar LAMMPS,
usando el comando sudo apt-get install build-essential openmpi-bin openmpi-doc libopenmpi-dev
fftw2 fftw3 fftw-dev. El sistema solicitar la autorizacin de super usario (sudo) mediante el
ingreso de la contrasea del equipo. Posteriormente el sistema solicita la autorizacin para la
instalacin de las libreras necesarias para la compilacin de LAMMPS.
La compilacin se realiza mediante la sentencia "make", usando las diferentes alternativas que
ofrece LAMMPS. Sin embargo, hay varias alternativas de compilacin ubicadas dentro de la
carpeta MAKE (dentro de src), las cuales se basan en diferentes reglas de compilacin usando
diferentes recursos como: gcc, g++, open_mpi, fortran entre otras. En este documento se usan las
reglas serial y openmpi. En el primer caso se ingresa la orden make serial que compila en serie el
programa, pero si lo que se desea es trabajar en paralelo usa la orden make openmpi.
Sin embargo es tpico que en la instalacin en paralelo aparezcan ciertos errores, por lo tanto es
necesario editar el archivo de compilacin de LAMMPS. Esto se realiza ingresando al directorio
lammps-xxmesyy /src/MAKE y editando el archivo Makefile.openmpi. El cual que contiene las
reglas e instrucciones para compilar el paquete de LAMMPS, en l se definen los compiladores,
libreras y rutas de acceso necesarias para llevar a cabo este proceso. Para solucionar los errores
de compilacin se hace necesario modificar las rutas de acceso al directorio de las libreras
requeridas para compilar, se debe modificar el archivo como se ve en Figura 3.
Figura 3. Modificaciones al archivo Makefile.openmpi
Hecho esto, se guardan los cambios y se digita nuevamente la orden make openmpi. En esta
ocasin no deberan resultar errores y la instalacin debe terminar satisfactoriamente como se
indica en la Figura 4 a). Tras un par de minutos la operacin debe terminar, se recomienda dar la
orden ls para verificar el contenido, pues entre los archivos contenidos en el directorio debe
estar el archivo de lanzamiento llamado: lmp_serial para la instalacin en serie, o lmp_openmpi
en el caso de la instalacin en paralelo. Por lo general ambos archivos estn de color verde como
se ve en la Figura 4 b).
Verificar si las lneas
sealadas estn escritas as
-
Figura 4. Archivo ejecutable lmp_openmpi instalado correctamente
2.3 Correr un ejemplo Para verificar el funcionamiento de LAMMPS, este tutorial usar los ejemplos que trae por defecto
el programa. Se ha elegido un ejemplo sencillo que usa un potencial Lennard-Jones solo con el fin
de ilustrar el uso de la herramienta. Mientras se est en la carpeta src se recomienda teclear el
comando pwd para conocer la direccin completa del archivo ejecutable lmp_openmpi pues
para correr el programa se necesita esta direccin. Lo primero es cambiar de directorio usando el
comando cd .. e ingresar a la carpeta examples/flow como se muestran en la Figura 5.
Figura 5. Ejemplo de lanzamiento flow ejecutado en LAMMPS
La Figura 5 muestra tambin como se ejecuta un archivo de ingreso, la orden mpiexec servir
para efectivamente correr en paralelo mediante el uso de varios procesadores. El nmero de
procesadores que ejecutarn el ejemplo se especifica por -np (nmero de procesadores) en este
caso 4, seguido de la direccin de la ubicacin del archivo ejecutable de LAMMPS (anteriormente
verificada usando la orden pwd). Finalmente se ejecuta el programa dando espacio y escribiendo
el nombre del archivo de entrada, en este caso in.flow.coutte. La orden de lanzamiento del
ejemplo usada en este caso es la siguiente: mpiexec np 4 /directorio/lammps-
28Jun14/src/lmp_openmpi < in.flow.couette. Si el proceso trascurre sin problemas el ejemplo
empezar a correr sin errores como se reporta en la Figura 5.
Los archivos de ingreso siempre usan el sufijo (in.), seguidos del nombre del archivo y siempre
arrojan un archivo (log) con la informacin que aparece en pantalla. Sin embargo el programa
tiene mucha ms opciones para la informacin que se puede extraer de una simulacin, esto se
puede verificar en el manual del programa.
-
Como nota adicional, se recomienda que en el uso cotidiano del programa los archivos de
lanzamiento estn fuera de la carpeta de LAMMPS, para ejecutar archivos fuera de esta carpeta lo
nico que se debe verificar es que la terminal se encuentre ubicada donde est el archivo de
lanzamiento y luego se ejecuta este con exactamente la misma orden que se indic
anteriormente.
2.4 Paquetes adicionales LAMMPS contiene una gran variedad de herramientas como potenciales o mtodos de clculo de
propiedades que no vienen por defecto, por ello es importante saber cmo instalar una de estas
para adaptarse a las necesidades de alguna simulacin en especfico. Esto solo es una gua general
pues gracias a la amplitud del programa lo mejor ser siempre ir al manual y a los archivos
README de cada paquete.
En este caso nuevamente se correr un ejemplo que fallar premeditadamente por no tener
instalado por defecto un paquete que se necesita para este caso en especial. Se usar un ejemplo
que usa un potencial diseado para interacciones metlicas y covalentes para interfaces metal-gas
llamado MEAM. En este caso se debe cambiar de directorio nuevamente hasta examples y luego
hasta meam como se ve en la Figura 6.
Figura 6. Error en el ejemplo meam
Como se hizo anteriormente se corre el ejemplo que en este caso el archivo de entrada se llama
in.meam. La corrida arroga el siguiente mensaje de error: "ERROR: Invalid pair style", es decir el
potencial elegido de interaccin entre molculas no est siendo reconocido, en este caso no es un
problema de escritura, se trata de un paquete faltante para la ejecucin de ese potencial en
particular.
Para verificar que el programa cuente con dicho potencial se debe acceder a la carpeta src ah
teclear la orden make package-status y mostrar una lista con los paquetes activos y los que no
lo estn. Seguramente junto al meam aparece NO. Se da la orden make yes-meam para aadir
el paquete faltante, ahora al escribir nuevamente make package-status se verifica que el estado
del potencial MEAM es YES. Finalmente, se debe compilar nuevamente el programa usando make
openmpi. Nuevamente aparecer un error esta vez relacionado con la ausencia de una librera
como se lee en la Figura 7.
-
Figura 7. Paquetes que incluye LAMMPS y error por ausencia de libreras
En el caso de este potencial no es suficiente la instalacin del paquete hace falta tambin una
librera por lo que se debe salir de ese directorio e ingresar al directorio lib donde se encuentran
las libreras y buscar la correspondiente a la del potencial MEAM. Una vez dentro se verifica el
contenido, debe recordarse que en este directorio existe un archivo README que explica cmo
activar la librera sin embargo para los fines de este documento el lector solo deber ejecutar la
orden make -f Makefile.gfortran como se ve en la Figura 8. Nuevamente se debe compilar el
ejecutable, para ello se debe regresar a la carpeta src y compilar por medio de make openmpi
en esta ocasin no deberan generarse errores.
Figura 8. Instalacin de libreras
-
Ahora, ya es posible ejecutar el ejemplo con el potencial MEAM ubicndose en la carpeta donde
est en archivo in.meam nuevamente, como se muestra en la Figura 9.
Figura 9. Ejemplo usando el potencial MEAM de forma exitosa
2.5 Mail list Las dificultades para realizar trabajos de simulacin molecular usando LAMMPS pueden ser un
factor permanente en el desarrollo de los trabajos de investigacin. Para ello, LAMMPS dispone de
un foro abierto liderado por el equipo de desarrolladores a la cabeza de Steve Plimpton. Se puede
acceder a una gran cantidad de informacin en los foros que contienen diferentes experiencias y
preguntas enfocadas a dificultades tpicas en el manejo del paquete, que son una herramienta
valiosa en la solucin de los inconvenientes que se puedan presentar. Actualmente el poder del
foro est en manos de sourceforge (http://sourceforge.net/) donde se puede crear un usuario
para que llegue la solucin de mltiples problemas al correo en el mail list as como enviar dudas
desde el correo inscrito para que sean atendidas.
3 Uso de LAMMPS en la unidad de clculo numrico avanzado
(UNICA) Como muchas de las simulaciones con las que el usuario tendr que trabajar requieren un alto
tiempo de cmputo, en esta tarea los computadores personales eventualmente se quedan
cortos. Por lo tanto usar alguna herramienta como GPU o CPU en paralelo se convierte en una
necesidad.
Actualmente la Universidad Nacional de Colombia sede Medelln cuenta con la Unidad De Clculo
Numrico Avanzado (UNICA), rene 64 nodos cada uno con 8 procesadores con la capacidad de
funcionar en paralelo. La capacidad de almacenamiento del usuario de UNICA es de 5 Gb en el
directorio home mientras que en el directorio data tiene hasta 75 Gb. Por este motivo, se
recomienda ubicar los documentos en data para aprovechar dicho espacio. Estas capacidades de
almacenamiento pueden variar, por lo cual se recomienda contactarse con el administrador del
cluster para conocer la capacidad de almacenamiento de su cuenta asignada.
NOTA: Los estudiantes pertenecientes a la universidad pueden inicialmente pedir una cuenta al
administrador avalada por un profesor de la institucin, el administrador del cluster responde al
correo [email protected].
-
3.1 Conexin remota con UNICA Para el uso de la herramienta UNICA, es necesario conectarse de forma segura al servidor y
manipular este recurso de forma remota desde una interface grfica, que permite tambin cargar
y descargar archivos. Existen varios programas diseados para tal fin como ssh secure Shell,
filezilla, ZOC, putty entre otros. A modo de ejemplo se muestra como se usa el programa ssh
secure Shell. El acceso remoto se pude realizar desde cualquier sistema operativo: Windows, Linux
y MacOs.
3.2 Descarga e instalacin de ssh secure Shell En primera instancia, es necesario descargar el programa eso se puede hacer digitando el nombre
del programa en un buscador de internet. Existen muchas pginas para su descarga gratuita,
siguiendo el siguiente link es posible descargar el programa
http://www.ohlone.edu/org/webcenter/sftptutorial/windowssftp-downloadinstall.html (Ver Figura 10)
Figura 10. Descarga del SSH Secure Shell
Se extrae el contenido en la ubicacin de su preferencia, y aparecer el archivo
SSHSecureShellClient-3.2.9, se abre dicho archivo y se le permite al programa realizar cambios, y
se siguen las instrucciones como se ve en la Figura 11.
Figura 11. proceso de instalacin de SSH Secure Shell
Se ingresa al icono en forma de carpeta y aparecer una ventana de la siguiente forma (ver Figura
12).
-
Figura 12. Manejo de la ventana de acceso remoto
Con la ventana abierta se dispone a conectarse al cluster, para ello es necesario dar clic en el
botn Quick connect, como est en la Figura 12. En seguida se abre una ventana y se llena los
datos como se indica en la figura y se da clic en el botn connect. Finalmente se ingresa la clave
asignada por el administrador y la ventana remmote name cambia de color de gris a blanco, si el
ingreso es correcto. Estas ltimas caractersticas pueden variar de acuerdo a la versin del
software.
La ventana remote name, en su caso debe estar en blanco pues an usted no ha ingresado ningn
contenido. Para transferir informacin de su pc al cluster solo es necesario arrastrar el archivo
deseado de la ventana de la izquierda a la derecha y viceversa si se quiere descargar un archivo de
remote host a local host.
Clic aqu para conectarse al
cluster
Aqu se puede ver los
archivos del computador
personal
Se pone el nombre asignado por
el administrador
No se toca
Siempre se pone
cluster.medellin.unal.edu.co
Clic para abrir una nueva
terminal
-
Debido a que Windows no trabaja tpicamente con una terminal de comandos todo lo aprendido
hasta aqu deber ser digitado por medio de la terminal generada por el ssh secure Shell, para ello
solo se debe dar clic en new terminal el icono mostrado en la Figura 12 en forma de carpeta
rodeado por esferas azules.
3.3 El usuario y el password Para cambiar el password se digita en la terminal el comando passwd en ese punto pide el
anterior password y luego el nuevo, como se esquematiza en la Figura 13.
Figura 13. Cambio de clave
3.4 Descarga directa de LAMMPS Una estrategia para realizar la descarga directamente al clster sin hacerlo previamente en el
computador personal es a travs de SVN. Para realizar esta operacin se introduce en la consola el
comando siguiente: svn co svn://svn.lammps.org/lammps-ro/trunk mylammps
En el que mylammps corresponde a un nombre genrico que se quiera asignar a la carpeta que
contendr los archivos descomprimidos equivalentes a la ltima versin estable de LAMMPS
alojada en el servidor de la Universidad Temple.
Esta alternativa, adicionalmente permite actualizar la versin de LAMMPS de acuerdo con el
calendario de actualizaciones de los desarrolladores, con el comando siguiente, que se debe
-
digitar ubicndose en la carpeta mylammps: svn update. Para chequear si hay una versin
actualizada se digita: svn -qu status.
3.5 Lanzar un archivo a la cola de ejecucin Con el propsito de evaluar el estado de compilacin de LAMMPS en el cluster se prueba
corriendo un ejemplo, estos archivos se arrastran a la ventana de remote host, a la ubicacin que
usted desee. Para correr el ejemplo es necesario generar un archivo de lanzamiento en cola. Para
generar un archivo o modificar uno existente se digita la orden nano documento donde
documento es el nombre del archivo que se va a modificar o generar pero los archivos de
lanzamiento usan la extensin pbs. Por lo tanto, el archivo de lanzamiento que se debe generar es:
nano documento.pbs. Hecho esto aparece en la terminal un espacio en blanco con el ttulo
documento.pbs, que se debe llenar exactamente as:
Figura 14. Informacin para el Documento.pbs
Cuando se ha ingresado la informacin adecuada en el documento se sale de este digitando ctrl-
x. El programa preguntar si se est seguro de realizar los cambios, si es as tecle la letra Y y
luego presione Enter. Para lanzar el archivo se escribe la orden qsub documento.pbs en la
terminal de acceso remoto al cluster.
Solo se cambia despus de la N, en adelante es el
nombre y se puede modificar
Es el tiempo real de la simulacin medido en
horas
Nodes es el nmero de nodos y ppn el nmero
de procesadores
La direccin donde est el ejecutable de lammps
en este caso el archivo lmp_openmpi
Donde estn los archivos de lanzamiento data. e in.
El lmp_openmpi es el ejecutable e
in.meamparedcluster es el nombre del archivo
de lanzamiento
-
3.6 Estado de la simulacin en cola Para conocer el estado de su simulacin, se ejecuta el comando qstat. De forma anloga se
pueden usar los comandos comandos qstat -s y qstat -f, los cules proporcionan una
informacin ms detallada del estado de la simulacin en el cluster. En la tabla 1 se muestran los
posibles estados en lo que se pude encontrar la simulacin lazada en el gestor de colas del cluster.
Si todo va bien, el status debe mostrar la letra R si est corriendo, o Q si la simulacin queda en
cola debido a que los nodos estn ocupados, por lo cual la simulacin entra en curso cuando haya
disponibilidad.
Tabla 1 Estado de la simulacin
Letra Significado
R Runing
Q Waiting
E Exiting
H Held
S Suspended
C Completed