Puis-je utiliser deux codes différents?

Sep 03 2020

Puis-je utiliser un code pour l'optimisation de la géométrie et un autre code pour un calcul de point unique sur cette géométrie optimisée? Peut-on publier des résultats comme ça?

Réponses

12 NikeDattani Sep 03 2020 at 10:00

Absolument.

Je fais cela tout le temps, et j'utilise souvent plusieurs codes, car chaque code a ses propres forces et faiblesses.

J'ai utilisé 7 codes différents dans cet article où tout ce que je faisais était l'énergie d'ionisation d'un atome de carbone (cela signifie calculer l'énergie d'un atome de carbone neutre, et l'énergie d'un cation de carbone seul ionisé, puis rapporter la différence entre ces deux énergies).

  • MOLPRO a été utilisé pour optimiser les ensembles de base (car peu de codes peuvent optimiser les exposants des ensembles de base).
  • GAUSSIAN a été utilisé pour optimiser les fonctions de type k dans les ensembles de base (GAUSSIAN ne peut pas optimiser automatiquement les exposants, nous avons donc dû faire l'optimisation manuellement, mais GAUSSIAN peut traiter les fonctions de type k alors que MOLPRO ne le peut pas).
  • MOLCAS a été utilisé pour calculer les intégrales, car même si GAUSSIAN peut utiliser des fonctions de type k et de type l, il ne peut pas imprimer les intégrales au format FCIDUMP mais MOLCAS le peut; et les intégrales devaient être au format FCIDUMP parce que c'est le format que NECI lit.
  • NECI a été utilisé pour faire les calculs FCIQMC (les autres programmes ne peuvent pas faire FCIQMC ou ne peuvent pas le faire avec autant de contrôle que nécessaire).
  • CFOUR a été utilisé pour calculer les corrections DBOC et X2C car MOLPRO, GAUSSIAN, MOLCAS et NECI ne pouvaient pas faire ces corrections à l'époque (et ne peuvent toujours pas faire DBOC).
  • MRCC a été utilisé pour calculer les calculs de grappes couplées pour les corrections X2C et DBOC au-delà du CCSD (T), puisque les autres programmes ne peuvent pas aller au-delà du CCSD (T).
  • Psi3 (un précurseur de Psi4) a été utilisé pour optimiser certaines des fonctions des ensembles de base (mais cette partie a été faite avant de commencer ce projet, et c'était le sujet d'articles précédents, nous n'avons donc pas eu besoin d'utiliser Psi3 ou Psi4 directement dans cet article).

Il est très courant de calculer des intégrales dans un programme et des calculs post-SCF dans un autre programme. C'est le but du fichier fcidump : pour calculer les intégrales dans un programme, imprimez-les au format FCIDUMP, qui est le format universel que presque tous les programmes peuvent lire.

Pourquoi MOLPRO, PySCF, (Open) MOLCAS, ARROW, DALTON, DIRAC, GAMESS, DICE, BLOCK, CheMPS2, xacc, NECI, BAGEL, HANDE, Psi4 et probablement d'autres, peuvent tous lire le format FCIDUMP? C'est parce que les gens veulent pouvoir calculer des intégrales dans un programme et des calculs post-SCF dans un programme différent. C'est aussi la raison pour laquelle MRCC a des interfaces avec CFOUR, MOLPRO, Psi4, DIRAC, ORCA, COLUMBUS, AMBER: les gens veulent pouvoir calculer des intégrales dans un programme et faire des grappes couplées d'ordre élevé dans un programme différent. Il y a plusieurs autres exemples.

Quant à l'optimisation de la géométrie: nous effectuons en fait des calculs d'énergie en un seul point à des géométries obtenues par différents programmes tout le temps lorsque nous prenons une géométrie de la littérature et effectuons un calcul d'énergie en un seul point dessus. Nous prenons même souvent la géométrie d'une expérience de cristallographie aux rayons X, puis faisons un calcul d'énergie en un seul point. Certains programmes peuvent effectuer certains types de calculs d'énergie en un point (peut-être qu'ils ont une fonction DFT spéciale implémentée, par exemple) mais ne peuvent pas faire d'optimisation de la géométrie car l'algorithme d'optimisation n'est tout simplement pas implémenté.

Mais attention: le CCSD (T) à cœur gelé est MOLPRO, ne signifie pas la même chose que CCSD (T) à cœur gelé dans CFOUR, par exemple. Ce que signifie une méthode dans un logiciel n'est pas nécessairement ce que cela signifie dans un autre logiciel. En plus de vous assurer que vous savez clairement dans votre article quel jeu de base, SCF, post-SCF et autres méthodes sont utilisés, il est judicieux de dire également quel programme a été utilisé (pour l'optimisation de la géométrie et pour le calcul d'énergie en un point).

9 TySterling Sep 03 2020 at 02:47

Selon les propriétés qui vous intéressent .. peut-être. Je ne suggère pas cela en général. Je travaille sur des calculs de phonons où les forces doivent se relâcher à une tolérance assez stricte. D'après mon expérience, la structure assouplie (utilisant par exemple VASP) n'est généralement pas identique à ce qu'un autre code trouve (par exemple ABINIT). Bien sûr, les deux structures sont proches et la relaxation supplémentaire avec le 2ème code (dans mon cas ABINIT) converge en seulement quelques étapes. Pour quelque chose comme l'énergie totale ou la densité électronique d'états, cela n'a probablement pas vraiment d'importance.

8 kskinnerx16 Sep 03 2020 at 01:17

Cela a été fait précédemment. D'après mon expérience, la géométrie se trouve avec un code et les corrections de solvant sont effectuées avec un autre. J'ai personnellement fait cela [1] et j'ai fait publier les résultats. J'ai effectué une optimisation de la géométrie avec QChem, puis des corrections de solvants avec ORCA.

Référence:

[1] TJ Doyon, JC Perkins, SA Baker Dockrey, OE Romero, KC Skinner, PM Zimmerman, ARH Narayan «Formation de méthide o-quinone chimioenzymatique» J. Am. Chem. Soc. 2019, 141, 20269–20277.

5 Y.Zhai Sep 04 2020 at 09:02

Oui absolument.

La raison en est que différents codes sont nécessaires pour générer exactement les mêmes résultats s'ils se réfèrent aux mêmes méthodes.

Par exemple, si vous utilisez Gaussian, Orca, Molpro, NWChem, Psi4, PySCF ... (je ne peux pas lister la liste complète) pour effectuer HF / cc-pVTZ pour étudier H 2 , ils devraient générer exactement les mêmes résultats, y compris l'énergie et les fonctions d'onde.

Différents packages peuvent bien sûr sortir dans différents formats. En outre, différents packages peuvent avoir des valeurs par défaut différentes pour certains paramètres (par exemple, le seuil d'optimisation, la bêta geminale des méthodes corrélées explicites, la taille des grilles intégrales, l'orbite initiale pour l'itération SCF, etc.) Il est de la responsabilité des utilisateurs de vérifiez la valeur par défaut, car apparemment, il est impossible pour le paquet pioneer de vous dire comment le logiciel suivant traitera les valeurs par défaut.

Donc, si vous effectuez exactement le même calcul en utilisant deux packages différents, ici même signifie les mêmes paramètres explicitement donnés et paramètres implicites, tout en obtenant des résultats différents, nous devrions considérer

  • Au moins l'un d'entre eux a un bogue; ou
  • Il convient de les désigner comme des méthodes différentes, par exemple les méthodes PM7 en gaussien et en MOPAC. Cela devrait être mentionné dans le manuel ou être considéré comme un bogue.

En résumé, ce sont les méthodes qui comptent, pas le logiciel. Puisqu'il s'agit d'un moyen courant d'effectuer l'optimisation de la géométrie en utilisant une méthode moins chère et de faire le calcul en un seul point en utilisant une méthode plus précise, il est bien sûr acceptable d'utiliser un logiciel différent, étant donné que certaines méthodes ne sont disponibles que dans les moins utilisées. paquets.