Atomsk

Le couteau suisse pour les simulations atomiques

Tutoriel : Convertir une Liste de Fichiers

Dans ce tutoriel vous apprendrez comment convertir rapidement une liste de fichiers avec Atomsk.

▶ Pour plus d'informations, référez-vous à la page de documentation correspondante.

Après avoir exécuté une simulation, de nombreux fichiers de configurations atomiques peuvent avoir été produits. Il peut alors être utile de convertir tous ces fichiers afin de les visualiser. Bien entendu, Atomsk est nativement capable de convertir plusieurs fichiers, mais cela nécessite un mode particulier.

1. Ce que vous ne devriez pas faire

Si vous êtes habitué aux programmes en ligne de commandes, vous avez peut-être envie d'essayer une commande comme celle-ci :

atomsk *.xyz cfg

Vous supposez peut-être que cela signifie, "Atomsk, convertis tous mes fichiers XYZ vers le format CFG".

Eh bien, ce n'est pas le cas !

Si vous exécutez cette commande, voilà ce qui va se passer : avant même que Atomsk ne soit exécuté, votre shell (par exemple, bash) va interpréter le motif "*.xyz", et le remplacer par tous les noms de fichiers qui correspondent à ce motif, de sorte que la commande ci-dessus va en réalité être étoffée en quelque chose comme cela :

atomsk MD0.xyz MD1.xyz MD2.xyz MD3.xyz MD4.xyz MD5.xyz lammps

Au moment où ce sera au tour de Atomsk de s'exécuter, que va-t-il faire avec tous ces noms de fichiers ? Rappelons que par défaut, Atoms n'accepte que deux noms de fichiers  l'un en entrée, l'autre en sortie. Tous les autres noms de fichiers sont ignorés. Dans l'exemple ci-dessus, Atomsk va considérer que "MD0.xyz" est votre fichier d'entrée, et "MD1.xyz" votre fichier de sortie. Puisque ce dernier existe, Atomsk vous demandera si vous voulez l'écraser. Bien sûr, tout cela n'est pas du tout ce que nous souhaitons faire.

2. La bonne méthode : le mode "--list"

Le mode "--list" de Atomsk est conçu pour convertir plusieurs fichiers.

D'abord, vous devez écrire les noms de tous les fichiers à convertir dans un fichier texte, un nom de fichier par ligne. Vous pouvez créer un tel fichier à la main, ou utiliser la commande "ls" et rediriger sa sortie vers un fichier texte comme ceci :

ls *.xyz > mes_fichiers.lst

ⓘ Le fichier texte peut porter l'extension *.txt, *.lst, ou n'importe quelle extension que vous voulez. L'important est que ce soit un simple fichier texte.

Si vous ouvrez le fichier "mes_fichiers.lst" dans un éditeur de texte, vous verrez qu'il contient les noms de vos fichiers. Maintenant vous pouvez utiliser le mode "--list" pour demander à Atomsk de convertir tous ces fichiers au format CFG :

atomsk --list mes_fichiers.lst cfg

3. Passer les fichiers qui ont déjà été convertis

Parfois vous voulez convertir des fichiers alors que la simulation est toujours en train de tourner, pour avoir un aperçu. Alors que la simulation continue, vous aurez envie de convertir les tout derniers pas, mais pas de re-convertir les premiers fichiers qui avaient déjà été convertis précédemment.

Dans ce cas, vous pouvez lister tous les fichiers dans le fichier texte, mais demander à Atomsk d'ignorer les fichiers qui ont déjà été convertis, avec l'option "-ignore" :

ls *.xyz > mes_fichiers.lst
atomsk --list mes_fichiers.lst cfg -ignore

C'est une bonne façon de gagner du temps quand certains fichiers ont déjà été convertis.