.. _sec_preparGibbs: Préparation pour ``lammps2gibbs.exe`` ====================================================================== Pour étudier la sorption de l'eau dans le PAA, on utilise l'ensemble osmotique du code GIBBS. Il faut donc convertir les fichiers obtenus avec LAMMPS pour pouvoir les utiliser dans GIBBS. La procédure générale utilise l'outil ''lammps2gibbs.exe'' de la distribution GIBBS. Cependant, quelques opérations sont nécessaires pour faciliter la suite de l'étude. Identification des atomes et des molécules ---------------------------------------------------------------------- Après les étapes de réaction, on observe parfois des *fausses* molécules, c'est à dire des molécules qui contiennent des atomes liés à des atomes d'autres molécules. Ceci apparait même avec l'option ``reset_mol_ids yes`` du ``fix bond/react``. On obtient alors ce type de message lors de l'exécution de ``lammps2gibbs.exe`` : .. code-block:: Atoms 4314 and 4247 are bonded but are in different molecules 1 15 Atoms 4314 and 1828 are bonded but are in different molecules 1 15 L'outil ``paastats`` indique également 15 molécules : .. code-block:: Molid Ncfpm # Total number of molecules 15 # 1 6839 2 171 3 135 4 104 5 16 6 16 7 16 8 16 9 16 10 16 11 31 12 16 13 16 14 16 15 16 Pour corriger ce problème, on va appliquer la commande LAMMPS ``reset_atoms mol all`` puis relancer l'exécution du code LAMMPS sur le fichier de données obtenu **après** réaction. On va également appliquer la commande LAMMPS ``reset_atoms id`` pour obtenir, au total, des numéros de molécules contigus (entre 1 et Nmol) et des numéros d'atomes contigus (entre 1 et NCFTOT). Enfin, on remet les limites de taille de boite entre 0 et Lx/Ly/Lz. Le fichier de commande ``inpreparGibbs.system`` contient dont les lignes suivantes : .. code-block:: # get box lengths from data.in/lammps variable lxf equal lx variable lyf equal ly variable lzf equal lz # change box xlo/xhi, ylo/yhi etc to 0/L and remap atoms (overall translation here) change_box all x final 0.0 ${lxf} y final 0.0 ${lyf} z final 0.0 ${lzf} remap units box reset_atoms mol all reset_atoms id Suppression des petits oligomères ---------------------------------------------------------------------- Dans le travail avec Xuefan, on a supprimé les monomères, dimères et trimères résiduels. Mais Coronell et coll. :cite:`Vickers2022` semblent supprimer tous les oligomères et ne garder que le PAA réticulé. L'explication n'est pas très claire. Dans tous les cas, on peut utiliser le programme ``paacleaner`` avec l'option ``-nat`` pour supprimer toutes les molécules qui possèdent moins de ``nat`` atomes. **Des essais seront sans doute nécessaires.** Après cette étape de suppression des oligomères, on applique de nouveau les commandes reset_atoms mol all`` et ``reset_atoms id`` pour assurer la cohérence des numérotations. Création des fichiers d'entrée pour GIBBS ----------------------------------------------------------------------