LAMMPS

LAMMPS (“Large-scale Atomic/Molecular Massively Parallel Simulator”) es un programa de dinámica molecular de los Laboratorios Nacionales Sandia.  LAMMPS hace uso de MPI para la comunicación en paralelo y es un  código libre/abierto, distribuido bajo los términos de la Licencia Pública General de GNU. Versión del 5 de Junio de 2019.

Información General

LAMMPS es un código de dinámica molecular clásica que  modela conjuntos de partículas en estado líquido, sólido o gaseoso. Puede modelar sistemas atómicos, poliméricos, biológicos, sistemas metálicos, granulados, y de grano grueso usando una variedad de campos de fuerza y ​​condiciones de contorno.

En sentido más general, LAMMPS integra  las ecuaciones de movimiento de Newton para las colecciones de los átomos, moléculas o partículas macroscópicas que interactúan a través de fuerzas de corto o de largo alcance con una variedad de Newton condiciones iniciales y/o  de contorno.

Para lograr  eficiencia computacional, LAMMPS utiliza listas de vecinos para realizar un seguimiento de las partículas cercanas. Las listas están optimizadas para sistemas de partículas que son repulsivas en las distancias cortas, por lo que la densidad local de partículas nunca se vuelve demasiado grande. En las máquinas en paralelo, LAMMPS utiliza técnicas de descomposición espacial de la partición del dominio de simulación 3D en pequeños sub-dominios, uno de los cuales se asigna a cada procesador. Los  procesadores  comunican y almacenan la información de átomos «fantasma»  que rodean a sus sub-dominios. LAMMPS es más eficiente (en el sentido de cálculos en paralelo) para sistemas cuyas partículas llenan una caja rectangular en 3D con una densidad más o menos uniforme. Artículos con los detalles técnicos de los algoritmos utilizados en LAMMPS se enumeran en esta sección.

 

Cómo Usar

send_lmp

  • Para enviar LAMMPS en el sistema de colas se ha creado la utilidad send_lmp. Cuando se ejecuta,
    se muestra la sintaxis de comandos, que se resume a continuación:
  • send_lmp JOBNAME NODES PROCS_PER_NODE TIME [ MEM ] [``Other queue options'']

 

JOBNAME: Is the  name of the input with extension.
NODES: Number of nodes.
PROCS: Number of  processors.
TIME: Time requested to the queue system, format hh:mm:ss.
MEM: Optional. Memory in Gb ( It will used 1GB/core if not set).
[``Other Torque Options'' ] Optional. There is the possibility to pass more variables to the queuing system.
See examples below.   More information about this options

Ejemplos

Enviamos la entrada lammps Job1 a un nodo, cuatro procesadores en ese nodo, con un tiempo de 4 horas solicitado:

send_lmp job1.in 1 4 04:00:00

Enviamos un trabajo a 2 nodos compuation, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de memoria RAM y para empezar a correr después del trabajo 1234.arina haya terminado:

send_lmp job2.inp 2 8 192:00:00 8 ``-W depend=afterany:1234'

Enviamos el  Trabajo a 4 nodos y 4 procesadores en cada nodo, con el tiempo de 200 horas, 2 GB de RAM y solicitamos se nos envíe un correo electrónico al principio y al final del cálculo de la dirección especificada .

send_lmp job.inp 4 4 200:00:00 2 ``-m be -M mi.email@ehu.es''

send_lmp comando copia el contenido del directorio desde donde se envió el trabajo al /scratch o   /gscratch, si utilizamos dos o más nodos. Y ahí es donde se hace el cálculo.

Jobs Monitoring

Para facilitar el seguimiento y/o control de los cálculos LAMMPS, se puede utilizar remote_vi

remote_vi JOBID

Nos muestra el archivo *. out (sólo si ha sido enviado con send_lmp).

Más información

http://lammps.sandia.gov