Manual de Uso de Lammps Para Usuarios de La Universidad Nacional

15
MANUAL DE INSTALACIÓN DE LAMMPS PARA USUARIOS DE LA UNIDAD DE CÁLCULO NUMÉRICO AVANZADO Profesor BIBIAN HOYOS MADRIGAL Grupo de investigación TAYEA Universidad Nacional de Colombia Sede Medellín Facultad de Minas 2014

description

lammp, simulacion molecular

Transcript of Manual de Uso de Lammps Para Usuarios de La Universidad Nacional

  • 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