5.13 Methods Based on “Constrained” DFT

5.13.2 CDFT Job Control and Examples

A CDFT calculation is requested by setting CDFT = TRUE in the $rem section, as as by specifying a $cdft input section as described above. Additional job control variables are described below.

CDFT
       Initiates a constrained DFT calculation
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       TRUE Perform a Constrained DFT Calculation FALSE No Density Constraint
RECOMMENDATION:
       Set to TRUE if a Constrained DFT calculation is desired.

CDFT_POSTDIIS
       Controls whether the constraint is enforced after DIIS extrapolation.
TYPE:
       LOGICAL
DEFAULT:
       TRUE
OPTIONS:
       TRUE Enforce constraint after DIIS FALSE Do not enforce constraint after DIIS
RECOMMENDATION:
       Use the default unless convergence problems arise, in which case it may be beneficial to experiment with setting CDFT_POSTDIIS to FALSE. With this option set to TRUE, energies should be variational after the first iteration.

CDFT_PREDIIS
       Controls whether the constraint is enforced before DIIS extrapolation.
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       TRUE Enforce constraint before DIIS FALSE Do not enforce constraint before DIIS
RECOMMENDATION:
       Use the default unless convergence problems arise, in which case it may be beneficial to experiment with setting CDFT_PREDIIS to TRUE. Note that it is possible to enforce the constraint both before and after DIIS by setting both CDFT_PREDIIS and CDFT_POSTDIIS to TRUE.

CDFT_THRESH
       Threshold that determines how tightly the constraint must be satisfied.
TYPE:
       INTEGER
DEFAULT:
       5
OPTIONS:
       N Constraint is satisfied to within 10-N.
RECOMMENDATION:
       Use the default unless problems occur.

CDFT_CRASHONFAIL
       Whether the calculation should crash or not if the constraint iterations do not converge.
TYPE:
       LOGICAL
DEFAULT:
       TRUE
OPTIONS:
       TRUE Crash if constraint iterations do not converge. FALSE Do not crash.
RECOMMENDATION:
       Use the default.

CDFT_BECKE_POP
       Whether the calculation should print the Becke atomic charges at convergence
TYPE:
       LOGICAL
DEFAULT:
       TRUE
OPTIONS:
       TRUE Print Populations FALSE Do not print them
RECOMMENDATION:
       Use the default. Note that the Mulliken populations printed at the end of an SCF run will not typically add up to the prescribed constraint value. Only the Becke populations are guaranteed to satisfy the user-specified constraints.

Example 5.23  Charge separation on FAAQ

$molecule
   0 1
   C     -0.64570736     1.37641945    -0.59867467
   C      0.64047568     1.86965826    -0.50242683
   C      1.73542663     1.01169939    -0.26307089
   C      1.48977850    -0.39245666    -0.15200261
   C      0.17444585    -0.86520769    -0.27283957
   C     -0.91002699    -0.02021483    -0.46970395
   C      3.07770780     1.57576311    -0.14660056
   C      2.57383948    -1.35303134     0.09158744
   C      3.93006075    -0.78485926     0.20164558
   C      4.16915637     0.61104948     0.08827557
   C      5.48914671     1.09087541     0.20409492
   H      5.64130588     2.16192921     0.11315072
   C      6.54456054     0.22164774     0.42486947
   C      6.30689287    -1.16262761     0.53756193
   C      5.01647654    -1.65329553     0.42726664
   H     -1.45105590     2.07404495    -0.83914389
   H      0.85607395     2.92830339    -0.61585218
   H      0.02533661    -1.93964850    -0.19096085
   H      7.55839768     0.60647405     0.51134530
   H      7.13705743    -1.84392666     0.71043613
   H      4.80090178    -2.71421422     0.50926027
   O      2.35714021    -2.57891545     0.20103599
   O      3.29128460     2.80678842    -0.23826460
   C     -2.29106231    -0.63197545    -0.53957285
   O     -2.55084900    -1.72562847    -0.95628300
   N     -3.24209015     0.26680616     0.03199109
   H     -2.81592456     1.08883943     0.45966550
   C     -4.58411403     0.11982669     0.15424004
   C     -5.28753695     1.14948617     0.86238753
   C     -5.30144592    -0.99369577    -0.39253179
   C     -6.65078185     1.06387425     1.01814801
   H     -4.73058059     1.98862544     1.26980479
   C     -6.66791492    -1.05241167    -0.21955088
   H     -4.76132422    -1.76584307    -0.92242502
   C     -7.35245187    -0.03698606     0.47966072
   H     -7.18656323     1.84034269     1.55377875
   H     -7.22179827    -1.89092743    -0.62856041
   H     -8.42896369    -0.10082875     0.60432214
$end

$rem
   JOBTYPE         FORCE
   METHOD          B3LYP
   BASIS           6-31G*
   SCF_PRINT       TRUE
   CDFT            TRUE
$end

$cdft
   2
   1   1  25
  -1  26  38
$end

Example 5.24  Cu2-Ox High Spin

$molecule
   2 3
   Cu      1.4674     1.6370     1.5762
   O       1.7093     0.0850     0.3825
   O      -0.5891     1.3402     0.9352
   C       0.6487    -0.3651    -0.1716
   N       1.2005     3.2680     2.7240
   N       3.0386     2.6879     0.6981
   N       1.3597     0.4651     3.4308
   H       2.1491    -0.1464     3.4851
   H       0.5184    -0.0755     3.4352
   H       1.3626     1.0836     4.2166
   H       1.9316     3.3202     3.4043
   H       0.3168     3.2079     3.1883
   H       1.2204     4.0865     2.1499
   H       3.8375     2.6565     1.2987
   H       3.2668     2.2722    -0.1823
   H       2.7652     3.6394     0.5565
   Cu     -1.4674    -1.6370    -1.5762
   O      -1.7093    -0.0850    -0.3825
   O       0.5891    -1.3402    -0.9352
   C      -0.6487     0.3651     0.1716
   N      -1.2005    -3.2680    -2.7240
   N      -3.0386    -2.6879    -0.6981
   N      -1.3597    -0.4651    -3.4308
   H      -2.6704    -3.4097    -0.1120
   H      -3.6070    -3.0961    -1.4124
   H      -3.5921    -2.0622    -0.1485
   H      -0.3622    -3.1653    -3.2595
   H      -1.9799    -3.3721    -3.3417
   H      -1.1266    -4.0773    -2.1412
   H      -0.5359     0.1017    -3.4196
   H      -2.1667     0.1211    -3.5020
   H      -1.3275    -1.0845    -4.2152
$end

$rem
   JOBTYPE         SP
   METHOD          B3LYP
   BASIS           6-31G*
   SCF_PRINT       TRUE
   CDFT            TRUE
$end

$cdft
   2
   1   1   3  s
  -1  17  19  s
$end