Gaussian Input avec contraintes dans l'optimisation xyz

Pour figer une longueur de liaison, un angle ou un dièdre, il est important de définir la directive Opt=ModRedundant.

%nprocshared=20
%mem=40GB
%chk=/global/archive/phchm/ir-goettingen/s0opt2/ir_opt.chk
#P b3lyp/def2SVP opt=ModRedundant scf=(tight,MaxCycle=500) pop=full iop(6/7=3) gfinput gfoldprint gfprint EmpiricalDispersion=GD3 SCRF=(PCM,Solvent=Acetonitrile)

Complexe Ir avec B3LYP

1 1
C -2.38008 0.32587 0.65976
S -4.86842 0.34670 -0.74159
S -5.07214 1.14093 0.59786
C -3.51219 -0.45064 -1.51185
...
Ir 0.59352 0.00001 -0.00005

D 1 2 3 4 0.00 B
D 1 2 3 4 F

Le D 1 2 3 4 0.00 B spécifie un dièdre (autres possibilités : X pour coordonnées cartésiennes, B pour longueur de liaison, A pour angle ou L pour flexion linéaire), les quatre atomes impliqués (spécifiés par leur numéro dans la liste xyz), la valeur du dièdre (ici 0.00) et B pour "build", c'est-à-dire créer cette définition redondante.

La ligne suivante, D 1 2 3 4 F, fige le dièdre à la valeur précédemment spécifiée. Ici, le dièdre est fixé à 0 degré.

Voici aussi un script de soumission SLURM :

#!/bin/bash
#SBATCH -J opt
#SBATCH -N 1
#SBATCH --ntasks-per-node=20
#SBATCH -p compute
#SBATCH --mem=42G
#SBATCH --constraint beegfs

module use /usr/license/modulefiles
module load gaussian
export g16root=/usr/license/gaussian
source $g16root/g16/bsd/g16.profile
export TMPDIR=/public/`hostname -s`/scratch/tmp/$LOGNAME.$$
mkdir $TMPDIR

g16 < ir_opt.inp > ir_opt.log

rm -rf $TMPDIR