File: motra.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 (369 lines) | stat: -rw-r--r-- 14,469 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
.. index::
   single: Program; MOTRA
   single: MOTRA

.. _UG\:sec\:motra:

:program:`motra`
================

.. only:: html

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

.. xmldoc:: <MODULE NAME="MOTRA">
            %%Description:
            <HELP>
            This program transforms one- and two-electron integrals from AO
            basis to MO basis. The integrals that are transformed are the
            one-electron Hamiltonian and the two-electron repulsion integrals.
            </HELP>

The program
:program:`MOTRA` is used to transform one- and two-electron
integrals from AO to MO basis. It reads the
one-electron file and the file of ordered
and symmetry blocked two-electron integrals generated by
:program:`SEWARD`.

The two-electron integral transformation is performed
one symmetry block at a time, as a series of four
sequential one-index transformations. The process
includes a sorting of the half transformed integrals
prior to the second half transformation. This step is
performed in core if there is space enough of memory
available to keep one symmetry block of integrals.
Otherwise the half transformed integrals are written
out on an temporary file. The result of the transformation
is two files, :file:`TRAONE` and :file:`TRAINT` which
contain the transformed one- and two-electron integrals, respectively.

The one-electron transformation is performed for the
kinetic integrals and the bare nuclei Hamiltonian. If there
are frozen orbitals :program:`MOTRA` replaces the bare nuclei
Hamiltonian by an effective Fock operator, which incorporates
the interaction between the frozen (core) electrons and the
remaining electrons. In practice this means that in any
subsequent calculation (for example :program:`MRCI`,
:program:`CPF` or :program:`MBPT`) the effect of the frozen
orbitals is incorporated into the one-electron Hamiltonian,
and these orbitals need not be explicitly accounted for. The
total energy of the frozen electrons is added to the
nuclear--nuclear repulsion energy and transferred from
:program:`MOTRA` to the subsequent program(s).

The two-electron transformation is performed from the list of ordered
integrals generated by
:program:`SEWARD` (file :file:`ORDINT`).

.. _UG\:sec\:motra_dependencies:

Dependencies
------------

To run the program :program:`MOTRA` successfully the one-
and two-electron integrals are needed. In addition, a
set of MO coefficients must be available. The latter may
be obtained by any wave function optimization program.

.. _UG\:sec\:motra_files:

Files
-----

Input files
...........

The following is a list of input files

.. class:: filelist

:file:`ONEINT`
  One-electron integral file generated by :program:`SEWARD`.

:file:`ORDINT*`
  Ordered two-electron integrals generated by :program:`SEWARD`.

:file:`INPORB`
  If MO's are read in formatted form.

:file:`JOBIPH`
  If molecular orbitals are read from a :program:`RASSCF` interface.

In general, input orbitals are supplied in the form of
a formatted ASCII file, but can also be taken directly from
the binary interface file, :file:`JOBIPH`, created by the
:program:`RASSCF` program. The selection in controlled by
input options.

Output files
............

The program :program:`MOTRA`
creates two files: The first carries all basic information
and a list of transformed one-electron integrals. The second
file includes the transformed two-electron integrals.

The following is a list of output files

.. class:: filelist

:file:`TRAONE`
  Auxiliary data and transformed one-electron integrals.

:file:`TRAINT*`
  Transformed two-electron integrals.

.. Intermediate files
   ..................

   :program:`MOTRA` generates one intermediate file with half
   transformed one-electron integrals,
   :file:`LUHALF`. It is scratched at the end of the run.
   This file can be large in calculations with extended basis sets.
   It is used to store one symmetry block of integrals at a time.

   The following is a list of local files

   .. class:: filelist

   :file:`LUHALF*`
     Auxiliary data and transformed one-electron integrals.

.. _UG\:sec\:motra_input:

Input
-----

This section describes the input to the :program:`MOTRA` program in the |molcas| program system.
The input for each module is preceded by its name like: ::

  &MOTRA

Compulsory keywords
...................

The following keywords are compulsory.

.. class:: keywordlist

:kword:`LUMOrb`
  Specifies that the molecular orbitals are read from a formatted file
  produced by one of the wave function generating programs.
  **Note** that either of :kword:`Lumorb` or :kword:`Jobiph` should be
  specified. LUMORB is the default keyword.
  No additional input is required.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="LUMORB" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: LUMOrb <basic>
              <HELP>
              Specifies that the molecular orbitals are read from a formatted file
              produced by one of the wave function generating programs (default).
              </HELP>
              No additional input is required.
              NOTE: Either of keywords LUMORB or JOBIPH should be specified
              LUMORB is the default option.
              </KEYWORD>

:kword:`JOBIph`
  Specifies that the molecular orbitals are read from a :program:`RASSCF` job
  interface file. :program:`MOTRA` will in this case read the average orbitals.
  No additional input is required.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="JOBIPH" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: JOBIph <basic>
              <HELP>
              Specifies that the molecular orbitals are read from the job
              interface file, called JOBIPH, produced by the RASSCF program.
              MOTRA will in this case read the average orbitals.
              </HELP>
              </KEYWORD>

When natural orbitals from a RASSCF (or a state averaged CASSCF)
calculation are to be used in
:program:`MOTRA`, they can be produced, or extracted from an existing
:file:`JOBIPH` file, by :program:`RASSCF`, using keyword :kword:`OUTOrbitals`.

Optional keywords
.................

There are a few useful optional keywords that can be specified.
The following is a list

.. class:: keywordlist

:kword:`AUTO`
  This keyword specified automatic deletion of orbitals based on
  occupation numbers. The following line contain one
  threshold per symmetry, and all orbitals with occupation
  numbers smaller that the threshold will be deleted.
  If :kword:`AUTO` and :kword:`DELEte` are both specified,
  the larger number will be used.

  .. xmldoc:: %%Keyword: AUTO <basic>
              This keyword specified automatic deletion of orbitals based on
              occupation numbers. The following line contain one
              threshold per symmetry, and all orbitals with occupation
              numbers smaller that the threshold will be deleted.
              NOTE: If the keywords AUTO and DELEte are both specified,
              the larger number will be used.

:kword:`DELEted`
  Specifies the number of virtual orbitals that are not to be used as
  correlating orbitals in the subsequent CI calculation. The last
  orbitals in each symmetry are deleted. The default is no deleted
  orbitals.
  One additional line with the number of deleted orbitals in each
  symmetry (free format).

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="DELETE" APPEAR="delete orbitals" LEVEL="BASIC" KIND="INTS_LOOKUP" SIZE="NSYM">
              %%Keyword: DELEted <basic>
              <HELP>
              Specifies the number of virtual orbitals that are not to be used as
              correlating orbitals in subsequent correlation calculation(s). The
              default is no deleted orbitals.
              </HELP>
              The keyword requires one additional line of input with the number
              of deleted orbitals in each symmetry.
              NOTE: The deleted orbitals are the last orbitals in each symmetry block.
              </KEYWORD>

:kword:`FROZen`
  Specifies the number of doubly occupied orbitals that are left
  uncorrelated in subsequent correlation calculation(s). Additional orbitals can
  be frozen in these programs, but from an efficiency point of view it
  is preferable to freeze orbitals in the transformation.
  One additional line with the number of frozen
  orbitals in each symmetry (free format). For more details on freezing
  orbitals in :program:`MOTRA` see the program description. The frozen
  orbitals are the first in each symmetry block.
  Default is to freeze the core (but not semi-core) orbitals.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="FROZEN" APPEAR="frozen orbitals" LEVEL="BASIC" KIND="INTS_LOOKUP" SIZE="NSYM">
              %%Keyword: FROZen <basic>
              <HELP>
              Specifies the number of doubly occupied orbitals that are left
              uncorrelated in subsequent correlation calculation(s).
              </HELP>
              The keyword requires one additional line of input with the number
              of frozen orbitals in each symmetry (free format).
              NOTE: The frozen orbitals are the first in each symmetry block.
              Default is to freeze the core (but not semi-core) orbitals.
              </KEYWORD>

:kword:`ONEL`
  Specifies that only one-electron integrals are to be transformed.
  No additional input is required.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="ONEL" APPEAR="one-el transf." LEVEL="BASIC" KIND="SINGLE">
              %%Keyword: ONEL <basic>
              <HELP>
              Specifies that only one-electron integrals are to be transformed.
              </HELP>
              No additional input is required.
              </KEYWORD>

:kword:`PRINt`
  Specifies the print level in the program. The default (1) does not
  print the orbitals that are used in the transformation, but they
  appear at print level 2. Beware of large print levels since vast amounts
  of output may be produced. The value is read from the line after the
  keyword, in free format.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="PRINT" APPEAR="print level" LEVEL="ADVANCED" KIND="INT">
              %%Keyword: PRINt <basic>
              <HELP>
              Specifies the print level in the program. The default (1) does not
              print the orbitals that are used in the transformation, but they
              appear at print level 2.
              </HELP>
              Beware of large print levels since vast amounts
              of output may be produced. The value is read from the line after the
              keyword, in free format.
              </KEYWORD>

:kword:`RFPErt`
  Add a constant reaction field perturbation to the bare nuclei Hamiltonian.
  The perturbation is read from the file :file:`RUNOLD` (if not present defaults to :file:`RUNFILE`) and
  is the latest self consistent perturbation generated
  by one of the programs :program:`SCF` or :program:`RASSCF`.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="RFPERT" APPEAR="reaction field" LEVEL="ADVANCED" KIND="SINGLE">
              %%Keyword: RFPErt <basic>
              <HELP>
              Add a constant reaction field perturbation to the bare nuclei Hamiltonian.
              The perturbation is read from the file RUNOLD (if not present defaults to RUNFILE) and
              is the latest self consistent perturbation generated
              by one of the programs SCF or RASSCF.
              </HELP>
              </KEYWORD>

:kword:`CTONly`
  Specifies that Cholesky vectors are to be transformed without subsequent calculation of the two-el integrals.
  It requires as input one of the two following strings: "pqK" or "Kpq", which indicate the storage format as
  L(pq,K) or L(K,pq), respectively. The former is the default option. Transformed vectors are stored in the files :file:`_CHMOT`,
  one for each compound symmetry.
  Available only in combination with Cholesky or RI integral representation.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="CTON" APPEAR="Cholesky vectors transf." LEVEL="BASIC" KIND="STRING">
              %%Keyword: CTON <basic>
              <HELP>
              Specifies that Cholesky vectors are to be transformed without subsequent calculation of the two-el integrals.
              It requires as input one of the two following strings: "pqK" or "Kpq", which indicate the storage format as
              L(pq,K) or L(K,pq), respectively. The former is the default option. Transformed vectors are stored in the files _CHMOT,
              one for each compound symmetry.
              Available only in combination with Cholesky or RI integral representation.
              </HELP>
              </KEYWORD>

:kword:`DIAGonal integrals`
  Activates the evaluation of the diagonal integrals in MO basis. Requires the keyword CTONly.
  The file :file:`DIAGINT` is generated which contains these integrals.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="DIAG" KIND="STRING" LEVEL="BASIC">
              %%Keyword: DIAG <basic>
              <HELP>
              Activates the evaluation of the diagonal integrals in MO basis. Requires the keyword CTONly.
              The file DIAGINT is generated which contains these integrals.
              </HELP>
              </KEYWORD>

:kword:`NOORtho`
  Skips the orthogonalization of the molecular orbitals. This should only be used when preparing the
  two-electron integrals for a non-orthogonal configuration interaction calculation.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="NOOR" KIND="SINGLE" LEVEL="BASIC">
              %%Keyword: NOOR <basic>
              <HELP>
              Skips the orthogonalization of the molecular orbitals. This should only be used when preparing
              the two-electron integrals for a non-orthogonal configuration interaction calculation.
              </HELP>
              </KEYWORD>

:kword:`TITLe`
  This keyword should be followed by exactly one title line.

  .. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="TITLE" KIND="STRING" LEVEL="BASIC">
              %%Keyword: Title <basic>
              <HELP>
              Print a title line
              </HELP>
              This keyword should be followed by exactly one title line.
              </KEYWORD>

Input example
.............

::

  &MOTRA
  Title  =  Water molecule.
  * Don't correlate 1s on oxygen
  Frozen =  1 0 0 0
  Lumorb

.. xmldoc:: <KEYWORD MODULE="MOTRA" NAME="HDF5" KIND="SINGLE" LEVEL="UNDOCUMENTED" />

.. xmldoc:: </MODULE>