LAMMPS est un logiciel de dynamique moléculaire axé principalement sur la modélisation des matériaux. Son acronyme signifie Large-scale Atomic/Molecular Massively Parallel Simulator.
LAMMPS peut être utilisé comme simulateur de particules à différentes échelles : atomique, méso ou continue. Il a un potentiel dans les domaines des matériaux à l'état solide (métaux, semi-conducteurs) et de la matière molle (biomolécules, polymères).
Les simulations LAMMPS peuvent être exécutées sur des processeurs individuels ou en parallèle, en utilisant des techniques de passage de messages et une décomposition spatiale du domaine de simulation.
Année : 2022
Version : 2Jun2022
Paquets inclus : most, voir l'Annexe
Si une autre version vous intéresse, veuillez nous envoyer un e-mail à support@qarnot.com.
Nous avons inclus la prise en charge de la génération d'images JPEG/PNG (via les commandes dump
). Cependant, la génération de vidéos n'est pas incluse. Deux profils différents pour LAMMPS sont disponibles : l'un sans aucun paquet d'accélération, et l'autre vous permettant d'utiliser l'accélération GPU.
Avant d'essayer un cas de test, veuillez vous assurer que les prérequis suivants ont été remplis :
Ce cas de test vous montrera comment lancer la simulation in.indent fournie avec LAMMPS. Elle insère un indenteur sphérique dans une boîte de simulation.
Vous pouvez télécharger le fichier ici. Placez le fichier in.indent
dans votre dossier input/
.
Une fois que tout est configuré, utilisez le script suivant.
Assurez-vous d'avoir copié votre jeton d'authentification dans le script (à la place de <<<MY_SECRET_TOKEN>>>
) pour pouvoir lancer la tâche sur Qarnot.
Si vous souhaitez utiliser l'accélération GPU, vous devez définir la variable GPU
sur True
.
#!/usr/bin/env python
# Import the Qarnot SDK
import qarnot
# Set to true to use GPU acceleration
GPU = False
# Connect to the Qarnot platform
conn = qarnot.connection.Connection(client_token='<<<MY_SECRET_TOKEN>>>')
# Create the task, lammps-gpu profile is used if you use GPU acceleration
if GPU:
task = conn.create_task('lammps', 'lammps-gpu', 1)
task.constants['DOCKER_TAG'] = '2Jun2022'
else:
task = conn.create_task('lammps', 'lammps', 1)
task.constants['DOCKER_TAG'] = '2Jun2022'
# Create a resource bucket and add input files
input_bucket = conn.create_bucket('lammps-resource')
input_bucket.sync_directory('input', True)
# Attach the bucket to the task
task.resources.append(input_bucket)
# Create a result bucket and attach it to the task
output_bucket = conn.create_bucket('lammps-files-output')
task.results = output_bucket
# Take a snapshot every 10 seconds
task.snapshot(10)
# Submit the task to the API
task.run(output_dir= 'output')
Pour lancer ce script, copiez simplement ce code dans un script Python et exécutez python3 run-lammps.py
dans votre terminal.
Le script lancera la simulation sur la plateforme Qarnot et affichera le résultat dans le dossier output
sur votre ordinateur une fois la tâche terminée.
À tout moment, vous pouvez suivre le statut de votre tâche sur la console. Pour plus d'informations sur son utilisation, veuillez visiter la page de suivi de vos calculs. La figure suivante montre une simulation LAMMPS réussie sur Qarnot.
Vous devriez également avoir un fichier nommé log.lammps dans le bucket de sortie et sur votre ordinateur. Si les commandes dump
n'ont pas été mises en commentaire dans votre fichier d'entrée, vous devriez également y trouver des images de la simulation.
Ces images peuvent être assemblées pour créer un GIF animé ou un court-métrage de la simulation avec des logiciels comme ImageMagick ou ffmpeg.
C'est tout ! Si vous avez des questions, en particulier si vous avez besoin d'aide pour d'autres paquets LAMMPS, veuillez contacter support@qarnot-computing.com et nous vous aiderons avec plaisir !
LAMMPS peut être construit avec divers paquets qui ajoutent des fonctionnalités. La version que nous fournissons inclut la plupart des paquets qui peuvent s'exécuter sans bibliothèques (paquets construits avec l'option yes-most
, voir la documentation de LAMMPS). Les paquets suivants sont inclus :
ASPHERE BOCS BODY BPM BROWNIAN CG-SDK CLASS2 COLLOID CORESHELL DIFFRACTION DIPOLE DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH DRUDE EFF EXTRA-COMPUTE EXTRA-DUMP EXTRA-FIX EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR INTERLAYER KSPACE MANYBODY MC MEAM MISC ML-SNAP MOFFF MOLECULE OPENMP OPT ORIENT PERI PLUGIN QEQ REACTION REAXFF REPLICA RIGID SHOCK SPH SPIN SRD UEF YAFF DIELECTRIC ML-IAP PHONON