


Quand on impose une (des) contraintes, on doit retirer la symétrie, donc travailler en C1. La géométrie de départ ne doit pas être TROP éloignée de la contrainte.
Avec GAMESS vous devez définir dans un groupe $CONTRL le nombre de contraintes d'optimisation (NZVAR=1) et dans un groupe $ZMAT définir la coordonnée bloquée: iFzmat(1)=2,nA,nB,nC (1 pour une distance, 2 pour un angle, 3 pour un dièdre). La valeur voulue est précisée avec Fvalue(1)=110.0.
Les options DLC et AUTO sont liées à la génération automatique de coordonnées. A noter qu'on peut devoir rajouter des coordonnées "à la main" , par exemple lorsqu'on a 2 molécules en approche. Le plus simple est la commande NONVDW(1)= nA,nB pour préciser que les atomes numéros nA et nB sont en approche. Un exemple est donné en fin de cette page pour mettre 2 contraintes dans une optimisation.
Comme c'est une optimisation on garde la commande RUNTYP=OPTIMIZE ainsi que le groupe des Points Stationnaires ($STAPT), en évitant les calculs de hessien (du genre IHREP=20 HESS=CALC HSSEND=.TRUE.). Dans certains cas rares, on peut vouloir demander un (couteux) calcul de hessien à la fin : $STATPT HSSEND=.TRUE. $END.
On peut aussi devoir ajouter à la main des coordonnées complémentaires pour tout maitriser (eXtra):
iXzmat(1)=1,nA,nB, 2,nA,nB,nC.
Attention, Gamess exige d'avoir un espace avant chaque $ ( $ZMAT $END).
Optimisation contrainte de H2O en contraignant l'angle H-O-H à 110°. A voir sur chemcompute dans le job public Job_id= 300168
On doit définir la distance 2,3 comme non Van der Waals pour avoir suffisamment de coordonnées.