Retour au menu principal

## Format : LMP

Nom : fichier de données pour LAMMPS

Extension : non spécifiée (habituellement .data, Atomsk utilise .lmp)

Spécification : manuel en ligne de LAMMPS

Programmes de visualisation : OVITO

#### Restrictions

Atomsk peut lire les fichiers de données de LAMMPS (LMP) correspondant à tous les styles ("`atom_style`"), sauf les styles "`dipole`" et "`hybrid`". Toutefois, toutes les informations ne sont pas lues. Seuls les vecteurs de la boîte, les positions des particules, leurs masses, et leurs vitesses, sont lues et enregistrées par Atomsk. Toutes les autres sections (Bonds, Angles, etc.) sont ignorées.

Dans la section "Atoms" contenant les positions des particules, si chaque ligne se termine par trois nombres entiers, alors Atomsk les interprète comme les numéros de répliques. La particule est alors translatée par le vecteur correspondant.

S'il existe une section "Masses" avant la section "Atoms", alors les masses des particules sont lues et enregistrées comme propriétés auxiliaires. Atomsk essaye aussi d'utiliser ces masses pour déterminer l'espèce chimique de chaque particule. Si, sur une ligne donnant le type de particule et sa masse, la ligne se termine par un commentaire contenant le mot-clé "core" ou "shell", alors Atomsk reconnaîtra que certaines particules sont des cœurs et d'autres des coquilles, dans le cadre d'un modèle ionique cœur-coquille (voir cette section du manuel de LAMMPS à propos des modèles cœur-coquille).

S'il existe une section comportant les vitesses des atomes ("Velocities") après la section contenant les données atomiques ("Atoms"), alors les vitesses sont enregistrées comme propriétés auxiliaires (vx, vy, vz). Dans les fichiers LMP les atomes sont définis par leur "type" (1, 2, 3...), que Atomsk interprète comme des numéros atomiques (H, He, Li...). Ces "types" d'atomes peuvent être substitués par des espèces atomiques grâce à l'option `-substitute`. Les "types" d'atomes sont quoi qu'il en soit enregistrés comme propriétés auxiliaires pour être sûr qu'ils sont conservés lors de la conversion vers des formats qui les utilisent. Ce comportement peut être annulé en supprimant cette propriété auxiliaire ggrâce à l'option `-rmprop type`.

Lorsque Atomsk écrit un fichier au format LMP, il produit un fichier simple (*.lmp) qui peut être lu dans un fichier de script pour LAMMPS grâce à la commande `read_data`. Ce fichier LMP contient les positions des atomes et, si elles sont définies, les vitesses des atomes. Notez que les espèces atomiques sont remplacées par des "types" d'atomes (1, 2, 3...). Si cees "types" d'atomes existent comme propriété auxiliaire (par ex. s'ils ont été lus depuis un fichier d'entrée, ou définis par l'defined with the option `-properties`) alors Atomsk les utilisera. Sinon les espèces atomiques seront remplacées par des "types" d'atome croissants dans l'ordre dans lequel elles apparaissent dans le fichier.

Par défaut chaque ligne est écrite avec le format "`ID type x y z`", correspondant au style "`atom_style atom`" du script LAMMPS. Mais si les charges des atomes sont définies (par ex. si elles ont été lues dans le fichier d'entrée ou définies par l'option `-properties`) alors le format du fichier LMP sera "`ID type charge x y z`", correspondant au style "`atom_style charge`". Pour les autres styles de données il est possible d'effectuer les remplacements adéquats dans le fichier LMP. Des scripts bash réalisant de tels remplacements sont fournis avec Atomsk.

LAMMPS requiert que le premier vecteur de la boîte de simulation soit aligné avec l'axe X, et que le second vecteur de boîte soitt contenu dans le plan XY (voir cette section du manuel de LAMMPS à propos des boîtes tricliniques). Si ce n'est pas le cas Atomsk proposera de réaligner ces vecteurs automatiquement. Si un tel réalignement est accepté par l'utilisateur, il n'affectera que le fichier LMP (et pas les éventuels autres fichiers de sortie). Si l'alignement est refusé, alors Atomsk affichera une alerte indiquant que certaines composantes des vecteurs de boîte (nommément `H(1,2)`, `H(1,3)` et/ou `H(2,3)`) ne peuvent pas être écrites dans le fichier LMP, et que la géométrie du système sera probablement erronée. Pour vous assurer que les vecteurs de boîte soient toujours alignés il est possible d'utiliser l'option `-alignx`.

Si la boîte est trop tordue (par ex. si `|H(2,1)|>0.5*H(1,1)`), alors Atomsk demandera s'il faut réduire l'inclinaison avant d'écrire le fichier LMP (voir le message d'erreur "Triclinic box skew is too large" dans la page d'erreur de LAMMPS, et cette section du manuel de LAMMPS à propos des boîtes tricliniques). Pour être sûr que l'inclinaison de la boîte ne soit jamais trop élevée il est possible d'utiliser l'option `-unskew`.

Notez que le fichier LMP produit par Atomsk est juste un brouillon, il n'est PAS suffisant pour une simulation. Les autres propriétés atomiques (masse...) et paramètres pour la simulation (potentiels interatomiques, etc.) doivent être définis dans un script d'entrée pour LAMMPS.

Retour au menu principal