File: seward.rst

package info (click to toggle)
openmolcas 25.02-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 170,204 kB
  • sloc: f90: 498,088; fortran: 139,779; python: 13,587; ansic: 5,745; sh: 745; javascript: 660; pascal: 460; perl: 325; makefile: 17
file content (1587 lines) | stat: -rw-r--r-- 69,331 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
.. index::
   single: Program; Seward
   single: Seward

.. _UG\:sec\:seward:

:program:`seward`
=================

.. only:: html

  .. contents::
     :local:
     :backlinks: none

.. xmldoc:: <MODULE NAME="SEWARD">
            %%Description:
            <HELP>
            The Seward module generates one- and two-electron integrals needed
            by other programs. The input contains an additional and optional
            embedded input section for numerical quadrature options for the
            computation of integrals associated with DFT calculations. The
            embedded section starts and ends with the keywords "Grid Input"
            and "End of Grid", respectively. Keywords associated with this
            embedded input section is labelled "(NQ)" below.
            </HELP>

The :program:`SEWARD` module generates one- and two-electron integrals needed
by other programs. The two-electron integrals may optionally be
Cholesky decomposed. In addition, it will serve as the input parser
for parameters related to the specification of the quadrature grid
used in numerical integration in association with DFT and reaction
field calculations.

.. .. figure:: seward.*
      :width: 50%
      :align: center

      H. W. Seward, secretary of State in the Lincoln administration, who suggested and supervised
      the 1867 purchase of Alaska from tzar Russia. Price: 2 cents an acre.

In the following three subsections we will in detail describe the input parameters
for analytic integration, numerical integration, and relativistic operators.

.. ..include:: ../integrals.inc

Analytic integration
--------------------

Any conventional ab initio quantum chemical calculation starts by
computing overlap, kinetic energy, nuclear attraction and electron
repulsion integrals. These are used repeatedly to determine the
optimal wave function and the total energy of the system under
investigation. Finally, to compute various properties of the system
additional integrals may be needed, examples include multipole moments
and field gradients.

.. _UG\:sec\:seward_description:

Description
...........

:program:`SEWARD` is able to compute the following integrals:

* kinetic energy,

* nuclear attraction,

* two electron repulsion (optionally Cholesky decomposed),

* :math:`n`\th (default :math:`n`\=2) order moments (overlap, dipole moment, etc.),

* electric field (generated at a given point by all charges in the system),

* electric field gradients (spherical gradient operators),

* linear momentum (velocity),

* orbital angular momentum,

* relativistic mass-velocity correction (1st order),

* one-electron Darwin contact term,

* one-electron relativistic no-pair Douglas--Kroll,

* diamagnetic shielding,

* spherical well potential (Pauli repulsion),

* ECP and PP integrals,

* modified kinetic energy and multipole moment integrals
  (integration on a finite sphere centered at the origin) for use in
  the variational :math:`R`\-matrix approach,

* external field (represented by a large number of charges and dipoles),

* angular momentum products, and

* atomic mean-field integrals (AMFI) for spin--orbit coupling.

*Note that while* :program:`SEWARD` *compute these integrals the input to
select them and their settings are put in the input of* :program:`GATEWAY`.

In general these integrals will be written to a file, possibly in
the form of Cholesky vectors (two-electron integrals only). However,
:program:`SEWARD` can also compute the orbital contributions and total components of
these properties if provided with orbital coefficients and
orbital occupation numbers.

To generate the one- and two-electron integrals
:program:`SEWARD` uses two different integration schemes. Repulsion type integrals (two-electron
integrals, electric field integrals, etc.) are evaluated by
the reduced multiplication scheme of the Rys quadrature :cite:`seward`.
All other integrals are computed by the Gauss--Hermite quadrature.
:program:`SEWARD` use spherical Gaussians as basis functions,
the only exception to this are the diffuse/polarization functions
of the 6-31G family of basis sets.
The double coset :cite:`dcf` formalism is used to treat symmetry.
:program:`SEWARD` is especially designed to handle ANO-type basis sets, however, segmented basis
sets are also processed.

At present the following limitations are built into :program:`SEWARD`:

.. include:: ../limitations.inc

.. _UG\:sec\:seward_dependencies:

Dependencies
............

:program:`SEWARD` usually runs after program :program:`GATEWAY`. In the same time, any input used
in :program:`GATEWAY` can be placed into :program:`SEWARD` input. However, it is recommended to
specify all information about the molecule and the basis set in :program:`GATEWAY` input.

:program:`SEWARD` does normally not depend on any other code, except of :program:`GATEWAY`.
There are two exceptions however.
The first one is when :program:`SEWARD` is used as a property module. In these cases the file
:file:`INPORB` has to have been generated by a wave function code. The second case, which is
totally transparent to the user, is when :program:`SEWARD` picks up the new Cartesian coordinates
generated by :program:`SLAPAF` during a geometry optimization.

.. _UG\:sec\:seward_files:

Files
.....

Input Files
:::::::::::

Apart form the standard input file
:program:`SEWARD` will use the following input files: :file:`RYSRW`, :file:`ABDATA`,
:file:`RUNFILE`, :file:`INPORB` (for calculation of properties) (:numref:`UG:sec:files_list`).
In addition, :program:`SEWARD` uses the following files:

.. class:: filelist

:file:`BASLIB`
  The default directory for one-particle basis set information.
  This directory contains files which are part
  of the program system and could
  be manipulated by the user in accordance with the instructions in
  :numref:`UG:sec:the_basis_set_libraries` and following subsections.
  New basis set files can be added to this directory by the local
  |molcas| administrator.

:file:`QRPLIB`
  Library for numerical mass-velocity plus Darwin potentials (used for ECPs).

Output files
::::::::::::

In addition to the standard output file
:program:`SEWARD` may generate the following files:
:file:`ONEINT`, :file:`ORDINT`, :file:`CHVEC`, :file:`CHRED`, :file:`CHORST`,
:file:`CHOMAP`, :file:`CHOR2F` (:numref:`UG:sec:files_list`).

.. _UG\:sec\:seward_input:

Input
.....

Below follows a description of the input to :program:`SEWARD`.
Observe that if
nothing else is requested
:program:`SEWARD` will by default compute the overlap, the
dipole, the quadrupole, the nuclear attraction, the kinetic energy,
the one-electron Hamiltonian, and the two-electron repulsion
integrals.

The input for each module is preceded by its name like: ::

  &SEWARD

Argument(s) to a keyword, either individual or composed by several entries,
can be placed in a separated line or in the same line separated by a semicolon.
If in the same line, the first argument requires an equal sign after the
name of the keyword.

General keywords
::::::::::::::::

.. class:: keywordlist

:kword:`TITLe`
  One line of title card follows.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="TITLE" APPEAR="Title" KIND="CUSTOM" LEVEL="BASIC">
              <HELP>
              Enter one optional title card.
              </HELP>
              %%Keyword: Title <basic>
              One line of title card follows.
              </KEYWORD>

:kword:`TEST`
  :program:`SEWARD` will only process the input and generate a non-zero return code.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="TEST" APPEAR="Test" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Test <basic>
              <HELP>
              SEWARD will only process the input and generate a non-zero
              return code.
              </HELP>
              </KEYWORD>

  .. xmldoc:: <GROUP MODULE="SEWARD" NAME="GATEWAY" APPEAR="Gateway input" KIND="BOX" LEVEL="ADVANCED">
              <HELP>
              When not using GATEWAY as a separate program, input for GATEWAY can be included in SEWARD.
              </HELP>
              <INCLUDE MODULE="GATEWAY" EXCEPT="TITLE,TEST,EXPE,VERB,PRINT" />
              </GROUP>

:kword:`ONEOnly`
  :program:`SEWARD` will not compute the two-electron integrals.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="ONEO" APPEAR="Only 1-el. Integrals" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Oneonly <basic>
              <HELP>
              SEWARD will not compute the two-electron integrals.
              </HELP>
              </KEYWORD>

:kword:`NODKroll`
  :program:`SEWARD` will not compute Douglas--Kroll integrals.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NODK" APPEAR="Skip Douglas-Kroll Integrals" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NoDK <basic>
              <HELP>
              SEWARD will not compute Douglas-Kroll integrals.
              </HELP>
              </KEYWORD>

:kword:`DIREct`
  Prepares for later integral-direct calculations. As with keyword
  :kword:`OneOnly`, :program:`SEWARD` will evaluate no two-electron integrals.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="DIRE" APPEAR="Direct option" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Direct <basic>
              <HELP>
              Prepares for later integral-direct calculations. As with keyword
              oneonly, SEWARD will evaluate no two-electron integrals.
              </HELP>
              </KEYWORD>

:kword:`EXPErt`
  Sets "expert mode", in which various default settings are
  altered. Integral-direct calculations will be carried out
  if the two-electron integral file is unavailable.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="EXPE" APPEAR="Expert mode" KIND="SINGLE" LEVEL="ADVANCED">
              <HELP>
              Activates expert mode which will deactivate some checks. This will, for
              example, allow the used to combine relativistic and non-relativistic basis sets.
              </HELP>
              %%Keyword: Expert <advanced>
              Sets "expert mode", in which various default settings are
              altered. Integral-direct calculations will be carried out
              if the two-electron integral file is unavailable.
              </KEYWORD>

:kword:`CHOLesky`
  :program:`SEWARD` will Cholesky decompose the two-electron integrals using
  default configuration (in particular, the decomposition threshold is
  1.0d-4) of the decomposition driver.
  The decomposition threshold can be changed using keyword :kword:`THRC`.
  Default is to not decompose.

  .. xmldoc:: <GROUP MODULE="SEWARD" KIND="BOX" NAME="CDOPTIONS" APPEAR="CD options" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="CHOL" APPEAR="Cholesky" KIND="SINGLE" EXCLUSIVE="RIJ,RIJK,RIC,RICD,LOW,MEDI,HIGH" LEVEL="BASIC">
              %%Keyword: Cholesky <basic>
              <HELP>
              Cholesky decompose the two-electron integrals using default settings.
              </HELP>
              </KEYWORD>

:kword:`1CCD`
  :program:`SEWARD` will Cholesky decompose the two-electron integrals using
  the one-center approximation.
  The decomposition threshold can be changed using keyword :kword:`THRC`.
  Default is to not decompose.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="1CCD" APPEAR="1CCD" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: 1CCD <basic>
              <HELP>
              One-center Cholesky decomposition of the two-electron integrals.
              </HELP>
              </KEYWORD>

:kword:`THRCholesky`
  Specify decomposition threshold for Cholesky decomposition of two-electron integrals
  on the next line. Default value: 1.0d-4.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="THRCHOLESKY" APPEAR="ThrCholesky" KIND="REAL" LEVEL="BASIC">
              %%Keyword: ThrCholesky <basic>
              <HELP>
              Specify decomposition threshold for Cholesky decomposition of two-electron integrals.
              </HELP>
              </KEYWORD>

:kword:`SPAN`
  Specify span factor (0 :math:`<` span :math:`\leq` 1) for Cholesky decomposition of two-electron integrals on the next line.
  Span=1 implies full pivoting, Span=0 means no pivoting. If the span factor is too low, numerical errors may cause
  negative diagonal elements and force the program to quit; if the span factor is too large, the execution time may
  increase. Default value: 1.0d-2.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="SPANFACTOR" APPEAR="Span factor" KIND="REAL" LEVEL="BASIC">
              %%Keyword: Span <basic>
              <HELP>
              Specify span factor (in between, but not equal to, 0 and 1) for Cholesky decomposition of two-electron integrals on the next line.
              </HELP>
              </KEYWORD>

:kword:`LOW Cholesky`
  :program:`SEWARD` will Cholesky decompose the two-electron integrals using
  low accuracy (threshold 1.0d-4)
  configuration of the decomposition driver.
  Default is to not decompose.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="LOW" APPEAR="Low" KIND="SINGLE" EXCLUSIVE="RIJ,RIJK,RIC,RICD,CHOL,MEDI,HIGH" LEVEL="BASIC">
              %%Keyword: Low <basic>
              <HELP>
              Cholesky decompose the two-electron integrals using low accuracy settings. Recommended.
              </HELP>
              </KEYWORD>

:kword:`MEDIum Cholesky`
  :program:`SEWARD` will Cholesky decompose the two-electron integrals using
  medium accuracy (threshold 1.0d-6)
  configuration of the decomposition driver.
  Default is to not decompose.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="MEDI" APPEAR="Medium" KIND="SINGLE" EXCLUSIVE="RIJ,RIJK,RIC,RICD,CHOL,LOW,HIGH" LEVEL="BASIC">
              %%Keyword: Medium <basic>
              <HELP>
              Cholesky decompose the two-electron integrals using medium accuracy settings.
              </HELP>
              </KEYWORD>

:kword:`HIGH Cholesky`
  :program:`SEWARD` will Cholesky decompose the two-electron integrals using
  high-accuracy (threshold 1.0d-8)
  configuration of the decomposition driver.
  Default is to not decompose.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="HIGH" APPEAR="High" KIND="SINGLE" EXCLUSIVE="RIJ,RIJK,RIC,RICD,CHOL,LOW,MEDI" LEVEL="BASIC">
              %%Keyword: High <basic>
              <HELP>
              Cholesky decompose the two-electron integrals using high accuracy settings.
              </HELP>
              </KEYWORD>

  .. xmldoc:: </GROUP>

:kword:`FAKE CD/RI`
  If CD/RI vectors are already available, :program:`SEWARD` will not redo work!

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="FAKE" APPEAR="Skip CD/RI vectors generation" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: FAKE <basic>
              <HELP>
              If CD/RI vectors are already available, SEWARD will not redo work!
              </HELP>
              </KEYWORD>

  .. :kword:`MOLPro`
       The integrals are normalized as in the program package
       :program:`MOLPRO`. The default is the normalization
       according to the double coset representatives (DCR) formalism
       for conventional calculations; for Cholesky decomposition, the
       default is the :kword:`MOLECULE` normalization (except when AMFI or
       Douglas--Kroll is specified, where the DCR formalism is again
       default).

  ..   .. xmldoc:: %%Keyword: MOLPRO <advanced>
                   The integrals are normalized as in the program package
                   MOLPRO. The default is the normalization
                   according to the double coset representatives (DCR) formalism
                   for conventional calculations; for Cholesky decomposition, the
                   default is the MOLECULE normalization (except when AMFI or
                   Douglas-Kroll is specified, where the DCR formalism is again
                   default).

  .. :kword:`MOLEcule`
       The integrals are normalized as in the integral program
       :program:`MOLECULE`. The default is the normalization
       according to the double coset representatives (DCR) formalism
       for conventional calculations; for Cholesky decomposition, the
       default is the :kword:`MOLECULE` normalization (except when AMFI or
       Douglas--Kroll is specified, where the DCR formalism is again
       default).

  ..   .. xmldoc:: %%Keyword: MOLECULE <advanced>
                   The integrals are normalized as in the integral program
                   MOLECULE. The default is the normalization
                   according to the double coset representatives (DCR) formalism
                   for conventional calculations; for Cholesky decomposition, the
                   default is the MOLECULE normalization (except when AMFI or
                   Douglas-Kroll is specified, where the DCR formalism is again
                   default).

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="MOLECULE" KIND="SINGLE" LEVEL="UNDOCUMENTED" />


  .. :kword:`MOLCas`
       The integrals are normalized according to the double coset
       representatives (DCR) formalism. This is the default for
       conventional calculations. The default for Cholesky decompositions
       is the :kword:`MOLECULE` normalization (except when AMFI or
       Douglas--Kroll is specified, where the DCR formalism is again
       default).

  ..   .. xmldoc:: %%Keyword: MOLCAS <advanced>
                   The integrals are normalized according to the double coset
                   representatives (DCR) formalism. This is the default
                   for conventional calculations; for Cholesky decomposition, the
                   default is the MOLECULE normalization (except when AMFI or
                   Douglas-Kroll is specified, where the DCR formalism is again
                   default).

:kword:`JMAX`
  The integer entry on the next line is the highest rotational quantum
  number for which
  :program:`SEWARD` will compute the rotational energy within the
  rigid rotor model. The default value is 5.

  .. xmldoc:: %%Keyword: JMAX <advanced>
              The integer entry on the next line is the highest rotational quantum
              number for which
              SEWARD will compute the rotational energy within the
              rigid rotor model. The default value is 5.

:kword:`SYMMetry`
  See the the description in the manual for the program :program:`GATEWAY`.

  .. :kword:`SKIP`
       The subsequent entry contains a sequence of integers, one for
       each irreducible representation. By setting an integer to a nonzero
       value all basis functions from the corresponding
       irreducible representation will be removed.
       The default is to skip no basis functions.

   ..  .. xmldoc:: %%Keyword: Skip <advanced>
                   The subsequent entry contains a sequence of integers, one for
                   each irreducible representation. By setting an integer to a nonzero
                   value all basis functions from the corresponding
                   irreducible representation will be removed.

  .. :kword:`NOTAbles`
       Indicates that no tables will be used for the the roots and weights
       of the Rys polynomials. The default is to use tables.
       This option is used to verify the data base for
       the calculation of roots and weights. Observe that the activation of
       this option will make the program perform rather slow.

  ..   .. xmldoc:: %%Keyword: Notables <advanced>
                   Indicates that no tables will be used for the the roots and weights
                   of the Rys polynomials. The default is to use tables.

:kword:`BASIs Set`
  See the the description in the manual for the program :program:`GATEWAY`.

:kword:`ZMAT`
  See the the description in the manual for the program :program:`GATEWAY`.

:kword:`XBAS`
  See the the description in the manual for the program :program:`GATEWAY`.

:kword:`XYZ`
  See the the description in the manual for the program :program:`GATEWAY`.

:kword:`NOGUessorb`
  Disable automatic generation of starting orbitals with the GuessOrb procedure.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NOGUESSORB" APPEAR="No guess orbitals" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NOGUESSORB <basic>
              <HELP>
              Disable automatic generation of starting orbitals with the GuessOrb procedure.
              </HELP>
              </KEYWORD>

:kword:`NODElete`
  Do not delete any orbitals automatically.

  .. xmldoc:: <GROUP MODULE="SEWARD" KIND="BOX" NAME="DELOPT" APPEAR="Delete options" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NODE" APPEAR="No orbitals deleted" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NODElete <basic>
              <HELP>
              Do not delete any orbitals automatically.
              </HELP>
              </KEYWORD>

:kword:`SDELete`
  Set the threshold for deleting orbitals based on the eigenvalues of the overlap matrix.
  All eigenvalues with eigenvectors below this threshold will be deleted.
  If you want no orbitals deleted use keyword :kword:`NODElete`.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="SDEL" APPEAR="S delete threshold" KIND="REAL" LEVEL="BASIC">
              %%Keyword: SDELete <basic>
              <HELP>
              Set the threshold for deleting orbitals based on the eigenvalues of the overlap matrix.
              </HELP>
              </KEYWORD>

:kword:`TDELete`
  Set the threshold for deleting orbitals based on the eigenvalues of the kinetic energy matrix.
  All eigenvalues with eigenvectors above this threshold will be deleted.
  If you want no orbitals deleted use keyword :kword:`NODElete`.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="TDEL" APPEAR="T delete threshold" KIND="REAL" LEVEL="BASIC">
              %%Keyword: TDELete <basic>
              <HELP>
              Set the threshold for deleting orbitals based on the eigenvalues of the kinetic energy matrix.
              </HELP>
              </KEYWORD>

  .. xmldoc:: </GROUP>

:kword:`VERBose`
  Force :program:`SEWARD` to print a bit more verbose.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="VERB" APPEAR="Verbose output" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Verbose <basic>
              <HELP>
              Force SEWARD to print a bit more verbose.
              </HELP>
              </KEYWORD>

:kword:`EMBEdding`
  Reads in an embedding potential from a file. It can also write out the
  density and the electrostatic potential on a grid. It is a block keyword
  which *must* be ended with :kword:`ENDEmbedding`.

  .. xmldoc:: <GROUP MODULE="SEWARD" NAME="EMBE" APPEAR="External embedding potential" KIND="BLOCK" LEVEL="ADVANCED">
              %%Keyword: Embedding <advanced>
              <HELP>
              Reads in an embedding potential from a file and can output the density and ESP on a grid.
              </HELP>

  The subkeywords are:

  :kword:`EMBInput` ---
    Specifies the path to the file which contains the embedding potential
    (e.g. ``EMBI=myEmbPot.dat``). The file contains a potential given on a grid. It
    has the number of grid points in the first line. Then in five columns
    data for each grid point is given (x, y, z, weight of this grid point,
    value of the potential). Default is ``EMBPOT``.

  :kword:`OUTGrid` ---
    Specifies the path to a file containing a grid on which the output is
    produced. It is only needed if you want to have the data on a grid different
    from the one given in :kword:`EMBInput`. The columns for the potential and weights
    are not needed in this file (and also not read in).

  :kword:`WRDEnsity` ---
    Switches on the calculation of the final electron density on a grid. The
    output file path must be specified along with this keyword (e.g. ``WRDE=myDens.dat``).

  :kword:`WREPotential` ---
    Switches on the calculation of the electrostatic potential on a grid. The
    output file path must be specified along with this keyword (e.g. ``WREP=myESP.dat``).

  :kword:`ENDEmbedding` ---
    Ends the :kword:`EMBEdding` section. This keyword *must* be present.

  The :kword:`EMBEdding` feature is currently only supported by the SCF part of |molcas|.

  .. xmldoc:: </GROUP>

Keywords associated to one-electron integrals
:::::::::::::::::::::::::::::::::::::::::::::

.. class:: keywordlist

:kword:`MULTipoles`
  Entry which specifies the highest order of the
  multipole for which integrals will be generated. The default center
  for the dipole moment operator is the origin.
  The default center for the higher order operators is the
  center of the nuclear mass.
  The default is to do up to quadrupole moment integrals (2).

  .. xmldoc:: <GROUP MODULE="SEWARD" KIND="BOX" NAME="ONE" APPEAR="1-electron Integral options" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="MULTIPOLE" APPEAR="Set Max order of Multipole Moment Integrals" KIND="INT" LEVEL="ADVANCED" DEFAULT_VALUE="2">
              %%Keyword: Multipoles <basic>
              <HELP>
              Entry which specifies the highest order of the
              multipole for which integrals will be generated.
              For details consult the manual.
              </HELP>
              </KEYWORD>

:kword:`CENTer`
  This option is used to override the default selection of the origin
  of the multipole moment operators.
  On the first entry add an integer entry specifying the number of
  multipole moment operators for which the origin of expansion
  will be defined.
  Following this, one entry for each operator, the order of
  the multipole operator and the coordinates of the center (in au) of
  expansion are specified.
  The default is the origin for 0th and 1st multipoles, and the center of mass for higher-order multipoles.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="CENT" KIND="REALS_COMPUTED" APPEAR="Multipole moments origins" SIZE="4" LEVEL="ADVANCED">
              %%Keyword: Center <advanced>
              <HELP>
              This option is used to override the default selection of the origin
              of the multipole moment operators.
              On the first entry specify the number of such modifications.
              On the following entries enter first the order of the multipole moment operators
              followed by the coordinates of the origin of the operator.
              </HELP>
              </KEYWORD>

:kword:`RELInt`
  Requests the computation of mass-velocity and one-electron Darwin
  contact term integrals for the calculation of a first order correction
  of the energy with respect to relativistic effects.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="RELI" APPEAR="1st order rel. corr." KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Relint <basic>
              <HELP>
              Requests the computation of mass-velocity and one-electron Darwin
              contact term integrals for the calculation of a first order correction
              of the energy with respect to relativistic effects.
              </HELP>
              </KEYWORD>

  .. :kword:`BSSMethod`
       Request that the one-electron Hamiltonian include the scalar relativistic
       effects according to the so-called Barysz--Sadlej--Snijders transformation.

  ..   .. xmldoc:: %%Keyword: BSSmethod <basic>
                   Request that the one-electron Hamiltonian include the scalar relativistic
                   effects according to the so-called Barysz-Sadlej-Snijders transformation.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="BSSMETHOD" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

:kword:`RELAtivistic`
  Request arbitrary scalar relativistic Douglas--Kroll--Hess (DKH) correction to the one-electron Hamiltonian
  and the so-called picture-change correction to the property integrals (multipole moments
  and electronic potential related properties). An argument of the form ``RXXPyy`` follows.
  Here XX represents the order of the DKH correction to the one-electron Hamiltonian and
  yy the order of the picture-change correction. The character P denotes the parameterization
  used in the DKH procedure.
  The possible parametrizations P of the unitary transformation used
  in the DKH transformation supported by |molcas| are:

  .. container:: list

    ``P=O``: Optimum parametrization (OPT)

    ``P=E``: Exponential parametrization (EXP)

    ``P=S``: Square-root parametrization (SQR)

    ``P=M``: McWeeny parametrization (MCW)

    ``P=C``: Cayley parametrization (CAY)

  Hence, the proper keyword for the 4th order relativistically corrected one-electron
  Hamiltonian and 3rd order relativistically corrected
  property integrals in the EXP parameterization would read as R04E03. If yy is larger than XX it is set to
  XX. If yy is omitted it will default to same value as XX. Recommended orders and parametrization is
  R02O02.
  Since the EXP parameterization employs a fast algorithm, it is
  recommended for high order DKH transformation.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="RELATIVISTIC" APPEAR="Relativistic correction order and parametrization (RXXPyy)" KIND="CUSTOM" LEVEL="BASIC">
              %%Keyword: RELAtivistic <basic>
              <HELP>
              Request arbitrary scalar relativistic Douglas-Kroll-Hess (DKH) correction to the one-electron Hamiltonian
              and the so-called picture-change correction to the property integrals (multipole moments
              and electronic potential related properties). An argument of the form RXXPyy follows
              Here XX represents the order of the DKH correction to the one-electron Hamiltonian and
              yy the order of the picture-change correction. The character P denotes the parameterization
              used in the DKH procedure.

              The possible parametrizations P of the unitary transformation used
              in the DKH transformation supported by MOLCAS are:

              (P=O) -- Optimum parametrization (OPT)
              (P=E) -- Exponential parametrization (EXP)
              (P=S) -- Square-root parametrization (SQR)
              (P=M) -- McWeeny parametrization (MCW)
              (P=C) -- Cayley parametrization (CAY)

              Hence, the proper keyword for the 4th order relativistically corrected one-electron
              Hamiltonian and 3rd order relativistically corrected
              property integrals in the EXP parameterization would read as R04E03. If yy is larger than XX it is set to
              XX. If yy is omitted it will default to same value as XX. Recommended orders and parametrization is
              R02O02.
              Since the EXP parameterization employs a fast algorithm, it is
              recommended for high order DKH transformation.
              </HELP>
              </KEYWORD>

:kword:`RLOCal`
  Request local approximation to the relativistic exact decoupling approaches such
  as X2C, BSS and DKH. This option cannot be used together with point group symmetry.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="RLOCAL" APPEAR="Relativistic local approximation" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Rlocal <basic>
              <HELP>
              Request local approximation to the relativistic exact decoupling approaches such
              as X2C, BSS and DKH. This option cannot be used together with point group symmetry.
              </HELP>
              </KEYWORD>

  .. xmldoc:: </GROUP>

:kword:`Grid Input`
  Specification of numerical quadrature parameters, consult the numerical quadrature section of this
  manual.

Additional keywords for property calculations
:::::::::::::::::::::::::::::::::::::::::::::

.. class:: keywordlist

:kword:`VECTors`
  Requests a property calculation. For this purpose a file,
  :file:`INPORB`,
  must be available, which contains the MO's and occupation numbers
  of a wave function. A custom filename can be given with :kword:`FileOrb`.

  .. xmldoc:: <GROUP MODULE="SEWARD" NAME="PROPERTY" APPEAR="Property calculations options" KIND="BOX" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="VECT" APPEAR="Activate property calculation" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Vectors <basic>
              <HELP>
              Requests a property calculation. For this purpose an INPORB file must be available.
              </HELP>
              </KEYWORD>

:kword:`FILEorb`
  The next line specifies the filename containing the orbitals and occupation numbers
  from which the properties will be computed. By default a file named :file:`INPORB`
  will be used.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="FILE" APPEAR="Orbitals file" KIND="STRING" REQUIRE="VECT" LEVEL="BASIC">
              %%Keyword: FileOrb <basic>
              <HELP>
              The next line specifies the filename containing the orbitals and occupation numbers
              from which the properties will be computed. By default a file named INPORB
              will be used.
              </HELP>
              </KEYWORD>

:kword:`ORBCon`
  The keyword will force :program:`SEWARD`
  to produce a list of the orbital
  contributions to the properties being computed. The default is to
  generate a compact list.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="ORBC" APPEAR="List Orbital contributions" KIND="SINGLE" REQUIRE="VECT" LEVEL="ADVANCED">
              %%Keyword: Orbcon <advanced>
              <HELP>
              The keyword will force SEWARD to produce a list of the orbital
              contributions to the properties being computed. The default is to
              generate a compact list.
              </HELP>
              </KEYWORD>

:kword:`THRS`
  The real entry on the following line specifies the threshold for
  the occupation number of an orbital in order for the
  :kword:`OrbCon`
  option to list the contribution of that orbital to a property.
  The default is 1.0d-6.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="THRS" APPEAR="Property threshold" KIND="REAL" REQUIRE="ORBC" DEFAULT_VALUE="1.D-6" LEVEL="ADVANCED">
              <HELP>
              Specify the threshold for the occupation number of a orbital to allow that
              this orbital is included when listing orbital contributions to properties.
              </HELP>
              %%Keyword: Thrs <advanced>
              The real entry on the following line specifies the threshold for
              the occupation number of an orbital in order for the
              keyword "OrbCon" option to list the contribution of that orbital to a
              property. The default is 1.0d-6.
              </KEYWORD>

:kword:`ORBAll`
  When :kword:`OrbCon` is present, the keyword will force
  :program:`SEWARD` to produce a list of the computed properties
  of all orbitals (including unoccupied orbitals), and the
  properties are not weighted by orbital occupation numbers.
  The total electronic and nuclear
  contributions printed are the same as those printed by using
  :kword:`OrbCon` without :kword:`OrbAll`.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="ORBA" APPEAR="List properties of all orbitals" KIND="SINGLE" REQUIRE="ORBC" LEVEL="ADVANCED">
              %%Keyword: OrbAll <advanced>
              <HELP>
              Print computed properties for all orbitals (including unoccupied orbitals),
              and not weighted by orbital occupation numbers.
              </HELP>
              Requires "OrbCon".
              </KEYWORD>

  .. xmldoc:: </GROUP>

Keywords for two-electron integrals
:::::::::::::::::::::::::::::::::::

.. class:: keywordlist

:kword:`NOPAck`
  The two-electron integrals will not be packed. The default is to
  pack the two-electron integrals.

  .. xmldoc:: <GROUP MODULE="SEWARD" NAME="2EL" APPEAR="2-electron integral options" KIND="BOX" LEVEL="BASIC">

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NOPA" APPEAR="Unpacked 2-el. integrals" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: Nopack <advanced>
              <HELP>
              The two-electron integrals will not be packed. The default is to
              pack the two-electron integrals.
              </HELP>
              </KEYWORD>

:kword:`PKTHre`
  An entry specifies the desired accuracy for the packing
  algorithm, the default is 1.0d-14.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="PKTH" APPEAR="Packing threshold" KIND="REAL" DEFAULT_VALUE="1.0D-14" LEVEL="BASIC">
              <HELP>
              Specifies the desired accuracy for the packing algorithm.
              </HELP>
              %%Keyword: Pkthre <advanced>
              An entry specifies the desired accuracy for the packing
              algorithm, the default is 1.0d-14.
              </KEYWORD>

:kword:`THREshold`
  Threshold for writing integrals to disk follows. The default is 1.0d-14.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="THRE" APPEAR="To disk threshold" KIND="REAL" DEFAULT_VALUE="1.0D-14" LEVEL="BASIC">
              <HELP>
              Specify the threshold for writing integrals to disk.
              </HELP>
              %%Keyword: Threshold <advanced>
              Threshold for writing integrals to disk follows. The default is 1.0d-14.
              </KEYWORD>

:kword:`CUTOff`
  Threshold for ignoring the calculation of integrals based on the
  pair prefactor follows. The default is 1.0d-16.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="CUTO" APPEAR="Integral threshold" KIND="REAL" DEFAULT_VALUE="1.0D-16" LEVEL="BASIC">
              <HELP>
              Specify the threshold for ignoring the calculation of integrals based on the pair prefactors.
              </HELP>
              %%Keyword: Cutoff <advanced>
              Threshold for ignoring the calculation of integrals based on the
              pair prefactor follows on the next line. The default is 1.0d-16.
              </KEYWORD>

  .. xmldoc:: </GROUP>

Keywords associated to electron--molecule scattering calculations within the framework of the :math:`R`\-matrix method
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

This section contains keyword which control the radial numerical integration
of the diffuse basis functions describing the scattered electrons in the
variational :math:`R`\-matrix approach. The activation of this option is controlled
by that the center of the diffuse basis is assigned the unique atom label DBAS.

.. class:: keywordlist

:kword:`RMAT`
  Radius of the :math:`R`\-matrix sphere (in bohr). This sphere is centered at the
  coordinate origin. The default is 10 bohr.

  .. xmldoc:: %%Keyword: RMAT <basic>
              Radius of the R-matrix sphere (in bohr). This sphere is centered
              at the coordinate origin. Default value is set to 10 bohr.

:kword:`RMEA`
  Absolute precision in radial integration.
  The default is 1d-9.

  .. xmldoc:: %%Keyword: RMEA <advanced>
              Absolute precision in radial integration for R-matrix calculation.
              The default is 1d-9.

:kword:`RMER`
  Relative precision in radial integration.
  The default is 1d-14.

  .. xmldoc:: %%Keyword: RMER <advanced>
              Relative precision in radial integration for R-matrix calculation.
              The default is 1d-14.

:kword:`RMQC`
  Effective charge of the target molecule.
  This is the effective charge seen by the incident electron outside
  of the :math:`R`\-matrix sphere. The default is 0d0.

  .. xmldoc:: %%Keyword: RMQC <advanced>
              Effective charge of the target molecule for R-matrix calculation.
              This is the effective charge seen by the incident electron outside
              of the R-matrix sphere. The default is 0d0.

:kword:`RMDI`
  Effective dipole of the target molecule.
  This is the effective dipole seen by the incident electron outside
  of the :math:`R`\-matrix sphere. The default is (0d0,0d0,0d0).

  .. xmldoc:: %%Keyword: RMDI <advanced>
              Effective dipole of the target molecule for R-matrix calculation.
              This is the effective dipole seen by the incident electron outside
              of the R-matrix sphere. The default is (0d0,0d0,0d0).

:kword:`RMEQ`
  Minimal value of the effective charge of the target molecule
  to be considered. This is also the
  minimal value of the components of the effective dipole
  to be considered. Default is 1d-8

  .. xmldoc:: %%Keyword: RMEQ <advanced>
              Minimal value of the effective charge of the target molecule
              to be considered in R-matrix calculation. This is also the
              minimal value of the components of the effective dipole
              to be considered in R-matrix calculation. Default is 1d-8.

:kword:`RMBP`
  Parameter used for test purposes in the definition of the
  Bloch term. Default is 0d0.

  .. xmldoc:: %%Keyword: RMBP <advanced>
              Parameter used for test purposes in the definition of the
              Bloch term in R-matrix calculation. Default is 0d0.

:kword:`CELL`
  Defines the three vectors of the unit cell (:math:`\vec{e}_1`, :math:`\vec{e}_2`, :math:`\vec{e}_3`).
  The optional keyword
  *angstrom* before the definition of vectors would read data in Å.
  Must consist of three entries (four in the case of Å) which correspond to coordinates of the vectors. All the atoms which
  are defined after that key are considered as the atoms of the cell.

  .. xmldoc:: %%Keyword: CELL <advanced>
              Defines the three vectors of the unit cell (e1,e2,e3).
              The optional keyword
              angstrom before the definition of vectors would read data in A.
              Must consist of three entries (four in the case of A) which correspond to coordinates of the vectors.
              All the atoms which
              are defined after that key are considered as the atoms of the cell.

:kword:`SPREad`
  Three integer numbers :math:`n_1`, :math:`n_2`, :math:`n_3` which define the spread of the unit cell along the unit cell vectors.
  For example, ``0 0 2`` would add all cell's atoms translated on :math:`-2\vec{e}_3`, :math:`-\vec{e}_3`, :math:`\vec{e}_3`, :math:`2\vec{e}_3`.
  This key must be placed **before** the definition of the unit cell atoms.

  .. xmldoc:: %%Keyword: SPREAD <advanced>
              Three integer numbers n_1, n_2, n_3 which define the spread of the unit cell along the unit cell vectors.
              For example, 0 0 2 would add all cell's atoms translated on -2*e3, -e3, e3, 2*e3.
              This key must be placed before the definition of the unit cell atoms.

Below follows an input for the calculation of integrals of a carbon
atom. The comments in the input gives a brief explanation of the
subsequent keywords.

.. extractfile:: ug/SEWARD.C.input

  &SEWARD
  Title= This is a test deck!
  * Remove integrals from a specific irreps
  Skip= 0 0 0 0 1 1 1 1
  * Requesting only overlap integrals.
  Multipole= 0
  * Request integrals for diamagnetic shielding
  DSHD= 0.0 0.0 0.0; 1; 0.0 0.0 0.0
  * Specify a title card
  * Request only one-electron integrals to be computed
  OneOnly
  * Specify group generators
  Symmetry= X Y Z
  * Enable an inline basis set
  Expert
  * Specify basis sets
  Basis set
  C.ANO-L...6s5p3d2f.
  Contaminant d
  C  0.0 0.0 0.0
  End of basis

The basis set label and the all electron basis set library
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

.. compound::

  The label, which defines the basis set for a given atom or set of atoms,
  is given as input after the
  keyword :kword:`Basis set`. It has the following general
  structure (notice that the last
  character is a period): ::

    atom.type.author.primitive.contracted.aux1.aux2.

  where the different identifiers have the following meaning:

.. class:: whatnotlist

``atom``
  Specification of the atom by its chemical symbol.

``type``
  Gives the type of basis set (ANO, STO, ECP, etc.) according to
  specifications given in the basis set library, *vide supra*.
  Observe that the upper cased character of the type label
  defines the file name in the basis directory.

``author``
  First author in the publication where that basis set appeared.

``primitive``
  Specification of the primitive set (e.g. 14s9p4d3f).

``contracted``
  Specification of the contracted set to be selected. Some basis
  sets allow only one type of contraction, others all types up
  to a maximum. The first basis functions for each angular
  momentum is then used.
  **Note**, for the basis set types ANO and ECP, on-the-fly decontraction of the most
  diffuse functions are performed in case the number of contracted functions specified in this field
  exceeds what formally is specified in the library file.

``aux1``
  Extra field that can be used to identify further variants.
  For an ECP, if the type is not ``ECP``, this field must be ``ECP``.

``aux2``
  Specification of the type of AIMP, for instance, to choose between
  different embedding AIMP's.
  non-relativistic and relativistic core AIMP's.

Only the identifiers ``atom``, ``type``,
and ``contracted`` have to be included in
the label. The others can be left out. However, the periods have to be
kept. Example --- the basis set label
"``C.ano-s...4s3p2d.``"
will by |molcas| be
interpreted as
"``C.ano-s.Pierloot.10s6p3d.4s3p2d.``",
which is the first
basis set in the ANO-S file in the
basis directory that fulfills the specifications given.

More information about basis set format can be found in
the section Advanced examples.

.. index::
   single: Numerical Integration

.. _UG\:sec\:dft:

Numerical integration
---------------------

Various Density Functional Theory (DFT) models can be used in |molcas|.
Energies and analytical gradients are available for all DFT models.
In DFT the exact exchange present in HF theory is replaced by a more general
expression, the exchange-correlation functional, which accounts for both the exchange energy, :math:`E_{\text{X}} [P]`
and the electron correlation energy, :math:`E_{\text{C}} [P]`.

.. _UG\:sec\:df_description:

Description
...........

We shall now describe briefly how the exchange and correlation energy terms look like.
The functionals used in DFT are integrals of some function of the electron density and optionally the gradient
of the electron density

.. math:: E_{\text{X}}[P] = \int f(\rho_{\alpha}(r), \rho_{\beta}(r), \nabla \rho_{\alpha}(r), \nabla \rho_{\beta}(r))\;dr

The various DFT methods differ in which function, :math:`f`, is used for :math:`E_{\text{X}}[P]` and for :math:`E_{\text{C}}[P]`.
In |molcas| pure DFT methods are supported, together with hybrid methods, in which the exchange functional
is a linear combination of the HF exchange and a functional integral of the above form.
The latter are evaluated by numerical quadrature.
In the :program:`SEWARD` input the parameters for the numerical integration can be set up.
In the :program:`SCF` and :program:`RASSCF` inputs the keywords for
using different functionals can be specified.
Names for the various pure DFT models are given by combining the names for the exchange and correlation functionals.

The DFT gradients has been implemented for both the fixed and the moving grid approach :cite:`Johnson:93,Handy:93,Baker:94`.
The latter is known to be translationally invariant by definition and is recommended in geometry optimizations.

.. .. _UG\:sec\:dft_files:

   Files
   .....

   .. class:: filelist

   :file:`RUNFILE`
     The run file will contain the parameters defining and controlling the numerical integration.

Input
.....

Below follows a description of the input to the numerical integration utility in the
:program:`SEWARD` input.

Compulsory keywords

.. class:: keywordlist

:kword:`GRID Input`
  This marks the beginning of the input to the numerical integration utility.

  .. xmldoc:: <GROUP MODULE="SEWARD" NAME="GRIDBLOCK" KIND="BLOCK" APPEAR="Numerical Quadrature Options" LEVEL="ADVANCED">
              %%Keyword: Grid input <basic>
              <HELP>
              Specification of numerical quadrature parameters.
              </HELP>

:kword:`END Of Grid-Input`
  This marks the end of the input to the numerical integration utility.

Optional keywords

.. class:: keywordlist

:kword:`GRID`
  It specifies the quadrature quality.
  The possible indexes that can follow are
  COARSE, SG1GRID, FINE, ULTRAFINE,
  following the Gaussian98 convention.
  Default is FINE.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="GRID" APPEAR="Generic Grids" KIND="CHOICE" LEVEL="ADVANCED" LIST="FINE,COARSE,SG1GRID,ULTRAFINE">
              %%Keyword: Grid (NQ) <advanced>
              <HELP>
              It specifies the quadrature quality.
              The possible indexes that can follow are
              COARSE, SG1GRID, FINE, ULTRAFINE,
              following the Gaussian98 convention.
              Default is FINE.
              </HELP>
              </KEYWORD>

  .. :kword:`GLOBal`
       It activates the use of the global partitioning technique.

       .. .. xmldoc:: %%Keyword: Global <advanced>
                      It activates the use of the global partitioning technique.

:kword:`RQUAd`
  It specifies the radial quadrature scheme.
  Options are LOG3 (Mura and Knowles) :cite:`Mura:96`, BECKE
  (Becke) :cite:`BeckeG:88`, MHL (Murray et al.) :cite:`Murray:93`, TA (Treutler and
  Ahlrichs, defined for :math:`\ce{H}`\--\ :math:`\ce{Kr}`) :cite:`Treutler:95`, and LMG (Lindh et
  al.) :cite:`LMG:01`, respectively. The default is MHL.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="RQUA" APPEAR="Radial grid type" KIND="CHOICE" LEVEL="ADVANCED" LIST="MHL,LOG3,BECKE,TA,LMG">
              %%Keyword: RQuad (NQ) <advanced>
              <HELP>
              It specifies the radial quadrature scheme.
              Options are LOG3 (Mura and Knowles), BECKE (Becke) , MHL (Murray et a.), TA (Treutler and
              Ahlrichs, defined for H-Kr), and LMG (Lindh et al.), respectively. The default is MHL.
              </HELP>
              </KEYWORD>

  .. xmldoc:: <SELECT MODULE="SEWARD" NAME="AGRID" APPEAR="Angular Grid" CONTAINS="LEBEDEV,LOBATTO,GGL" LEVEL="ADVANCED">
              <HELP>
              Specifies the type of angular grid. Options are Gauss-Gauss-Legendre (GGL), Lobatto, and
              Lebedev. Lebedev is the default.
              </HELP>

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="LEBEDEV" APPEAR="Lebedev angular grid" KIND="SINGLE" LEVEL="ADVANCED" EXCLUSIVE="LOBATTO,GGL" />

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="LOBATTO" APPEAR="Lobatto angular grid" KIND="SINGLE" LEVEL="ADVANCED" EXCLUSIVE="LEBEDEV,GGL" />

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="GGL" APPEAR="GGL angular grid" KIND="SINGLE" LEVEL="ADVANCED" EXCLUSIVE="LEBEDEV,LOBATTO" />

  .. xmldoc:: </SELECT>

:kword:`GGL`
  It activates the use of Gauss and Gauss--Legendre angular quadrature.
  Default is to use the Lebedev angular grid.

  .. xmldoc:: %%Keyword: GGL (NQ) <advanced>
              It activates the use of Gauss and Gauss-Legendre angular quadrature.
              Default is to use the Lebedev angular grid.

:kword:`LEBEdev`
  It turns on the Lebedev angular grid.

  .. xmldoc:: %%Keyword: Lebedev (NQ) <advanced>
              It turns on the Lebedev angular grid.

:kword:`LOBAtto`
  It activates the use of Lobatto angular quadrature.
  Default is to use the Lebedev angular grid.

  .. xmldoc:: %%Keyword: Lobatto (NQ) <advanced>
              It activates the use of Lobatto angular quadrature.
              Default is to use the Lebedev angular grid.

:kword:`LMAX`
  It specifies the angular grid size. Default is 29.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="LMAX" APPEAR="Angular Grid Size" KIND="INT" DEFAULT_VALUE="29" LEVEL="ADVANCED">
              %%Keyword: LMax (NQ) <advanced>
              <HELP>
              Specifies the highest order of a real spherical harmonic which the angular grid will integrate exact. Default is 29.
              </HELP>
              </KEYWORD>

:kword:`NGRId`
  It specifies the maximum number of grid points to process at one instance.
  Default is 128 grid points.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NGRI" APPEAR="Batch size" KIND="INT" DEFAULT_VALUE="128" LEVEL="ADVANCED">
              %%Keyword: nGrid (NQ) <advanced>
              <HELP>
              It specifies the maximum number of grid points to process at one instance.
              Default is 128 grid points.
              </HELP>
              </KEYWORD>

:kword:`NOPRuning`
  It turns off the the angular pruning. Default is to prune.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NOPR" APPEAR="No Pruning of Grid" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Nopruning (NQ) <advanced>
              <HELP>
              It turns off the the angular pruning. Default is to prune.
              </HELP>
              </KEYWORD>

:kword:`NR`
  It is followed by the number of radial grid points. Default is 75 radial grid points.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NR" APPEAR="Radial Grid Size" KIND="INT" DEFAULT_VALUE="75" LEVEL="ADVANCED">
              %%Keyword: nR (NQ) <advanced>
              <HELP>
              It is followed by the number of radial grid points. Default is 75 radial grid points.
              </HELP>
              </KEYWORD>

:kword:`NQDIrect`
  Recompute the values of the AOs on every SCF iteration. Default is to write them on disk on the
  first iteration and then retrieve them.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NQDI" APPEAR="Direct evaluation of AOs" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: NQDirect (NQ) <advanced>
              <HELP>
              Recompute the values of the AOs on every SCF iteration. Default is to write them on disk on the
              first iteration and then retrieve them.
              </HELP>
              </KEYWORD>

  .. :kword:`WHOLe`
       It activates the use of routines which scan the whole atomic grid for
       each sub block. Default is to only scan the relevant part.

  ..   .. xmldoc:: %%Keyword: Whole (NQ) <advanced>
                   It activates the use of routines which scan the whole atomic grid for
                   each sub block. Default is to only scan the relevant part.

:kword:`FIXEd grid`
  Use a fixed grid in the evaluation of the gradient. This corresponds to
  using the grid to numerically evaluate the analytic gradient expression.
  Default is to use a moving grid.

  .. xmldoc:: <SELECT MODULE="SEWARD" NAME="GRID_TYPE" APPEAR="Grid type" CONTAINS="MOVING,FIXED" LEVEL="ADVANCED">
              <HELP>
              Specify if the grid should be fixed or moving. A moving grid is default.
              </HELP>

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="FIXE" APPEAR="Fixed grid" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Fixed Grid (NQ) <advanced>
              <HELP>
              Use a fixed grid in the evaluation of the gradient. This corresponds to
              using the grid to numerically evaluate the analytic gradient expression.
              Default is to use a moving grid.
              </HELP>
              </KEYWORD>

:kword:`MOVIng grid`
  Use a moving grid in the evaluation of the gradient. This correspond to
  evaluating the gradient of the numerical expression of the DFT energy. This is the default.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="MOVI" APPEAR="Moving grid" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: Moving grid (NQ) <advanced>
              <HELP>
              Use a moving grid in the evaluation of the gradient. This correspond to
              evaluating the gradient of the numerical expression of the DFT energy. This is the default.
              </HELP>
              </KEYWORD>

  .. xmldoc:: </SELECT>

:kword:`RTHReshold`
  It is followed by the value for the the radial threshold.
  Default value is 1.0D-13.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="RTHR" APPEAR="Radial Grid Threshold" KIND="REAL" DEFAULT_VALUE="1.0D-13" LEVEL="ADVANCED">
              %%Keyword: RThreshold (NQ) <advanced>
              <HELP>
              Follows the value for the the radial threshold.
              Default value is 1.0D-13.
              </HELP>
              </KEYWORD>

:kword:`T_Y`
  Threshold for screening in the assembling of the integrals.
  Note that in the SCF module the value is optionally adjusted to be the lower of the input or
  a value one magnitude tighter than the energy threshold.
  Default value is 1.0D-11.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="T_Y" KIND="REAL" DEFAULT_VALUE="1.0D-11" LEVEL="ADVANCED">
              %%Keyword: T_Y (NQ) <advanced>
              <HELP>
              Threshold for screening in the assembling of the integrals.
              Note that in the SCF module the value is optionally adjusted to be the lower of the input or
              a value one magnitude tighter than the energy threshold.
              Default value is 1.0D-11.
              </HELP>
              </KEYWORD>

:kword:`NOSCreening`
  Turn off any screening in the numerical integration.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NOSC" APPEAR="NoScreening" KIND="SINGLE" LEVEL="ADVANCED">
              %%Keyword: NOSCreening (NQ) <basic>
              <HELP>
              Turn off any screening in the numerical integration.
              </HELP>
              </KEYWORD>

:kword:`CROWding`
  The crowding factor, according to MHL, used in the pruning of the angular
  grid close to the nuclei. Default value 3.0.

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="CROW" APPEAR="CROWDING" KIND="REAL" DEFAULT_VALUE="3.0" LEVEL="ADVANCED">
              %%Keyword: CROWding (NQ) <basic>
              <HELP>
              The crowding factor, according to MHL, used in the pruning of the angular
              grid close to the nuclei. Default value 3.0.
              </HELP>
              </KEYWORD>

  .. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NORO" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

  .. xmldoc:: </GROUP>

The :program:`SCF` and :program:`RASSCF` programs have
their own keywords to decide which functionals to use in a DFT calculation.

Below follows an example of a DFT calculation with two different functionals.

.. extractfile:: ug/DFT.H.input

  &GATEWAY
  Basis set
  H.3-21G.....
  H1 0.0  0.0 0.0
  End of basis

  &SEWARD
  Grid input
   RQuad= Log3; nGrid= 50000; GGL; lMax= 26; Global
  End of Grid Input

  &SCF; Occupations=1; KSDFT=LDA5; Iterations= 1 1

  &SCF; Occupations= 1; KSDFT=B3LYP; Iterations= 1 1

Relativistic operators
----------------------

The current different implementation of all relativistic operators in |molcas| as
described in the following sections has been programmed and tested in
Ref. :cite:`R2C_review`

Using the Douglas--Kroll--Hess Hamiltonian
..........................................

For all-electron calculations, the preferred way is to use the scalar-relativistic
Douglas--Kroll--Hess (DKH) Hamiltonian, which, in principle, is available up to arbitrary
order in Molcas; for actual calculations, however,
the standard 2nd order is usually fine, but one may use a higher order than 8th order
by default to be on the safe side.

.. compound::

  The arbitrary-order Hamiltonian is activated by setting ::

    RXXPyy

  somewhere in the :program:`SEWARD` input, where
  the ``XX`` denotes the order of the DKH Hamiltonian in the external potential.
  I.e., for the standard 2nd-order Hamiltonian you may use ``R02O``.
  Note
  in particular that the parametrization ``P`` does not affect the Hamiltonian up to
  fourth order. Therefore, as long as you run calculations with DKH Hamiltonians below
  5th order you may use any symbol for the parametrization as they would all yield the
  same results.

The possible parametrizations ``P`` of the unitary transformation used
in the DKH transformation supported by |molcas| are:

.. container:: list

  ``P=O``: Optimum parametrization (OPT)

  ``P=E``: Exponential parametrization (EXP)

  ``P=S``: Square-root parametrization (SQR)

  ``P=M``: McWeeny parametrization (MCW)

  ``P=C``: Cayley parametrization (CAY)

Up to fourth order (``XX``\=04) the DKH Hamiltonian is independent of the chosen
parametrization.
Higher-order DKH Hamiltonians depend slightly on the chosen parametrization of the unitary
transformations applied in order to decouple the Dirac Hamiltonian.
Since the EXP parameterization employs a fast algorithm :cite:`DKH_polynomial`, it is recommended
for high-order DKH transformation.

For details on the arbitrary-order DKH Hamiltonians see :cite:`DKH_Theory` with respect to theory,
:cite:`DKH_Implementation` with respect to aspects of implementation, and
:cite:`DKH_Principles` with respect to general principles of DKH.
The current version of |molcas| employs different algorithms,
but the polynomial cost scheme of the DKH implementation as described in :cite:`DKH_polynomial` is
used as the default algorithm. The implementation in MOLCAS has been presented in :cite:`R2C_review`.

For details on the different parametrizations of the unitary transformations see :cite:`DKH_Parameterization`.

Douglas--Kroll--Hess transformed properties
...........................................

As mentioned above, four-component molecular property operators need to be DKH
transformed as well when going from a four-component to a two- or one-component description;
the results do not coincide with the well-known corresponding nonrelativistic expressions
for a given property but are properly picture change corrected.

.. compound::

  The transformation of electric-field-like molecular property operators can be carried
  out for any order smaller or equal to the order chosen for the scalar-relativistic DKH Hamiltonian.
  In order to change the default transformation of order 2, you may concatenate the
  input for the DKH Hamiltonian by 2 more numbers specifying the order in the property, ::

    RxxPyy

  where ``yy`` denotes the order of the Hamiltonian starting with first order 01.
  The DKH transformation is then done automatically for all one-electron electric-field-like
  one-electron property matrices.

Also note that the current implementation of both the Hamiltonian and the property
operators is carried out in the full, completely decontracted basis set of the
molecule under consideration. The local nature of the relativistic contributions is not
yet exploited and hence large molecules may require considerable computing time for
all higher-order DKH transformations.

For details on the arbitrary-order DKH properties see :cite:`DKH_Theory2` with respect to theory
and :cite:`DKH_Implementation2,R2C_review` with respect to implementation aspects.

Using the X2C/Barysz--Sadlej--Snijders Hamiltonian
..................................................

Exact decoupling of the relativistic Dirac Hamiltonian can be achieved with infinite-order
approaches, such as the so-called X2C (exact-two-component) and BSS (Barysz--Sadlej--Snijders)
method. In Molcas, both methods are available for all-electron calculations. The
evaluation of transformation matrices employs a non-iterative scheme.

.. which is superior to the iterative scheme in convergence behavior and computational cost.

The exact decoupling Hamiltonian is activated by setting either ``RX2C`` or ``RBSS``
somewhere in the :program:`SEWARD` input, where ``RX2C`` and ``RBSS`` denote using the
scalar (one-component) X2C and BSS Hamiltonian respectively. The one-electron Hamiltonian
as well as the property integrals will be transformed according to the given exact decoupling method.
In other words, all property integrals are by default picture change corrected.

The computation time of the X2C/BSS method is almost the same as of the DKH method at 8th order,
while X2C is a little bit faster than BSS since the additional free-particle Foldy--Wouthuysen
transformation is skipped in the X2C approach :cite:`R2C_review`. For molecules including only light atoms,
the DKH method with low orders (< 8) is enough to account for the relativistic effects.

.. As for heavy
   elements containing molecules, DKH with low orders is not accurate enough while DKH with high
   orders is computational expensive, the X2C method is then recommended in this case.

The differences between different exact decoupling relativistic methods are very small compared
to errors introduced by other approximations, such as the basis set incompleteness, approximate
density functionals, etc. Therefore, any exact decoupling model is acceptable for the
treatment of relativistic effects in molecular calculations.

For details on the exact decoupling approaches see :cite:`R2C_review` with respect to theories and
comparison of numerical results, :cite:`X2C_kut05jcp,X2C_liu06jcp,X2C_pen07jcp` for the X2C method, and
:cite:`BSS_bar97ijqc,BSS_ked07cpl` for the BSS method.

Local approximation to relativistic decoupling
..............................................

The computational cost for relativistic transformations increases rapidly if the molecule becomes
larger. The local DLU scheme :cite:`DLU_Theory` was proposed to reduce the computational cost
based on the atomic decomposition of the (unitary) decoupling transformation. It is important to note that
the DLU scheme can be applied to any kind of relativistic approaches mentioned above (i.e., DKH, BSS, and X2C). It was found :cite:`DLU_Theory`
that the DLU approximation introduces very small errors for total energies, which are less than
0.01 milli-hartree for molecules including heavy atoms.
The local approximation is activated by setting :kword:`RLOCal` somewhere in the :program:`SEWARD` input.

The direct local approximation to the Hamiltonian, called DLH in Ref. :cite:`DLU_Theory` may be activated by setting ``RLOCal=DLH``.
However, as DLH is not superior to the DLU scheme, but introduces slightly larger errors, it is not recommended.

The picture-change effect for molecular properties is automatically taken care of when a local approximation is employed for the transformed
operator. The default order of DKH transformed properties is set to the same as the order of the DKH Hamiltonian.

It is important to note the local approximation cannot be used together with point group symmetry
in the current implementation. Because the relativistic transformation is applied in the molecular
orbital (MO) representation instead of the atomic orbital (AO) representation. Thus, the program will
report an error and exit if symmetry is used.

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="FOOC" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="UNCONTRACTED" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NEMO" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="CLIGHT" KIND="REAL" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="PAMFI" KIND="INT" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="NOCHOLESKY" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <KEYWORD MODULE="SEWARD" NAME="PRINT" KIND="INTS_COMPUTED" SIZE="2" LEVEL="UNDOCUMENTED" />

.. xmldoc:: <GROUP MODULE="SEWARD" NAME="CHOINPUT" KIND="BLOCK" LEVEL="UNDOCUMENTED">
            <KEYWORD MODULE="SEWARD" NAME="THRC" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="PRIN" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="BUFF" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="THRD" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="DMP1" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="DMP2" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="SPAN" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="MINQ" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="MAXQ" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="SCRE" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="QUAL" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="THRN" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="WARN" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="TOON" KIND="REAL" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="NOAB" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="IOVE" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="FRAC" KIND="INTS" SIZE="2" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="PARA" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="1-CE" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="ONES" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="ADDR" KIND="INT" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="RSTD" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="RSTC" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="REOR" KIND="SINGLE" LEVEL="UNDOCUMENTED" />
            <KEYWORD MODULE="SEWARD" NAME="CHOM" KIND="INT" LEVEL="UNDOCUMENTED" />
            </GROUP>

.. xmldoc:: </MODULE>