ORCA

Utiliser ORCA 5.0.0 sur le cluster.

Input

Voici les fichiers Fe.inp / Fe.2.inp / Fe.3.inp qui vont servir d’exemple :

Fe.inp

! Angs Def2-SVP autoaux
! ROHF

%output
 PrintLevel Normal
end

%maxcore 4400

%pal
  nprocs 24
end

%scf
  MaxIter=500
  moinp "gbw"
  Convergence
  sloppy
end

*  xyz   0 5  angs
Fe     0.000000      0.000000    0.000000
 N     0.000000      2.300000    0.000000
 N     2.086164      0.842865    0.000000
 N    -2.086164      0.842865    0.000000
 O     1.452323     -1.657029    0.000000
 O    -1.452323     -1.657029    0.000000
 N     0.000000      0.000000   -2.110000
 N     0.000000      0.000000    2.110000
 C     0.000000      0.000000   -3.260000
 C     0.000000      0.000000    3.260000
 C     2.352291      2.094894    0.000000
 C    -2.352291      2.094894    0.000000
 C     1.156329      2.932315    0.000000
 C    -1.156329      2.932315    0.000000
 C     1.188563      4.321942    0.000000
 C     0.001229      5.044671    0.000000
 C    -1.188563      4.321942    0.000000
 N    -3.080805     -0.084653    0.000000
 N     3.080805     -0.084653    0.000000
 C     2.660542     -1.378090    0.000000
 C    -2.660542     -1.378090    0.000000
 H    -0.023026      6.133401    0.000000
 H    -2.144039      4.844424    0.000000
 H    -3.387991      2.431413    0.000000
 H    -4.066778      0.124922    0.000000
 H    -3.389225     -2.187375    0.000000
 H     2.144039      4.844424    0.000000
 H     3.387991      2.431413    0.000000
 H     4.044760      0.210058    0.000000
 H     3.389225     -2.187375    0.000000
*

Fe.2.inp

! Angs Def2-SVP autoaux #RI-NEVPT2
! MoRead

%output
 PrintLevel Normal
end

%maxcore 4000

%pal
  nprocs 24
end

%scf
  MaxIter=500
  moinp "gbw"
  Convergence
  sloppy
  rotate
  {71,80,90}
  end
end

%casscf
  Actorbs dorbs
  maxiter=150
  nel 6
  norb 5
  mult 5
  nroots 2
end

*  xyz   0 5  angs
Fe     0.000000      0.000000    0.000000
 N     0.000000      2.300000    0.000000
 N     2.086164      0.842865    0.000000
 N    -2.086164      0.842865    0.000000
 O     1.452323     -1.657029    0.000000
 O    -1.452323     -1.657029    0.000000
 N     0.000000      0.000000   -2.110000
 N     0.000000      0.000000    2.110000
 C     0.000000      0.000000   -3.260000
 C     0.000000      0.000000    3.260000
 C     2.352291      2.094894    0.000000
 C    -2.352291      2.094894    0.000000
 C     1.156329      2.932315    0.000000
 C    -1.156329      2.932315    0.000000
 C     1.188563      4.321942    0.000000
 C     0.001229      5.044671    0.000000
 C    -1.188563      4.321942    0.000000
 N    -3.080805     -0.084653    0.000000
 N     3.080805     -0.084653    0.000000
 C     2.660542     -1.378090    0.000000
 C    -2.660542     -1.378090    0.000000
 H    -0.023026      6.133401    0.000000
 H    -2.144039      4.844424    0.000000
 H    -3.387991      2.431413    0.000000
 H    -4.066778      0.124922    0.000000
 H    -3.389225     -2.187375    0.000000
 H     2.144039      4.844424    0.000000
 H     3.387991      2.431413    0.000000
 H     4.044760      0.210058    0.000000
 H     3.389225     -2.187375    0.000000
*

Fe.3.inp

! Angs Def2-TZVP(-f) autoaux RI-NEVPT2
! MoRead

%output
 PrintLevel Normal
end

%maxcore 8000

%pal
  nprocs 24
end

%scf
  MaxIter=500
  moinp "gbw"
  Convergence
  tight
end

%casscf
  Actorbs dorbs
  maxiter=100
  nel 6
  norb 5
  mult 5,3
  nroots 5,45
  rel
   dosoc true
   gtensor true
   printlevel 5
   tprint 1e-8
  end
end

*  xyz   0 5  angs
Fe     0.000000      0.000000    0.000000 newgto "DKH-def2-TZVPP" end
 N     0.000000      2.300000    0.000000 newgto "DKH-def2-TZVP" end
 N     2.086164      0.842865    0.000000 newgto "DKH-def2-TZVP" end
 N    -2.086164      0.842865    0.000000 newgto "DKH-def2-TZVP" end
 O     1.452323     -1.657029    0.000000 newgto "DKH-def2-TZVP" end
 O    -1.452323     -1.657029    0.000000 newgto "DKH-def2-TZVP" end
 N     0.000000      0.000000   -2.110000 newgto "DKH-def2-TZVP" end
 N     0.000000      0.000000    2.110000 newgto "DKH-def2-TZVP" end
 C     0.000000      0.000000   -3.260000 newgto "DKH-def2-TZVP" end
 C     0.000000      0.000000    3.260000 newgto "DKH-def2-TZVP" end
 C     2.352291      2.094894    0.000000
 C    -2.352291      2.094894    0.000000
 C     1.156329      2.932315    0.000000
 C    -1.156329      2.932315    0.000000
 C     1.188563      4.321942    0.000000
 C     0.001229      5.044671    0.000000
 C    -1.188563      4.321942    0.000000
 N    -3.080805     -0.084653    0.000000
 N     3.080805     -0.084653    0.000000
 C     2.660542     -1.378090    0.000000
 C    -2.660542     -1.378090    0.000000
 H    -0.023026      6.133401    0.000000
 H    -2.144039      4.844424    0.000000
 H    -3.387991      2.431413    0.000000
 H    -4.066778      0.124922    0.000000
 H    -3.389225     -2.187375    0.000000
 H     2.144039      4.844424    0.000000
 H     3.387991      2.431413    0.000000
 H     4.044760      0.210058    0.000000
 H     3.389225     -2.187375    0.000000
*

N’oubliez pas de changer la valeur de nprocs dans le/les inputs en fonction du nombre de coeurs utilisés !

Script SLURM

Pour calculer les input précédents sur Zen 2 avec ioperso :

#!/bin/bash

#SBATCH -J orca5-zen2
#SBATCH -N 1
#SBATCH -n 24
#SBATCH --ntasks-per-node=24
#SBATCH --ntasks-per-core=1
#SBATCH --hint=nomultithread
#SBATCH --mem=64000
#SBATCH -p zen2
#SBATCH --gres=ioperso

# orca/openmpi/$ORCA loading
module load orca/5.0.0

# some variables
NAME=Fe
ICI=$PWD
LIST_MPI=${NAME}.nodes

# copy input in TMPDIR
cp $NAME.*inp $TMPDIR
cd $TMPDIR

# calculate if multiple files
if((1))
then
 CALC=$NAME
 $ORCA $CALC.inp      >    $ICI/$CALC.out
 cp    $CALC.gbw           $ICI/$CALC.gbw
cp    $CALC.gbw           gbw
fi
#
if((1))
then
CALC=$NAME.2
$ORCA $CALC.inp      >    $ICI/$CALC.out
cp    $CALC.gbw           $ICI/$CALC.gbw
cp    $CALC.gbw           gbw
fi
#
CALC=$NAME.3
$ORCA $CALC.inp      >    $ICI/$CALC.out
cp    $CALC.gbw           $ICI/$CALC.gbw
cp $CALC.NEVPT2_DTensor_HEFF_rotated.xyz $ICI
cp    $CALC.gbw           gbw